[cairo-commit] 2 commits - boilerplate/cairo-boilerplate-test-surfaces.c boilerplate/cairo-boilerplate-xcb.c boilerplate/cairo-boilerplate-xlib.c test/Makefile.refs test/reference

Chris Wilson ickle at kemper.freedesktop.org
Fri Sep 16 03:52:23 PDT 2011


 boilerplate/cairo-boilerplate-test-surfaces.c                                 |    2 
 boilerplate/cairo-boilerplate-xcb.c                                           |    8 
 boilerplate/cairo-boilerplate-xlib.c                                          |    6 
 dev/null                                                                      |binary
 test/Makefile.refs                                                            |  886 ++++++++--
 test/reference/a1-bug.traps.argb32.ref.png                                    |binary
 test/reference/a1-bug.traps.rgb24.ref.png                                     |binary
 test/reference/a1-clip-fill-equal.traps.argb32.ref.png                        |binary
 test/reference/a1-clip-fill-equal.traps.rgb24.ref.png                         |binary
 test/reference/a1-clip-fill-rule.traps.argb32.ref.png                         |binary
 test/reference/a1-clip-fill-rule.traps.rgb24.ref.png                          |binary
 test/reference/a1-clip-fill.traps.argb32.ref.png                              |binary
 test/reference/a1-clip-fill.traps.rgb24.ref.png                               |binary
 test/reference/a1-clip-paint.traps.argb32.ref.png                             |binary
 test/reference/a1-clip-paint.traps.rgb24.ref.png                              |binary
 test/reference/a1-clip-stroke.traps.argb32.ref.png                            |binary
 test/reference/a1-clip-stroke.traps.rgb24.ref.png                             |binary
 test/reference/a1-image-sample.traps.argb32.ref.png                           |binary
 test/reference/a1-image-sample.traps.rgb24.ref.png                            |binary
 test/reference/a1-line-width.traps.argb32.ref.png                             |binary
 test/reference/a1-line-width.traps.rgb24.ref.png                              |binary
 test/reference/a1-mask-sample.traps.argb32.ref.png                            |binary
 test/reference/a1-mask-sample.traps.rgb24.ref.png                             |binary
 test/reference/a1-mask.traps.argb32.ref.png                                   |binary
 test/reference/a1-mask.traps.rgb24.ref.png                                    |binary
 test/reference/a1-rasterisation-rectangles.traps.argb32.ref.png               |binary
 test/reference/a1-rasterisation-rectangles.traps.rgb24.ref.png                |binary
 test/reference/a1-rasterisation-triangles.traps.argb32.ref.png                |binary
 test/reference/a1-rasterisation-triangles.traps.rgb24.ref.png                 |binary
 test/reference/a1-rectilinear-grid.traps.argb32.ref.png                       |binary
 test/reference/a1-rectilinear-grid.traps.rgb24.ref.png                        |binary
 test/reference/a1-sample.traps.argb32.ref.png                                 |binary
 test/reference/a1-sample.traps.rgb24.ref.png                                  |binary
 test/reference/a1-tiger.traps.argb32.ref.png                                  |binary
 test/reference/a1-tiger.traps.rgb24.ref.png                                   |binary
 test/reference/a1-traps-sample.traps.argb32.ref.png                           |binary
 test/reference/a1-traps-sample.traps.rgb24.ref.png                            |binary
 test/reference/a8-clear.traps.argb32.ref.png                                  |binary
 test/reference/a8-clear.traps.rgb24.ref.png                                   |binary
 test/reference/a8-mask.traps.argb32.ref.png                                   |binary
 test/reference/a8-mask.traps.rgb24.ref.png                                    |binary
 test/reference/aliasing.traps.argb32.ref.png                                  |binary
 test/reference/aliasing.traps.rgb24.ref.png                                   |binary
 test/reference/alpha-similar.traps.argb32.ref.png                             |binary
 test/reference/alpha-similar.traps.rgb24.ref.png                              |binary
 test/reference/api-special-cases.traps.argb32.ref.png                         |binary
 test/reference/api-special-cases.traps.rgb24.ref.png                          |binary
 test/reference/arc-infinite-loop.traps.argb32.ref.png                         |binary
 test/reference/arc-infinite-loop.traps.rgb24.ref.png                          |binary
 test/reference/arc-looping-dash.traps.argb32.ref.png                          |binary
 test/reference/arc-looping-dash.traps.rgb24.ref.png                           |binary
 test/reference/big-empty-box.traps.argb32.ref.png                             |binary
 test/reference/big-empty-box.traps.rgb24.ref.png                              |binary
 test/reference/big-empty-triangle.traps.argb32.ref.png                        |binary
 test/reference/big-empty-triangle.traps.rgb24.ref.png                         |binary
 test/reference/big-line.traps.argb32.ref.png                                  |binary
 test/reference/big-line.traps.rgb24.ref.png                                   |binary
 test/reference/big-little-box.traps.argb32.ref.png                            |binary
 test/reference/big-little-box.traps.rgb24.ref.png                             |binary
 test/reference/big-little-triangle.traps.argb32.ref.png                       |binary
 test/reference/big-little-triangle.traps.rgb24.ref.png                        |binary
 test/reference/big-trap.traps.argb32.ref.png                                  |binary
 test/reference/big-trap.traps.rgb24.ref.png                                   |binary
 test/reference/bilevel-image.traps.argb32.ref.png                             |binary
 test/reference/bilevel-image.traps.rgb24.ref.png                              |binary
 test/reference/bitmap-font.traps.argb32.ref.png                               |binary
 test/reference/bitmap-font.traps.rgb24.ref.png                                |binary
 test/reference/bug-40410.traps.argb32.ref.png                                 |binary
 test/reference/bug-40410.traps.rgb24.ref.png                                  |binary
 test/reference/bug-bo-rectangular.traps.argb32.ref.png                        |binary
 test/reference/bug-bo-rectangular.traps.rgb24.ref.png                         |binary
 test/reference/bug-extents.traps.argb32.ref.png                               |binary
 test/reference/bug-extents.traps.rgb24.ref.png                                |binary
 test/reference/bug-seams.traps.argb32.ref.png                                 |binary
 test/reference/bug-seams.traps.rgb24.ref.png                                  |binary
 test/reference/caps-joins-alpha.traps.argb32.ref.png                          |binary
 test/reference/caps-joins-alpha.traps.rgb24.ref.png                           |binary
 test/reference/caps-joins-curve.traps.argb32.ref.png                          |binary
 test/reference/caps-joins-curve.traps.rgb24.ref.png                           |binary
 test/reference/caps-joins.traps.argb32.ref.png                                |binary
 test/reference/caps-joins.traps.rgb24.ref.png                                 |binary
 test/reference/caps-sub-paths.traps.argb32.ref.png                            |binary
 test/reference/caps-sub-paths.traps.rgb24.ref.png                             |binary
 test/reference/caps-tails-curve.traps.argb32.ref.png                          |binary
 test/reference/caps-tails-curve.traps.rgb24.ref.png                           |binary
 test/reference/caps.traps.argb32.ref.png                                      |binary
 test/reference/caps.traps.rgb24.ref.png                                       |binary
 test/reference/checkerboard.traps.argb32.ref.png                              |binary
 test/reference/checkerboard.traps.rgb24.ref.png                               |binary
 test/reference/clear-source.traps.argb32.ref.png                              |binary
 test/reference/clear-source.traps.rgb24.ref.png                               |binary
 test/reference/clear.traps.argb32.ref.png                                     |binary
 test/reference/clear.traps.rgb24.ref.png                                      |binary
 test/reference/clip-all.traps.argb32.ref.png                                  |binary
 test/reference/clip-all.traps.rgb24.ref.png                                   |binary
 test/reference/clip-complex-shape-eo-aa.traps.argb32.ref.png                  |binary
 test/reference/clip-complex-shape-eo-aa.traps.rgb24.ref.png                   |binary
 test/reference/clip-complex-shape-eo-mono.traps.argb32.ref.png                |binary
 test/reference/clip-complex-shape-eo-mono.traps.rgb24.ref.png                 |binary
 test/reference/clip-contexts.traps.argb32.ref.png                             |binary
 test/reference/clip-contexts.traps.rgb24.ref.png                              |binary
 test/reference/clip-device-offset.traps.argb32.ref.png                        |binary
 test/reference/clip-device-offset.traps.rgb24.ref.png                         |binary
 test/reference/clip-disjoint-hatching.traps.argb32.ref.png                    |binary
 test/reference/clip-disjoint-hatching.traps.rgb24.ref.png                     |binary
 test/reference/clip-disjoint.traps.argb32.ref.png                             |binary
 test/reference/clip-disjoint.traps.rgb24.ref.png                              |binary
 test/reference/clip-empty-group.traps.argb32.ref.png                          |binary
 test/reference/clip-empty-group.traps.rgb24.ref.png                           |binary
 test/reference/clip-empty-save.traps.argb32.ref.png                           |binary
 test/reference/clip-empty-save.traps.rgb24.ref.png                            |binary
 test/reference/clip-empty.traps.argb32.ref.png                                |binary
 test/reference/clip-empty.traps.rgb24.ref.png                                 |binary
 test/reference/clip-fill-eo-unbounded.traps.argb32.ref.png                    |binary
 test/reference/clip-fill-no-op.traps.argb32.ref.png                           |binary
 test/reference/clip-fill-no-op.traps.rgb24.ref.png                            |binary
 test/reference/clip-fill-nz-unbounded.traps.argb32.ref.png                    |binary
 test/reference/clip-fill-rule-pixel-aligned.traps.argb32.ref.png              |binary
 test/reference/clip-fill-rule-pixel-aligned.traps.rgb24.ref.png               |binary
 test/reference/clip-fill-rule.traps.argb32.ref.png                            |binary
 test/reference/clip-fill-rule.traps.rgb24.ref.png                             |binary
 test/reference/clip-fill.traps.argb32.ref.png                                 |binary
 test/reference/clip-fill.traps.rgb24.ref.png                                  |binary
 test/reference/clip-group-shapes-aligned-rectangles.traps.argb32.ref.png      |binary
 test/reference/clip-group-shapes-aligned-rectangles.traps.rgb24.ref.png       |binary
 test/reference/clip-group-shapes-circles.traps.argb32.ref.png                 |binary
 test/reference/clip-group-shapes-circles.traps.rgb24.ref.png                  |binary
 test/reference/clip-group-shapes-unaligned-rectangles.traps.argb32.ref.png    |binary
 test/reference/clip-group-shapes-unaligned-rectangles.traps.rgb24.ref.png     |binary
 test/reference/clip-image.traps.argb32.ref.png                                |binary
 test/reference/clip-image.traps.rgb24.ref.png                                 |binary
 test/reference/clip-intersect.traps.argb32.ref.png                            |binary
 test/reference/clip-intersect.traps.rgb24.ref.png                             |binary
 test/reference/clip-mixed-antialias.traps.argb32.ref.png                      |binary
 test/reference/clip-mixed-antialias.traps.rgb24.ref.png                       |binary
 test/reference/clip-nesting.traps.argb32.ref.png                              |binary
 test/reference/clip-nesting.traps.rgb24.ref.png                               |binary
 test/reference/clip-operator.traps.argb32.ref.png                             |binary
 test/reference/clip-push-group.traps.argb32.ref.png                           |binary
 test/reference/clip-push-group.traps.rgb24.ref.png                            |binary
 test/reference/clip-rotate-image-surface-paint.traps.argb32.ref.png           |binary
 test/reference/clip-rotate-image-surface-paint.traps.rgb24.ref.png            |binary
 test/reference/clip-shape.traps.argb32.ref.png                                |binary
 test/reference/clip-shape.traps.rgb24.ref.png                                 |binary
 test/reference/clip-stroke-no-op.traps.argb32.ref.png                         |binary
 test/reference/clip-stroke-no-op.traps.rgb24.ref.png                          |binary
 test/reference/clip-stroke-unbounded.traps.argb32.ref.png                     |binary
 test/reference/clip-stroke.traps.argb32.ref.png                               |binary
 test/reference/clip-stroke.traps.rgb24.ref.png                                |binary
 test/reference/clip-text.traps.argb32.ref.png                                 |binary
 test/reference/clip-text.traps.rgb24.ref.png                                  |binary
 test/reference/clip-twice-rectangle.traps.argb32.ref.png                      |binary
 test/reference/clip-twice-rectangle.traps.rgb24.ref.png                       |binary
 test/reference/clip-twice.traps.argb32.ref.png                                |binary
 test/reference/clip-twice.traps.rgb24.ref.png                                 |binary
 test/reference/clip-unbounded.traps.argb32.ref.png                            |binary
 test/reference/clip-unbounded.traps.rgb24.ref.png                             |binary
 test/reference/clipped-group.traps.argb32.ref.png                             |binary
 test/reference/clipped-group.traps.rgb24.ref.png                              |binary
 test/reference/clipped-surface.traps.argb32.ref.png                           |binary
 test/reference/clipped-surface.traps.rgb24.ref.png                            |binary
 test/reference/close-path-current-point.traps.argb32.ref.png                  |binary
 test/reference/close-path-current-point.traps.rgb24.ref.png                   |binary
 test/reference/close-path.traps.argb32.ref.png                                |binary
 test/reference/close-path.traps.rgb24.ref.png                                 |binary
 test/reference/composite-integer-translate-over-repeat.traps.argb32.ref.png   |binary
 test/reference/composite-integer-translate-over-repeat.traps.rgb24.ref.png    |binary
 test/reference/composite-integer-translate-over.traps.argb32.ref.png          |binary
 test/reference/composite-integer-translate-over.traps.rgb24.ref.png           |binary
 test/reference/composite-integer-translate-source.traps.argb32.ref.png        |binary
 test/reference/composite-integer-translate-source.traps.rgb24.ref.png         |binary
 test/reference/copy-path.traps.argb32.ref.png                                 |binary
 test/reference/copy-path.traps.rgb24.ref.png                                  |binary
 test/reference/create-from-png-stream.traps.argb32.ref.png                    |binary
 test/reference/create-from-png-stream.traps.rgb24.ref.png                     |binary
 test/reference/culled-glyphs.traps.argb32.ref.png                             |binary
 test/reference/culled-glyphs.traps.rgb24.ref.png                              |binary
 test/reference/curve-to-as-line-to.traps.argb32.ref.png                       |binary
 test/reference/curve-to-as-line-to.traps.rgb24.ref.png                        |binary
 test/reference/dash-caps-joins.traps.argb32.ref.png                           |binary
 test/reference/dash-caps-joins.traps.rgb24.ref.png                            |binary
 test/reference/dash-curve.traps.argb32.ref.png                                |binary
 test/reference/dash-curve.traps.rgb24.ref.png                                 |binary
 test/reference/dash-infinite-loop.traps.argb32.ref.png                        |binary
 test/reference/dash-infinite-loop.traps.rgb24.ref.png                         |binary
 test/reference/dash-no-dash.traps.argb32.ref.png                              |binary
 test/reference/dash-no-dash.traps.rgb24.ref.png                               |binary
 test/reference/dash-offset-negative.traps.argb32.ref.png                      |binary
 test/reference/dash-offset-negative.traps.rgb24.ref.png                       |binary
 test/reference/dash-offset.traps.argb32.ref.png                               |binary
 test/reference/dash-offset.traps.rgb24.ref.png                                |binary
 test/reference/dash-scale.traps.argb32.ref.png                                |binary
 test/reference/dash-scale.traps.rgb24.ref.png                                 |binary
 test/reference/dash-state.traps.argb32.ref.png                                |binary
 test/reference/dash-state.traps.rgb24.ref.png                                 |binary
 test/reference/dash-zero-length.traps.argb32.ref.png                          |binary
 test/reference/dash-zero-length.traps.rgb24.ref.png                           |binary
 test/reference/degenerate-arc.traps.argb32.ref.png                            |binary
 test/reference/degenerate-arc.traps.rgb24.ref.png                             |binary
 test/reference/degenerate-arcs.traps.argb32.ref.png                           |binary
 test/reference/degenerate-arcs.traps.rgb24.ref.png                            |binary
 test/reference/degenerate-curve-to.traps.argb32.ref.png                       |binary
 test/reference/degenerate-curve-to.traps.rgb24.ref.png                        |binary
 test/reference/degenerate-dash.traps.argb32.ref.png                           |binary
 test/reference/degenerate-dash.traps.rgb24.ref.png                            |binary
 test/reference/degenerate-linear-gradient.traps.argb32.ref.png                |binary
 test/reference/degenerate-linear-gradient.traps.rgb24.ref.png                 |binary
 test/reference/degenerate-path.traps.argb32.ref.png                           |binary
 test/reference/degenerate-path.traps.rgb24.ref.png                            |binary
 test/reference/degenerate-pen.traps.argb32.ref.png                            |binary
 test/reference/degenerate-pen.traps.rgb24.ref.png                             |binary
 test/reference/degenerate-radial-gradient.traps.argb32.ref.png                |binary
 test/reference/degenerate-radial-gradient.traps.rgb24.ref.png                 |binary
 test/reference/degenerate-rel-curve-to.traps.argb32.ref.png                   |binary
 test/reference/degenerate-rel-curve-to.traps.rgb24.ref.png                    |binary
 test/reference/device-offset-fractional.traps.argb32.ref.png                  |binary
 test/reference/device-offset-fractional.traps.rgb24.ref.png                   |binary
 test/reference/device-offset-positive.traps.argb32.ref.png                    |binary
 test/reference/device-offset-positive.traps.rgb24.ref.png                     |binary
 test/reference/device-offset-scale.traps.argb32.ref.png                       |binary
 test/reference/device-offset-scale.traps.rgb24.ref.png                        |binary
 test/reference/device-offset.traps.argb32.ref.png                             |binary
 test/reference/device-offset.traps.rgb24.ref.png                              |binary
 test/reference/drunkard-tails.traps.argb32.ref.png                            |binary
 test/reference/drunkard-tails.traps.rgb24.ref.png                             |binary
 test/reference/extend-pad-border.traps.argb32.ref.png                         |binary
 test/reference/extend-pad-border.traps.rgb24.ref.png                          |binary
 test/reference/extend-pad-similar.traps.argb32.ref.png                        |binary
 test/reference/extend-pad-similar.traps.rgb24.ref.png                         |binary
 test/reference/extend-pad.traps.argb32.ref.png                                |binary
 test/reference/extend-pad.traps.rgb24.ref.png                                 |binary
 test/reference/extend-reflect-similar.traps.argb32.ref.png                    |binary
 test/reference/extend-reflect-similar.traps.rgb24.ref.png                     |binary
 test/reference/extend-reflect.traps.argb32.ref.png                            |binary
 test/reference/extend-reflect.traps.rgb24.ref.png                             |binary
 test/reference/extend-repeat-similar.traps.argb32.ref.png                     |binary
 test/reference/extend-repeat-similar.traps.rgb24.ref.png                      |binary
 test/reference/extend-repeat.traps.argb32.ref.png                             |binary
 test/reference/extend-repeat.traps.rgb24.ref.png                              |binary
 test/reference/extended-blend-alpha-mask.traps.argb32.ref.png                 |binary
 test/reference/extended-blend-alpha-mask.traps.rgb24.ref.png                  |binary
 test/reference/extended-blend-alpha.traps.argb32.ref.png                      |binary
 test/reference/extended-blend-alpha.traps.rgb24.ref.png                       |binary
 test/reference/extended-blend-mask.traps.argb32.ref.png                       |binary
 test/reference/extended-blend-mask.traps.rgb24.ref.png                        |binary
 test/reference/extended-blend-solid-alpha.traps.argb32.ref.png                |binary
 test/reference/extended-blend-solid-alpha.traps.rgb24.ref.png                 |binary
 test/reference/extended-blend-solid.traps.argb32.ref.png                      |binary
 test/reference/extended-blend-solid.traps.rgb24.ref.png                       |binary
 test/reference/extended-blend.traps.argb32.ref.png                            |binary
 test/reference/extended-blend.traps.rgb24.ref.png                             |binary
 test/reference/fill-alpha-pattern.traps.argb32.ref.png                        |binary
 test/reference/fill-alpha-pattern.traps.rgb24.ref.png                         |binary
 test/reference/fill-alpha.traps.argb32.ref.png                                |binary
 test/reference/fill-alpha.traps.rgb24.ref.png                                 |binary
 test/reference/fill-and-stroke-alpha-add.traps.argb32.ref.png                 |binary
 test/reference/fill-and-stroke-alpha-add.traps.rgb24.ref.png                  |binary
 test/reference/fill-and-stroke-alpha.traps.argb32.ref.png                     |binary
 test/reference/fill-and-stroke-alpha.traps.rgb24.ref.png                      |binary
 test/reference/fill-and-stroke.traps.argb32.ref.png                           |binary
 test/reference/fill-and-stroke.traps.rgb24.ref.png                            |binary
 test/reference/fill-degenerate-sort-order.traps.argb32.ref.png                |binary
 test/reference/fill-degenerate-sort-order.traps.rgb24.ref.png                 |binary
 test/reference/fill-empty.traps.argb32.ref.png                                |binary
 test/reference/fill-empty.traps.rgb24.ref.png                                 |binary
 test/reference/fill-image.traps.argb32.ref.png                                |binary
 test/reference/fill-image.traps.rgb24.ref.png                                 |binary
 test/reference/fill-missed-stop.traps.argb32.ref.png                          |binary
 test/reference/fill-missed-stop.traps.rgb24.ref.png                           |binary
 test/reference/fill-rule.traps.argb32.ref.png                                 |binary
 test/reference/fill-rule.traps.rgb24.ref.png                                  |binary
 test/reference/filter-bilinear-extents.traps.argb32.ref.png                   |binary
 test/reference/filter-bilinear-extents.traps.rgb24.ref.png                    |binary
 test/reference/filter-nearest-offset.traps.argb32.ref.png                     |binary
 test/reference/filter-nearest-offset.traps.rgb24.ref.png                      |binary
 test/reference/filter-nearest-transformed.traps.argb32.ref.png                |binary
 test/reference/filter-nearest-transformed.traps.rgb24.ref.png                 |binary
 test/reference/finer-grained-fallbacks.traps.argb32.ref.png                   |binary
 test/reference/finer-grained-fallbacks.traps.rgb24.ref.png                    |binary
 test/reference/font-matrix-translation.traps.argb32.ref.png                   |binary
 test/reference/font-matrix-translation.traps.rgb24.ref.png                    |binary
 test/reference/ft-show-glyphs-positioning.traps.argb32.ref.png                |binary
 test/reference/ft-show-glyphs-positioning.traps.rgb24.ref.png                 |binary
 test/reference/ft-show-glyphs-table.traps.argb32.ref.png                      |binary
 test/reference/ft-show-glyphs-table.traps.rgb24.ref.png                       |binary
 test/reference/ft-text-antialias-none.traps.argb32.ref.png                    |binary
 test/reference/ft-text-antialias-none.traps.rgb24.ref.png                     |binary
 test/reference/ft-text-vertical-layout-type1.traps.argb32.ref.png             |binary
 test/reference/ft-text-vertical-layout-type1.traps.rgb24.ref.png              |binary
 test/reference/ft-text-vertical-layout-type3.traps.argb32.ref.png             |binary
 test/reference/ft-text-vertical-layout-type3.traps.rgb24.ref.png              |binary
 test/reference/get-group-target.traps.argb32.ref.png                          |binary
 test/reference/get-group-target.traps.rgb24.ref.png                           |binary
 test/reference/glyph-cache-pressure.traps.argb32.ref.png                      |binary
 test/reference/glyph-cache-pressure.traps.rgb24.ref.png                       |binary
 test/reference/gradient-alpha.traps.argb32.ref.png                            |binary
 test/reference/gradient-alpha.traps.rgb24.ref.png                             |binary
 test/reference/gradient-constant-alpha.traps.argb32.ref.png                   |binary
 test/reference/gradient-constant-alpha.traps.rgb24.ref.png                    |binary
 test/reference/gradient-zero-stops-mask.traps.argb32.ref.png                  |binary
 test/reference/gradient-zero-stops-mask.traps.rgb24.ref.png                   |binary
 test/reference/gradient-zero-stops.traps.argb32.ref.png                       |binary
 test/reference/gradient-zero-stops.traps.rgb24.ref.png                        |binary
 test/reference/group-clip.traps.argb32.ref.png                                |binary
 test/reference/group-clip.traps.rgb24.ref.png                                 |binary
 test/reference/group-paint.traps.argb32.ref.png                               |binary
 test/reference/group-paint.traps.rgb24.ref.png                                |binary
 test/reference/group-unaligned.traps.argb32.ref.png                           |binary
 test/reference/group-unaligned.traps.rgb24.ref.png                            |binary
 test/reference/halo-transform.traps.argb32.ref.png                            |binary
 test/reference/halo-transform.traps.rgb24.ref.png                             |binary
 test/reference/halo.traps.argb32.ref.png                                      |binary
 test/reference/halo.traps.rgb24.ref.png                                       |binary
 test/reference/hatchings.traps.argb32.ref.png                                 |binary
 test/reference/horizontal-clip.traps.argb32.ref.png                           |binary
 test/reference/horizontal-clip.traps.rgb24.ref.png                            |binary
 test/reference/huge-linear.traps.argb32.ref.png                               |binary
 test/reference/huge-linear.traps.rgb24.ref.png                                |binary
 test/reference/huge-radial.traps.argb32.ref.png                               |binary
 test/reference/huge-radial.traps.rgb24.ref.png                                |binary
 test/reference/image-bug-710072-aligned.traps.argb32.ref.png                  |binary
 test/reference/image-bug-710072-aligned.traps.rgb24.ref.png                   |binary
 test/reference/image-bug-710072-unaligned.traps.argb32.ref.png                |binary
 test/reference/image-bug-710072-unaligned.traps.rgb24.ref.png                 |binary
 test/reference/image-surface-source.traps.argb32.ref.png                      |binary
 test/reference/image-surface-source.traps.rgb24.ref.png                       |binary
 test/reference/implicit-close.traps.argb32.ref.png                            |binary
 test/reference/implicit-close.traps.rgb24.ref.png                             |binary
 test/reference/infinite-join.traps.argb32.ref.png                             |binary
 test/reference/infinite-join.traps.rgb24.ref.png                              |binary
 test/reference/inverse-text.traps.argb32.ref.png                              |binary
 test/reference/inverse-text.traps.rgb24.ref.png                               |binary
 test/reference/joins-loop.traps.argb32.ref.png                                |binary
 test/reference/joins-loop.traps.rgb24.ref.png                                 |binary
 test/reference/joins-retrace.traps.argb32.ref.png                             |binary
 test/reference/joins-retrace.traps.rgb24.ref.png                              |binary
 test/reference/joins-star.traps.argb32.ref.png                                |binary
 test/reference/joins-star.traps.rgb24.ref.png                                 |binary
 test/reference/joins.traps.argb32.ref.png                                     |binary
 test/reference/joins.traps.rgb24.ref.png                                      |binary
 test/reference/large-clip.traps.argb32.ref.png                                |binary
 test/reference/large-clip.traps.rgb24.ref.png                                 |binary
 test/reference/large-font.traps.argb32.ref.png                                |binary
 test/reference/large-font.traps.rgb24.ref.png                                 |binary
 test/reference/large-source-roi.traps.argb32.ref.png                          |binary
 test/reference/large-source-roi.traps.rgb24.ref.png                           |binary
 test/reference/large-source.traps.argb32.ref.png                              |binary
 test/reference/large-source.traps.rgb24.ref.png                               |binary
 test/reference/large-twin-antialias-mixed.traps.argb32.ref.png                |binary
 test/reference/large-twin-antialias-mixed.traps.rgb24.ref.png                 |binary
 test/reference/leaky-dash.traps.argb32.ref.png                                |binary
 test/reference/leaky-dash.traps.rgb24.ref.png                                 |binary
 test/reference/leaky-dashed-rectangle.traps.argb32.ref.png                    |binary
 test/reference/leaky-dashed-rectangle.traps.rgb24.ref.png                     |binary
 test/reference/leaky-dashed-stroke.traps.argb32.ref.png                       |binary
 test/reference/leaky-dashed-stroke.traps.rgb24.ref.png                        |binary
 test/reference/leaky-polygon.traps.argb32.ref.png                             |binary
 test/reference/leaky-polygon.traps.rgb24.ref.png                              |binary
 test/reference/line-width-overlap-dashed.traps.argb32.ref.png                 |binary
 test/reference/line-width-overlap-dashed.traps.rgb24.ref.png                  |binary
 test/reference/line-width-overlap-flipped.traps.argb32.ref.png                |binary
 test/reference/line-width-overlap-flipped.traps.rgb24.ref.png                 |binary
 test/reference/line-width-overlap-flopped.traps.argb32.ref.png                |binary
 test/reference/line-width-overlap-flopped.traps.rgb24.ref.png                 |binary
 test/reference/line-width-overlap-offset.traps.argb32.ref.png                 |binary
 test/reference/line-width-overlap-offset.traps.rgb24.ref.png                  |binary
 test/reference/line-width-overlap-rotated.traps.argb32.ref.png                |binary
 test/reference/line-width-overlap-rotated.traps.rgb24.ref.png                 |binary
 test/reference/line-width-overlap.traps.argb32.ref.png                        |binary
 test/reference/line-width-overlap.traps.rgb24.ref.png                         |binary
 test/reference/line-width-scale.traps.argb32.ref.png                          |binary
 test/reference/line-width-scale.traps.rgb24.ref.png                           |binary
 test/reference/line-width-tolerance.traps.argb32.ref.png                      |binary
 test/reference/line-width-tolerance.traps.rgb24.ref.png                       |binary
 test/reference/line-width.traps.argb32.ref.png                                |binary
 test/reference/line-width.traps.rgb24.ref.png                                 |binary
 test/reference/linear-gradient-extend.traps.argb32.ref.png                    |binary
 test/reference/linear-gradient-extend.traps.rgb24.ref.png                     |binary
 test/reference/linear-gradient-large.traps.argb32.ref.png                     |binary
 test/reference/linear-gradient-large.traps.rgb24.ref.png                      |binary
 test/reference/linear-gradient-one-stop.traps.argb32.ref.png                  |binary
 test/reference/linear-gradient-one-stop.traps.rgb24.ref.png                   |binary
 test/reference/linear-gradient-reflect.traps.argb32.ref.png                   |binary
 test/reference/linear-gradient-reflect.traps.rgb24.ref.png                    |binary
 test/reference/linear-gradient-subset.traps.argb32.ref.png                    |binary
 test/reference/linear-gradient-subset.traps.rgb24.ref.png                     |binary
 test/reference/linear-gradient.traps.argb32.ref.png                           |binary
 test/reference/linear-gradient.traps.rgb24.ref.png                            |binary
 test/reference/linear-step-function.traps.argb32.ref.png                      |binary
 test/reference/linear-step-function.traps.rgb24.ref.png                       |binary
 test/reference/linear-uniform.traps.argb32.ref.png                            |binary
 test/reference/linear-uniform.traps.rgb24.ref.png                             |binary
 test/reference/long-dashed-lines.traps.argb32.ref.png                         |binary
 test/reference/long-dashed-lines.traps.rgb24.ref.png                          |binary
 test/reference/long-lines.traps.argb32.ref.png                                |binary
 test/reference/long-lines.traps.rgb24.ref.png                                 |binary
 test/reference/map-all-to-image.traps.argb32.ref.png                          |binary
 test/reference/map-all-to-image.traps.rgb24.ref.png                           |binary
 test/reference/map-bit-to-image.traps.argb32.ref.png                          |binary
 test/reference/map-bit-to-image.traps.rgb24.ref.png                           |binary
 test/reference/map-to-image-fill.traps.argb32.ref.png                         |binary
 test/reference/map-to-image-fill.traps.rgb24.ref.png                          |binary
 test/reference/mask-alpha.traps.argb32.ref.png                                |binary
 test/reference/mask-alpha.traps.rgb24.ref.png                                 |binary
 test/reference/mask-ctm.traps.argb32.ref.png                                  |binary
 test/reference/mask-ctm.traps.rgb24.ref.png                                   |binary
 test/reference/mask-surface-ctm.traps.argb32.ref.png                          |binary
 test/reference/mask-surface-ctm.traps.rgb24.ref.png                           |binary
 test/reference/mask-transformed-image.traps.argb32.ref.png                    |binary
 test/reference/mask-transformed-image.traps.rgb24.ref.png                     |binary
 test/reference/mask-transformed-similar.traps.argb32.ref.png                  |binary
 test/reference/mask-transformed-similar.traps.rgb24.ref.png                   |binary
 test/reference/mask.traps.argb32.ref.png                                      |binary
 test/reference/mask.traps.rgb24.ref.png                                       |binary
 test/reference/mesh-pattern-accuracy.traps.argb32.ref.png                     |binary
 test/reference/mesh-pattern-accuracy.traps.rgb24.ref.png                      |binary
 test/reference/mesh-pattern-conical.traps.argb32.ref.png                      |binary
 test/reference/mesh-pattern-conical.traps.rgb24.ref.png                       |binary
 test/reference/mesh-pattern-control-points.traps.argb32.ref.png               |binary
 test/reference/mesh-pattern-control-points.traps.rgb24.ref.png                |binary
 test/reference/mesh-pattern-fold.traps.argb32.ref.png                         |binary
 test/reference/mesh-pattern-fold.traps.rgb24.ref.png                          |binary
 test/reference/mesh-pattern-overlap.traps.argb32.ref.png                      |binary
 test/reference/mesh-pattern-overlap.traps.rgb24.ref.png                       |binary
 test/reference/mesh-pattern-transformed.traps.argb32.ref.png                  |binary
 test/reference/mesh-pattern-transformed.traps.rgb24.ref.png                   |binary
 test/reference/mesh-pattern.traps.argb32.ref.png                              |binary
 test/reference/mesh-pattern.traps.rgb24.ref.png                               |binary
 test/reference/mime-data.traps.argb32.ref.png                                 |binary
 test/reference/mime-data.traps.rgb24.ref.png                                  |binary
 test/reference/mime-surface.traps.argb32.ref.png                              |binary
 test/reference/mime-surface.traps.rgb24.ref.png                               |binary
 test/reference/miter-precision.traps.argb32.ref.png                           |binary
 test/reference/miter-precision.traps.rgb24.ref.png                            |binary
 test/reference/move-to-show-surface.traps.argb32.ref.png                      |binary
 test/reference/move-to-show-surface.traps.rgb24.ref.png                       |binary
 test/reference/new-sub-path.traps.argb32.ref.png                              |binary
 test/reference/new-sub-path.traps.rgb24.ref.png                               |binary
 test/reference/nil-surface.traps.argb32.ref.png                               |binary
 test/reference/nil-surface.traps.rgb24.ref.png                                |binary
 test/reference/operator-alpha-alpha.traps.argb32.ref.png                      |binary
 test/reference/operator-alpha-alpha.traps.rgb24.ref.png                       |binary
 test/reference/operator-alpha.traps.argb32.ref.png                            |binary
 test/reference/operator-alpha.traps.rgb24.ref.png                             |binary
 test/reference/operator-clear.traps.argb32.ref.png                            |binary
 test/reference/operator-clear.traps.rgb24.ref.png                             |binary
 test/reference/operator-source.traps.argb32.ref.png                           |binary
 test/reference/operator-source.traps.rgb24.ref.png                            |binary
 test/reference/operator.traps.argb32.ref.png                                  |binary
 test/reference/operator.traps.rgb24.ref.png                                   |binary
 test/reference/over-above-source.traps.argb32.ref.png                         |binary
 test/reference/over-above-source.traps.rgb24.ref.png                          |binary
 test/reference/over-around-source.traps.argb32.ref.png                        |binary
 test/reference/over-around-source.traps.rgb24.ref.png                         |binary
 test/reference/over-below-source.traps.argb32.ref.png                         |binary
 test/reference/over-below-source.traps.rgb24.ref.png                          |binary
 test/reference/over-between-source.traps.argb32.ref.png                       |binary
 test/reference/over-between-source.traps.rgb24.ref.png                        |binary
 test/reference/overlapping-boxes.traps.argb32.ref.png                         |binary
 test/reference/overlapping-boxes.traps.rgb24.ref.png                          |binary
 test/reference/overlapping-dash-caps.traps.argb32.ref.png                     |binary
 test/reference/overlapping-dash-caps.traps.rgb24.ref.png                      |binary
 test/reference/overlapping-glyphs.traps.argb32.ref.png                        |binary
 test/reference/overlapping-glyphs.traps.rgb24.ref.png                         |binary
 test/reference/paint-clip-fill-aa.traps.argb32.ref.png                        |binary
 test/reference/paint-clip-fill-aa.traps.rgb24.ref.png                         |binary
 test/reference/paint-clip-fill-mono.traps.argb32.ref.png                      |binary
 test/reference/paint-clip-fill-mono.traps.rgb24.ref.png                       |binary
 test/reference/paint-repeat.traps.argb32.ref.png                              |binary
 test/reference/paint-repeat.traps.rgb24.ref.png                               |binary
 test/reference/paint-source-alpha.traps.argb32.ref.png                        |binary
 test/reference/paint-source-alpha.traps.rgb24.ref.png                         |binary
 test/reference/paint-with-alpha-clip-mask.traps.argb32.ref.png                |binary
 test/reference/paint-with-alpha-clip-mask.traps.rgb24.ref.png                 |binary
 test/reference/paint-with-alpha-clip.traps.argb32.ref.png                     |binary
 test/reference/paint-with-alpha-clip.traps.rgb24.ref.png                      |binary
 test/reference/paint-with-alpha-solid-clip.traps.argb32.ref.png               |binary
 test/reference/paint-with-alpha-solid-clip.traps.rgb24.ref.png                |binary
 test/reference/paint-with-alpha.traps.argb32.ref.png                          |binary
 test/reference/paint-with-alpha.traps.rgb24.ref.png                           |binary
 test/reference/paint.traps.argb32.ref.png                                     |binary
 test/reference/paint.traps.rgb24.ref.png                                      |binary
 test/reference/partial-clip-text-bottom.traps.argb32.ref.png                  |binary
 test/reference/partial-clip-text-bottom.traps.rgb24.ref.png                   |binary
 test/reference/partial-clip-text-left.traps.argb32.ref.png                    |binary
 test/reference/partial-clip-text-left.traps.rgb24.ref.png                     |binary
 test/reference/partial-clip-text-right.traps.argb32.ref.png                   |binary
 test/reference/partial-clip-text-right.traps.rgb24.ref.png                    |binary
 test/reference/partial-clip-text-top.traps.argb32.ref.png                     |binary
 test/reference/partial-clip-text-top.traps.rgb24.ref.png                      |binary
 test/reference/partial-coverage-half-reference.traps.argb32.ref.png           |binary
 test/reference/partial-coverage-half-reference.traps.rgb24.ref.png            |binary
 test/reference/partial-coverage-reference.traps.argb32.ref.png                |binary
 test/reference/partial-coverage-reference.traps.rgb24.ref.png                 |binary
 test/reference/partial-coverage-three-quarter-reference.traps.argb32.ref.png  |binary
 test/reference/partial-coverage-three-quarter-reference.traps.rgb24.ref.png   |binary
 test/reference/path-append.traps.argb32.ref.png                               |binary
 test/reference/path-append.traps.rgb24.ref.png                                |binary
 test/reference/path-stroke-twice.traps.argb32.ref.png                         |binary
 test/reference/path-stroke-twice.traps.rgb24.ref.png                          |binary
 test/reference/pattern-getters.traps.argb32.ref.png                           |binary
 test/reference/pattern-getters.traps.rgb24.ref.png                            |binary
 test/reference/pdf-surface-source.traps.argb32.ref.png                        |binary
 test/reference/pdf-surface-source.traps.rgb24.ref.png                         |binary
 test/reference/pixman-rotate.traps.argb32.ref.png                             |binary
 test/reference/pixman-rotate.traps.rgb24.ref.png                              |binary
 test/reference/ps-surface-source.traps.argb32.ref.png                         |binary
 test/reference/ps-surface-source.traps.rgb24.ref.png                          |binary
 test/reference/pthread-same-source.traps.argb32.ref.png                       |binary
 test/reference/pthread-same-source.traps.rgb24.ref.png                        |binary
 test/reference/pthread-show-text.traps.argb32.ref.png                         |binary
 test/reference/pthread-show-text.traps.rgb24.ref.png                          |binary
 test/reference/pthread-similar.traps.argb32.ref.png                           |binary
 test/reference/pthread-similar.traps.rgb24.ref.png                            |binary
 test/reference/push-group-color.traps.argb32.ref.png                          |binary
 test/reference/push-group-color.traps.rgb24.ref.png                           |binary
 test/reference/push-group-path-offset.traps.argb32.ref.png                    |binary
 test/reference/push-group-path-offset.traps.rgb24.ref.png                     |binary
 test/reference/push-group.traps.argb32.ref.png                                |binary
 test/reference/push-group.traps.rgb24.ref.png                                 |binary
 test/reference/radial-gradient-extend.traps.argb32.ref.png                    |binary
 test/reference/radial-gradient-extend.traps.rgb24.ref.png                     |binary
 test/reference/radial-gradient-mask-source.traps.argb32.ref.png               |binary
 test/reference/radial-gradient-mask-source.traps.rgb24.ref.png                |binary
 test/reference/radial-gradient-mask.traps.argb32.ref.png                      |binary
 test/reference/radial-gradient-mask.traps.rgb24.ref.png                       |binary
 test/reference/radial-gradient-one-stop.traps.argb32.ref.png                  |binary
 test/reference/radial-gradient-one-stop.traps.rgb24.ref.png                   |binary
 test/reference/radial-gradient-source.traps.argb32.ref.png                    |binary
 test/reference/radial-gradient-source.traps.rgb24.ref.png                     |binary
 test/reference/radial-gradient.traps.argb32.ref.png                           |binary
 test/reference/radial-gradient.traps.rgb24.ref.png                            |binary
 test/reference/random-clip.traps.argb32.ref.png                               |binary
 test/reference/random-clip.traps.rgb24.ref.png                                |binary
 test/reference/random-intersections-curves-eo.traps.argb32.ref.png            |binary
 test/reference/random-intersections-curves-eo.traps.rgb24.ref.png             |binary
 test/reference/random-intersections-curves-nz.traps.argb32.ref.png            |binary
 test/reference/random-intersections-curves-nz.traps.rgb24.ref.png             |binary
 test/reference/random-intersections-eo.traps.argb32.ref.png                   |binary
 test/reference/random-intersections-eo.traps.rgb24.ref.png                    |binary
 test/reference/random-intersections-nonzero.traps.argb32.ref.png              |binary
 test/reference/random-intersections-nonzero.traps.rgb24.ref.png               |binary
 test/reference/record-extend-none-similar.traps.argb32.ref.png                |binary
 test/reference/record-extend-none-similar.traps.rgb24.ref.png                 |binary
 test/reference/record-extend-none.traps.argb32.ref.png                        |binary
 test/reference/record-extend-none.traps.rgb24.ref.png                         |binary
 test/reference/record-extend-pad-similar.traps.argb32.ref.png                 |binary
 test/reference/record-extend-pad-similar.traps.rgb24.ref.png                  |binary
 test/reference/record-extend-pad.traps.argb32.ref.png                         |binary
 test/reference/record-extend-pad.traps.rgb24.ref.png                          |binary
 test/reference/record-extend-reflect-similar.traps.argb32.ref.png             |binary
 test/reference/record-extend-reflect-similar.traps.rgb24.ref.png              |binary
 test/reference/record-extend-reflect.traps.argb32.ref.png                     |binary
 test/reference/record-extend-reflect.traps.rgb24.ref.png                      |binary
 test/reference/record-extend-repeat-similar.traps.argb32.ref.png              |binary
 test/reference/record-extend-repeat-similar.traps.rgb24.ref.png               |binary
 test/reference/record-extend-repeat.traps.argb32.ref.png                      |binary
 test/reference/record-extend-repeat.traps.rgb24.ref.png                       |binary
 test/reference/record-fill-alpha.traps.argb32.ref.png                         |binary
 test/reference/record-fill-alpha.traps.rgb24.ref.png                          |binary
 test/reference/record-mesh.traps.argb32.ref.png                               |binary
 test/reference/record-mesh.traps.rgb24.ref.png                                |binary
 test/reference/record-paint-alpha-clip-mask.traps.argb32.ref.png              |binary
 test/reference/record-paint-alpha-clip-mask.traps.rgb24.ref.png               |binary
 test/reference/record-paint-alpha-clip.traps.argb32.ref.png                   |binary
 test/reference/record-paint-alpha-clip.traps.rgb24.ref.png                    |binary
 test/reference/record-paint-alpha-solid-clip.traps.argb32.ref.png             |binary
 test/reference/record-paint-alpha-solid-clip.traps.rgb24.ref.png              |binary
 test/reference/record-paint-alpha.traps.argb32.ref.png                        |binary
 test/reference/record-paint-alpha.traps.rgb24.ref.png                         |binary
 test/reference/record-paint.traps.argb32.ref.png                              |binary
 test/reference/record-paint.traps.rgb24.ref.png                               |binary
 test/reference/recording-surface-extend-none.traps.argb32.ref.png             |binary
 test/reference/recording-surface-extend-none.traps.rgb24.ref.png              |binary
 test/reference/recording-surface-extend-pad.traps.argb32.ref.png              |binary
 test/reference/recording-surface-extend-pad.traps.rgb24.ref.png               |binary
 test/reference/recording-surface-extend-reflect.traps.argb32.ref.png          |binary
 test/reference/recording-surface-extend-reflect.traps.rgb24.ref.png           |binary
 test/reference/recording-surface-extend-repeat.traps.argb32.ref.png           |binary
 test/reference/recording-surface-extend-repeat.traps.rgb24.ref.png            |binary
 test/reference/recording-surface-over.traps.argb32.ref.png                    |binary
 test/reference/recording-surface-over.traps.rgb24.ref.png                     |binary
 test/reference/recording-surface-source.traps.argb32.ref.png                  |binary
 test/reference/recording-surface-source.traps.rgb24.ref.png                   |binary
 test/reference/rectangle-rounding-error.traps.argb32.ref.png                  |binary
 test/reference/rectangle-rounding-error.traps.rgb24.ref.png                   |binary
 test/reference/rectilinear-dash.traps.argb32.ref.png                          |binary
 test/reference/rectilinear-dash.traps.rgb24.ref.png                           |binary
 test/reference/rectilinear-fill.traps.argb32.ref.png                          |binary
 test/reference/rectilinear-fill.traps.rgb24.ref.png                           |binary
 test/reference/rectilinear-grid.traps.argb32.ref.png                          |binary
 test/reference/rectilinear-grid.traps.rgb24.ref.png                           |binary
 test/reference/rectilinear-miter-limit.traps.argb32.ref.png                   |binary
 test/reference/rectilinear-miter-limit.traps.rgb24.ref.png                    |binary
 test/reference/rectilinear-stroke.traps.argb32.ref.png                        |binary
 test/reference/rectilinear-stroke.traps.rgb24.ref.png                         |binary
 test/reference/reflected-stroke.traps.argb32.ref.png                          |binary
 test/reference/reflected-stroke.traps.rgb24.ref.png                           |binary
 test/reference/rel-path.traps.argb32.ref.png                                  |binary
 test/reference/rel-path.traps.rgb24.ref.png                                   |binary
 test/reference/rgb24-ignore-alpha.traps.argb32.ref.png                        |binary
 test/reference/rgb24-ignore-alpha.traps.rgb24.ref.png                         |binary
 test/reference/rotate-clip-image-surface-paint.traps.argb32.ref.png           |binary
 test/reference/rotate-clip-image-surface-paint.traps.rgb24.ref.png            |binary
 test/reference/rotate-image-surface-paint.traps.argb32.ref.png                |binary
 test/reference/rotate-image-surface-paint.traps.rgb24.ref.png                 |binary
 test/reference/rotated-clip.traps.argb32.ref.png                              |binary
 test/reference/rotated-clip.traps.rgb24.ref.png                               |binary
 test/reference/rounded-rectangle-fill.traps.argb32.ref.png                    |binary
 test/reference/rounded-rectangle-fill.traps.rgb24.ref.png                     |binary
 test/reference/rounded-rectangle-stroke.traps.argb32.ref.png                  |binary
 test/reference/rounded-rectangle-stroke.traps.rgb24.ref.png                   |binary
 test/reference/scale-down-source-surface-paint.traps.argb32.ref.png           |binary
 test/reference/scale-down-source-surface-paint.traps.rgb24.ref.png            |binary
 test/reference/scale-offset-image.traps.argb32.ref.png                        |binary
 test/reference/scale-offset-image.traps.rgb24.ref.png                         |binary
 test/reference/scale-offset-similar.traps.argb32.ref.png                      |binary
 test/reference/scale-offset-similar.traps.rgb24.ref.png                       |binary
 test/reference/scale-source-surface-paint.traps.argb32.ref.png                |binary
 test/reference/scale-source-surface-paint.traps.rgb24.ref.png                 |binary
 test/reference/select-font-face.traps.argb32.ref.png                          |binary
 test/reference/select-font-face.traps.rgb24.ref.png                           |binary
 test/reference/self-copy-overlap.traps.argb32.ref.png                         |binary
 test/reference/self-copy-overlap.traps.rgb24.ref.png                          |binary
 test/reference/self-copy.traps.argb32.ref.png                                 |binary
 test/reference/self-copy.traps.rgb24.ref.png                                  |binary
 test/reference/self-intersecting.traps.argb32.ref.png                         |binary
 test/reference/self-intersecting.traps.rgb24.ref.png                          |binary
 test/reference/set-source.traps.argb32.ref.png                                |binary
 test/reference/set-source.traps.rgb24.ref.png                                 |binary
 test/reference/shape-general-convex.traps.argb32.ref.png                      |binary
 test/reference/shape-general-convex.traps.rgb24.ref.png                       |binary
 test/reference/shape-sierpinski.traps.argb32.ref.png                          |binary
 test/reference/shape-sierpinski.traps.rgb24.ref.png                           |binary
 test/reference/show-glyphs-advance.traps.argb32.ref.png                       |binary
 test/reference/show-glyphs-advance.traps.rgb24.ref.png                        |binary
 test/reference/show-glyphs-many.traps.argb32.ref.png                          |binary
 test/reference/show-glyphs-many.traps.rgb24.ref.png                           |binary
 test/reference/show-text-current-point.traps.argb32.ref.png                   |binary
 test/reference/show-text-current-point.traps.rgb24.ref.png                    |binary
 test/reference/skew-extreme.traps.argb32.ref.png                              |binary
 test/reference/skew-extreme.traps.rgb24.ref.png                               |binary
 test/reference/smask-fill.traps.argb32.ref.png                                |binary
 test/reference/smask-fill.traps.rgb24.ref.png                                 |binary
 test/reference/smask-image-mask.traps.argb32.ref.png                          |binary
 test/reference/smask-image-mask.traps.rgb24.ref.png                           |binary
 test/reference/smask-mask.traps.argb32.ref.png                                |binary
 test/reference/smask-mask.traps.rgb24.ref.png                                 |binary
 test/reference/smask-paint.traps.argb32.ref.png                               |binary
 test/reference/smask-paint.traps.rgb24.ref.png                                |binary
 test/reference/smask-stroke.traps.argb32.ref.png                              |binary
 test/reference/smask-stroke.traps.rgb24.ref.png                               |binary
 test/reference/smask-text.traps.argb32.ref.png                                |binary
 test/reference/smask-text.traps.rgb24.ref.png                                 |binary
 test/reference/smask.traps.argb32.ref.png                                     |binary
 test/reference/smask.traps.rgb24.ref.png                                      |binary
 test/reference/solid-pattern-cache-stress.traps.argb32.ref.png                |binary
 test/reference/solid-pattern-cache-stress.traps.rgb24.ref.png                 |binary
 test/reference/source-clip-scale.traps.argb32.ref.png                         |binary
 test/reference/source-clip-scale.traps.rgb24.ref.png                          |binary
 test/reference/source-clip.traps.argb32.ref.png                               |binary
 test/reference/source-clip.traps.rgb24.ref.png                                |binary
 test/reference/source-surface-scale-paint.traps.argb32.ref.png                |binary
 test/reference/source-surface-scale-paint.traps.rgb24.ref.png                 |binary
 test/reference/spline-decomposition.traps.argb32.ref.png                      |binary
 test/reference/spline-decomposition.traps.rgb24.ref.png                       |binary
 test/reference/stroke-ctm-caps.traps.argb32.ref.png                           |binary
 test/reference/stroke-ctm-caps.traps.rgb24.ref.png                            |binary
 test/reference/stroke-image.traps.argb32.ref.png                              |binary
 test/reference/stroke-image.traps.rgb24.ref.png                               |binary
 test/reference/stroke-open-box.traps.argb32.ref.png                           |binary
 test/reference/stroke-open-box.traps.rgb24.ref.png                            |binary
 test/reference/subsurface-image-repeat.traps.argb32.ref.png                   |binary
 test/reference/subsurface-image-repeat.traps.rgb24.ref.png                    |binary
 test/reference/subsurface-modify-child.traps.argb32.ref.png                   |binary
 test/reference/subsurface-modify-child.traps.rgb24.ref.png                    |binary
 test/reference/subsurface-modify-parent.traps.argb32.ref.png                  |binary
 test/reference/subsurface-modify-parent.traps.rgb24.ref.png                   |binary
 test/reference/subsurface-pad.traps.argb32.ref.png                            |binary
 test/reference/subsurface-pad.traps.rgb24.ref.png                             |binary
 test/reference/subsurface-reflect.traps.argb32.ref.png                        |binary
 test/reference/subsurface-reflect.traps.rgb24.ref.png                         |binary
 test/reference/subsurface-repeat.traps.argb32.ref.png                         |binary
 test/reference/subsurface-repeat.traps.rgb24.ref.png                          |binary
 test/reference/subsurface-similar-repeat.traps.argb32.ref.png                 |binary
 test/reference/subsurface-similar-repeat.traps.rgb24.ref.png                  |binary
 test/reference/subsurface.traps.argb32.ref.png                                |binary
 test/reference/subsurface.traps.rgb24.ref.png                                 |binary
 test/reference/surface-pattern-big-scale-down.traps.argb32.ref.png            |binary
 test/reference/surface-pattern-big-scale-down.traps.rgb24.ref.png             |binary
 test/reference/surface-pattern-operator.traps.argb32.ref.png                  |binary
 test/reference/surface-pattern-operator.traps.rgb24.ref.png                   |binary
 test/reference/surface-pattern-scale-down-extend-none.traps.argb32.ref.png    |binary
 test/reference/surface-pattern-scale-down-extend-none.traps.rgb24.ref.png     |binary
 test/reference/surface-pattern-scale-down-extend-pad.traps.argb32.ref.png     |binary
 test/reference/surface-pattern-scale-down-extend-pad.traps.rgb24.ref.png      |binary
 test/reference/surface-pattern-scale-down-extend-reflect.traps.argb32.ref.png |binary
 test/reference/surface-pattern-scale-down-extend-reflect.traps.rgb24.ref.png  |binary
 test/reference/surface-pattern-scale-down-extend-repeat.traps.argb32.ref.png  |binary
 test/reference/surface-pattern-scale-down-extend-repeat.traps.rgb24.ref.png   |binary
 test/reference/surface-pattern-scale-down.traps.argb32.ref.png                |binary
 test/reference/surface-pattern-scale-down.traps.rgb24.ref.png                 |binary
 test/reference/surface-pattern-scale-up.traps.argb32.ref.png                  |binary
 test/reference/surface-pattern-scale-up.traps.rgb24.ref.png                   |binary
 test/reference/surface-pattern.traps.argb32.ref.png                           |binary
 test/reference/surface-pattern.traps.rgb24.ref.png                            |binary
 test/reference/svg-surface-source.traps.argb32.ref.png                        |binary
 test/reference/svg-surface-source.traps.rgb24.ref.png                         |binary
 test/reference/text-antialias-gray.traps.argb32.ref.png                       |binary
 test/reference/text-antialias-gray.traps.rgb24.ref.png                        |binary
 test/reference/text-antialias-none.traps.argb32.ref.png                       |binary
 test/reference/text-antialias-none.traps.rgb24.ref.png                        |binary
 test/reference/text-antialias-subpixel.traps.argb32.ref.png                   |binary
 test/reference/text-antialias-subpixel.traps.rgb24.ref.png                    |binary
 test/reference/text-glyph-range.traps.argb32.ref.png                          |binary
 test/reference/text-glyph-range.traps.rgb24.ref.png                           |binary
 test/reference/text-pattern.traps.argb32.ref.png                              |binary
 test/reference/text-pattern.traps.rgb24.ref.png                               |binary
 test/reference/text-rotate.traps.argb32.ref.png                               |binary
 test/reference/text-rotate.traps.rgb24.ref.png                                |binary
 test/reference/text-transform.traps.argb32.ref.png                            |binary
 test/reference/text-transform.traps.rgb24.ref.png                             |binary
 test/reference/tiger.traps.argb32.ref.png                                     |binary
 test/reference/tiger.traps.rgb24.ref.png                                      |binary
 test/reference/tighten-bounds.traps.argb32.ref.png                            |binary
 test/reference/transforms.traps.argb32.ref.png                                |binary
 test/reference/transforms.traps.rgb24.ref.png                                 |binary
 test/reference/translate-show-surface.traps.argb32.ref.png                    |binary
 test/reference/translate-show-surface.traps.rgb24.ref.png                     |binary
 test/reference/trap-clip.traps.argb32.ref.png                                 |binary
 test/reference/trap-clip.traps.rgb24.ref.png                                  |binary
 test/reference/twin-antialias-gray.traps.argb32.ref.png                       |binary
 test/reference/twin-antialias-gray.traps.rgb24.ref.png                        |binary
 test/reference/twin-antialias-mixed.traps.argb32.ref.png                      |binary
 test/reference/twin-antialias-mixed.traps.rgb24.ref.png                       |binary
 test/reference/twin-antialias-none.traps.argb32.ref.png                       |binary
 test/reference/twin-antialias-none.traps.rgb24.ref.png                        |binary
 test/reference/twin-antialias-subpixel.traps.argb32.ref.png                   |binary
 test/reference/twin-antialias-subpixel.traps.rgb24.ref.png                    |binary
 test/reference/twin.traps.argb32.ref.png                                      |binary
 test/reference/twin.traps.rgb24.ref.png                                       |binary
 test/reference/unaligned-box.traps.argb32.ref.png                             |binary
 test/reference/unaligned-box.traps.rgb24.ref.png                              |binary
 test/reference/unantialiased-shapes.traps.argb32.ref.png                      |binary
 test/reference/unantialiased-shapes.traps.rgb24.ref.png                       |binary
 test/reference/unbounded-operator.traps.argb32.ref.png                        |binary
 test/reference/unbounded-operator.traps.rgb24.ref.png                         |binary
 test/reference/unclosed-strokes.traps.argb32.ref.png                          |binary
 test/reference/unclosed-strokes.traps.rgb24.ref.png                           |binary
 test/reference/user-font-mask.traps.argb32.ref.png                            |binary
 test/reference/user-font-mask.traps.rgb24.ref.png                             |binary
 test/reference/user-font-proxy.traps.argb32.ref.png                           |binary
 test/reference/user-font-proxy.traps.rgb24.ref.png                            |binary
 test/reference/user-font-rescale.traps.argb32.ref.png                         |binary
 test/reference/user-font-rescale.traps.rgb24.ref.png                          |binary
 test/reference/user-font.traps.argb32.ref.png                                 |binary
 test/reference/user-font.traps.rgb24.ref.png                                  |binary
 test/reference/white-in-noop.traps.argb32.ref.png                             |binary
 test/reference/white-in-noop.traps.rgb24.ref.png                              |binary
 test/reference/world-map-fill.traps.argb32.ref.png                            |binary
 test/reference/world-map-fill.traps.rgb24.ref.png                             |binary
 test/reference/world-map-stroke.traps.argb32.ref.png                          |binary
 test/reference/world-map-stroke.traps.rgb24.ref.png                           |binary
 test/reference/world-map.traps.argb32.ref.png                                 |binary
 test/reference/world-map.traps.rgb24.ref.png                                  |binary
 test/reference/xcb-huge-image-shm.traps.argb32.ref.png                        |binary
 test/reference/xcb-huge-image-shm.traps.rgb24.ref.png                         |binary
 test/reference/xcb-snapshot-assert.traps.argb32.ref.png                       |binary
 test/reference/xcb-snapshot-assert.traps.rgb24.ref.png                        |binary
 test/reference/xcb-stress-cache.traps.argb32.ref.png                          |binary
 test/reference/xcb-stress-cache.traps.rgb24.ref.png                           |binary
 test/reference/xcb-surface-source.traps.argb32.ref.png                        |binary
 test/reference/xcb-surface-source.traps.rgb24.ref.png                         |binary
 test/reference/xcomposite-projection.traps.argb32.ref.png                     |binary
 test/reference/xcomposite-projection.traps.rgb24.ref.png                      |binary
 test/reference/xlib-expose-event.traps.argb32.ref.png                         |binary
 test/reference/xlib-expose-event.traps.rgb24.ref.png                          |binary
 test/reference/xlib-surface-source.traps.argb32.ref.png                       |binary
 test/reference/xlib-surface-source.traps.rgb24.ref.png                        |binary
 test/reference/zero-alpha.traps.argb32.ref.png                                |binary
 test/reference/zero-alpha.traps.rgb24.ref.png                                 |binary
 test/reference/zero-mask.traps.argb32.ref.png                                 |binary
 test/reference/zero-mask.traps.rgb24.ref.png                                  |binary
 783 files changed, 786 insertions(+), 116 deletions(-)

New commits:
commit 898e63bfc196cb80cdd5845e32ecb03bafd44f03
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Sep 16 11:50:50 2011 +0100

    test: Replace xlib reference images with the traps references
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/test/Makefile.refs b/test/Makefile.refs
index a0135b6..6511876 100644
--- a/test/Makefile.refs
+++ b/test/Makefile.refs
@@ -8,7 +8,6 @@ REFERENCE_IMAGES = \
 	reference/a1-bug.ref.png \
 	reference/a1-bug.traps.argb32.ref.png \
 	reference/a1-bug.traps.rgb24.ref.png \
-	reference/a1-bug.xlib.ref.png \
 	reference/a1-clip-fill-equal.base.argb32.ref.png \
 	reference/a1-clip-fill-equal.base.rgb24.ref.png \
 	reference/a1-clip-fill-equal.ref.png \
@@ -111,7 +110,6 @@ REFERENCE_IMAGES = \
 	reference/aliasing.ref.png \
 	reference/aliasing.traps.argb32.ref.png \
 	reference/aliasing.traps.rgb24.ref.png \
-	reference/aliasing.xlib.ref.png \
 	reference/alpha-similar.base.argb32.ref.png \
 	reference/alpha-similar.base.rgb24.ref.png \
 	reference/alpha-similar.gl.argb32.xfail.png \
@@ -164,7 +162,6 @@ REFERENCE_IMAGES = \
 	reference/big-line.ref.png \
 	reference/big-line.traps.argb32.ref.png \
 	reference/big-line.traps.rgb24.ref.png \
-	reference/big-line.xlib.ref.png \
 	reference/big-little-box.argb32.ref.png \
 	reference/big-little-box.base.argb32.ref.png \
 	reference/big-little-box.base.rgb24.ref.png \
@@ -212,14 +209,12 @@ REFERENCE_IMAGES = \
 	reference/bug-extents.ref.png \
 	reference/bug-extents.traps.argb32.ref.png \
 	reference/bug-extents.traps.rgb24.ref.png \
-	reference/bug-extents.xlib.ref.png \
 	reference/bug-seams.base.argb32.ref.png \
 	reference/bug-seams.base.rgb24.ref.png \
 	reference/bug-seams.ref.png \
 	reference/bug-seams.traps.argb32.ref.png \
 	reference/bug-seams.traps.rgb24.ref.png \
 	reference/bug-seams.xlib-fallback.ref.png \
-	reference/bug-seams.xlib.ref.png \
 	reference/caps-joins-alpha.base.argb32.ref.png \
 	reference/caps-joins-alpha.base.rgb24.ref.png \
 	reference/caps-joins-alpha.image16.ref.png \
@@ -227,7 +222,6 @@ REFERENCE_IMAGES = \
 	reference/caps-joins-alpha.ref.png \
 	reference/caps-joins-alpha.traps.argb32.ref.png \
 	reference/caps-joins-alpha.traps.rgb24.ref.png \
-	reference/caps-joins-alpha.xlib.ref.png \
 	reference/caps-joins-curve.base.argb32.ref.png \
 	reference/caps-joins-curve.base.rgb24.ref.png \
 	reference/caps-joins-curve.image16.ref.png \
@@ -236,7 +230,6 @@ REFERENCE_IMAGES = \
 	reference/caps-joins-curve.ref.png \
 	reference/caps-joins-curve.traps.argb32.ref.png \
 	reference/caps-joins-curve.traps.rgb24.ref.png \
-	reference/caps-joins-curve.xlib.ref.png \
 	reference/caps-joins.base.argb32.ref.png \
 	reference/caps-joins.base.rgb24.ref.png \
 	reference/caps-joins.image16.ref.png \
@@ -328,7 +321,6 @@ REFERENCE_IMAGES = \
 	reference/clip-disjoint.ref.png \
 	reference/clip-disjoint.traps.argb32.ref.png \
 	reference/clip-disjoint.traps.rgb24.ref.png \
-	reference/clip-disjoint.xlib.ref.png \
 	reference/clip-empty-group.base.argb32.ref.png \
 	reference/clip-empty-group.base.rgb24.ref.png \
 	reference/clip-empty-group.ref.png \
@@ -354,8 +346,6 @@ REFERENCE_IMAGES = \
 	reference/clip-fill-eo-unbounded.svg12.rgb24.xfail.png \
 	reference/clip-fill-eo-unbounded.traps.argb32.ref.png \
 	reference/clip-fill-eo-unbounded.xlib-fallback.rgb24.ref.png \
-	reference/clip-fill-eo-unbounded.xlib.argb32.ref.png \
-	reference/clip-fill-eo-unbounded.xlib.rgb24.ref.png \
 	reference/clip-fill-no-op.base.argb32.ref.png \
 	reference/clip-fill-no-op.base.rgb24.ref.png \
 	reference/clip-fill-no-op.image16.ref.png \
@@ -372,8 +362,6 @@ REFERENCE_IMAGES = \
 	reference/clip-fill-nz-unbounded.svg12.rgb24.xfail.png \
 	reference/clip-fill-nz-unbounded.traps.argb32.ref.png \
 	reference/clip-fill-nz-unbounded.xlib-fallback.rgb24.ref.png \
-	reference/clip-fill-nz-unbounded.xlib.argb32.ref.png \
-	reference/clip-fill-nz-unbounded.xlib.rgb24.ref.png \
 	reference/clip-fill-rule-pixel-aligned.base.argb32.ref.png \
 	reference/clip-fill-rule-pixel-aligned.base.rgb24.ref.png \
 	reference/clip-fill-rule-pixel-aligned.ref.png \
@@ -392,7 +380,6 @@ REFERENCE_IMAGES = \
 	reference/clip-fill-rule.test-paginated.rgb24.ref.png \
 	reference/clip-fill-rule.traps.argb32.ref.png \
 	reference/clip-fill-rule.traps.rgb24.ref.png \
-	reference/clip-fill-rule.xlib.rgb24.ref.png \
 	reference/clip-fill.base.argb32.ref.png \
 	reference/clip-fill.base.rgb24.ref.png \
 	reference/clip-fill.image16.ref.png \
@@ -402,7 +389,6 @@ REFERENCE_IMAGES = \
 	reference/clip-fill.traps.argb32.ref.png \
 	reference/clip-fill.traps.rgb24.ref.png \
 	reference/clip-fill.xlib-fallback.ref.png \
-	reference/clip-fill.xlib.ref.png \
 	reference/clip-group-shapes-aligned-rectangles.base.argb32.ref.png \
 	reference/clip-group-shapes-aligned-rectangles.base.rgb24.ref.png \
 	reference/clip-group-shapes-aligned-rectangles.ref.png \
@@ -415,13 +401,11 @@ REFERENCE_IMAGES = \
 	reference/clip-group-shapes-circles.ref.png \
 	reference/clip-group-shapes-circles.traps.argb32.ref.png \
 	reference/clip-group-shapes-circles.traps.rgb24.ref.png \
-	reference/clip-group-shapes-circles.xlib.ref.png \
 	reference/clip-group-shapes-unaligned-rectangles.base.argb32.ref.png \
 	reference/clip-group-shapes-unaligned-rectangles.base.rgb24.ref.png \
 	reference/clip-group-shapes-unaligned-rectangles.ref.png \
 	reference/clip-group-shapes-unaligned-rectangles.traps.argb32.ref.png \
 	reference/clip-group-shapes-unaligned-rectangles.traps.rgb24.ref.png \
-	reference/clip-group-shapes-unaligned-rectangles.xlib.ref.png \
 	reference/clip-image.base.argb32.ref.png \
 	reference/clip-image.base.rgb24.ref.png \
 	reference/clip-image.image16.ref.png \
@@ -451,7 +435,6 @@ REFERENCE_IMAGES = \
 	reference/clip-nesting.test-paginated.rgb24.ref.png \
 	reference/clip-nesting.traps.argb32.ref.png \
 	reference/clip-nesting.traps.rgb24.ref.png \
-	reference/clip-nesting.xlib.rgb24.ref.png \
 	reference/clip-operator.argb32.ref.png \
 	reference/clip-operator.base.argb32.ref.png \
 	reference/clip-operator.base.rgb24.ref.png \
@@ -471,8 +454,6 @@ REFERENCE_IMAGES = \
 	reference/clip-operator.test-paginated.argb32.ref.png \
 	reference/clip-operator.traps.argb32.ref.png \
 	reference/clip-operator.xlib-fallback.ref.png \
-	reference/clip-operator.xlib.ref.png \
-	reference/clip-operator.xlib.rgb24.ref.png \
 	reference/clip-push-group.base.argb32.ref.png \
 	reference/clip-push-group.base.rgb24.ref.png \
 	reference/clip-push-group.image16.ref.png \
@@ -483,7 +464,6 @@ REFERENCE_IMAGES = \
 	reference/clip-push-group.svg.ref.png \
 	reference/clip-push-group.traps.argb32.ref.png \
 	reference/clip-push-group.traps.rgb24.ref.png \
-	reference/clip-push-group.xlib.ref.png \
 	reference/clip-rotate-image-surface-paint.base.argb32.ref.png \
 	reference/clip-rotate-image-surface-paint.base.rgb24.ref.png \
 	reference/clip-rotate-image-surface-paint.ref.png \
@@ -498,7 +478,6 @@ REFERENCE_IMAGES = \
 	reference/clip-shape.traps.argb32.ref.png \
 	reference/clip-shape.traps.rgb24.ref.png \
 	reference/clip-shape.xlib-fallback.ref.png \
-	reference/clip-shape.xlib.ref.png \
 	reference/clip-stroke-no-op.base.argb32.ref.png \
 	reference/clip-stroke-no-op.base.rgb24.ref.png \
 	reference/clip-stroke-no-op.image16.ref.png \
@@ -515,8 +494,6 @@ REFERENCE_IMAGES = \
 	reference/clip-stroke-unbounded.svg12.rgb24.xfail.png \
 	reference/clip-stroke-unbounded.traps.argb32.ref.png \
 	reference/clip-stroke-unbounded.xlib-fallback.rgb24.ref.png \
-	reference/clip-stroke-unbounded.xlib.argb32.ref.png \
-	reference/clip-stroke-unbounded.xlib.rgb24.ref.png \
 	reference/clip-stroke.base.argb32.ref.png \
 	reference/clip-stroke.base.rgb24.ref.png \
 	reference/clip-stroke.image16.ref.png \
@@ -526,7 +503,6 @@ REFERENCE_IMAGES = \
 	reference/clip-stroke.traps.argb32.ref.png \
 	reference/clip-stroke.traps.rgb24.ref.png \
 	reference/clip-stroke.xlib-fallback.ref.png \
-	reference/clip-stroke.xlib.ref.png \
 	reference/clip-text.base.argb32.ref.png \
 	reference/clip-text.base.rgb24.ref.png \
 	reference/clip-text.image16.ref.png \
@@ -536,7 +512,6 @@ REFERENCE_IMAGES = \
 	reference/clip-text.svg.ref.png \
 	reference/clip-text.traps.argb32.ref.png \
 	reference/clip-text.traps.rgb24.ref.png \
-	reference/clip-text.xlib.ref.png \
 	reference/clip-twice-rectangle.base.argb32.ref.png \
 	reference/clip-twice-rectangle.base.rgb24.ref.png \
 	reference/clip-twice-rectangle.ref.png \
@@ -556,8 +531,6 @@ REFERENCE_IMAGES = \
 	reference/clip-twice.test-paginated.rgb24.ref.png \
 	reference/clip-twice.traps.argb32.ref.png \
 	reference/clip-twice.traps.rgb24.ref.png \
-	reference/clip-twice.xlib.ref.png \
-	reference/clip-twice.xlib.rgb24.ref.png \
 	reference/clip-unbounded.base.argb32.ref.png \
 	reference/clip-unbounded.base.rgb24.ref.png \
 	reference/clip-unbounded.pdf.argb32.xfail.png \
@@ -579,7 +552,6 @@ REFERENCE_IMAGES = \
 	reference/clipped-group.traps.argb32.ref.png \
 	reference/clipped-group.traps.rgb24.ref.png \
 	reference/clipped-group.xlib-fallback.ref.png \
-	reference/clipped-group.xlib.ref.png \
 	reference/clipped-surface.base.argb32.ref.png \
 	reference/clipped-surface.base.rgb24.ref.png \
 	reference/clipped-surface.image16.ref.png \
@@ -689,7 +661,6 @@ REFERENCE_IMAGES = \
 	reference/dash-curve.ref.png \
 	reference/dash-curve.traps.argb32.ref.png \
 	reference/dash-curve.traps.rgb24.ref.png \
-	reference/dash-curve.xlib.ref.png \
 	reference/dash-infinite-loop.base.argb32.ref.png \
 	reference/dash-infinite-loop.base.rgb24.ref.png \
 	reference/dash-infinite-loop.ps.ref.png \
@@ -748,7 +719,6 @@ REFERENCE_IMAGES = \
 	reference/degenerate-arc.ref.png \
 	reference/degenerate-arc.traps.argb32.ref.png \
 	reference/degenerate-arc.traps.rgb24.ref.png \
-	reference/degenerate-arc.xlib.ref.png \
 	reference/degenerate-arcs.base.argb32.ref.png \
 	reference/degenerate-arcs.base.rgb24.ref.png \
 	reference/degenerate-arcs.image16.ref.png \
@@ -770,7 +740,6 @@ REFERENCE_IMAGES = \
 	reference/degenerate-dash.ref.png \
 	reference/degenerate-dash.traps.argb32.ref.png \
 	reference/degenerate-dash.traps.rgb24.ref.png \
-	reference/degenerate-dash.xlib.ref.png \
 	reference/degenerate-linear-gradient.base.argb32.ref.png \
 	reference/degenerate-linear-gradient.base.rgb24.ref.png \
 	reference/degenerate-linear-gradient.ref.png \
@@ -793,7 +762,6 @@ REFERENCE_IMAGES = \
 	reference/degenerate-pen.ref.png \
 	reference/degenerate-pen.traps.argb32.ref.png \
 	reference/degenerate-pen.traps.rgb24.ref.png \
-	reference/degenerate-pen.xlib.ref.png \
 	reference/degenerate-radial-gradient.base.argb32.ref.png \
 	reference/degenerate-radial-gradient.base.rgb24.ref.png \
 	reference/degenerate-radial-gradient.ref.png \
@@ -975,7 +943,6 @@ REFERENCE_IMAGES = \
 	reference/fill-alpha-pattern.ref.png \
 	reference/fill-alpha-pattern.traps.argb32.ref.png \
 	reference/fill-alpha-pattern.traps.rgb24.ref.png \
-	reference/fill-alpha-pattern.xlib.ref.png \
 	reference/fill-alpha.base.argb32.ref.png \
 	reference/fill-alpha.base.rgb24.ref.png \
 	reference/fill-alpha.image16.ref.png \
@@ -984,7 +951,6 @@ REFERENCE_IMAGES = \
 	reference/fill-alpha.ref.png \
 	reference/fill-alpha.traps.argb32.ref.png \
 	reference/fill-alpha.traps.rgb24.ref.png \
-	reference/fill-alpha.xlib.ref.png \
 	reference/fill-and-stroke-alpha-add.base.argb32.ref.png \
 	reference/fill-and-stroke-alpha-add.base.rgb24.ref.png \
 	reference/fill-and-stroke-alpha-add.image16.ref.png \
@@ -1010,8 +976,6 @@ REFERENCE_IMAGES = \
 	reference/fill-and-stroke.rgb24.ref.png \
 	reference/fill-and-stroke.traps.argb32.ref.png \
 	reference/fill-and-stroke.traps.rgb24.ref.png \
-	reference/fill-and-stroke.xlib.argb32.ref.png \
-	reference/fill-and-stroke.xlib.rgb24.ref.png \
 	reference/fill-degenerate-sort-order.argb32.ref.png \
 	reference/fill-degenerate-sort-order.base.argb32.ref.png \
 	reference/fill-degenerate-sort-order.base.rgb24.ref.png \
@@ -1023,8 +987,6 @@ REFERENCE_IMAGES = \
 	reference/fill-degenerate-sort-order.rgb24.ref.png \
 	reference/fill-degenerate-sort-order.traps.argb32.ref.png \
 	reference/fill-degenerate-sort-order.traps.rgb24.ref.png \
-	reference/fill-degenerate-sort-order.xlib.ref.png \
-	reference/fill-degenerate-sort-order.xlib.rgb24.ref.png \
 	reference/fill-empty.argb32.ref.png \
 	reference/fill-empty.base.argb32.ref.png \
 	reference/fill-empty.base.rgb24.ref.png \
@@ -1040,7 +1002,6 @@ REFERENCE_IMAGES = \
 	reference/fill-image.ref.png \
 	reference/fill-image.traps.argb32.ref.png \
 	reference/fill-image.traps.rgb24.ref.png \
-	reference/fill-image.xlib.ref.png \
 	reference/fill-missed-stop.base.argb32.ref.png \
 	reference/fill-missed-stop.base.rgb24.ref.png \
 	reference/fill-missed-stop.pdf.argb32.ref.png \
@@ -1065,8 +1026,6 @@ REFERENCE_IMAGES = \
 	reference/fill-rule.rgb24.ref.png \
 	reference/fill-rule.traps.argb32.ref.png \
 	reference/fill-rule.traps.rgb24.ref.png \
-	reference/fill-rule.xlib.ref.png \
-	reference/fill-rule.xlib.rgb24.ref.png \
 	reference/filter-bilinear-extents.base.argb32.ref.png \
 	reference/filter-bilinear-extents.base.rgb24.ref.png \
 	reference/filter-bilinear-extents.image16.ref.png \
@@ -1116,8 +1075,6 @@ REFERENCE_IMAGES = \
 	reference/finer-grained-fallbacks.traps.argb32.ref.png \
 	reference/finer-grained-fallbacks.traps.rgb24.ref.png \
 	reference/finer-grained-fallbacks.xlib-fallback.ref.png \
-	reference/finer-grained-fallbacks.xlib.ref.png \
-	reference/finer-grained-fallbacks.xlib.rgb24.ref.png \
 	reference/font-matrix-translation.base.argb32.ref.png \
 	reference/font-matrix-translation.base.rgb24.ref.png \
 	reference/font-matrix-translation.image16.ref.png \
@@ -1168,7 +1125,6 @@ REFERENCE_IMAGES = \
 	reference/ft-text-vertical-layout-type1.traps.argb32.ref.png \
 	reference/ft-text-vertical-layout-type1.traps.rgb24.ref.png \
 	reference/ft-text-vertical-layout-type1.xfail.png \
-	reference/ft-text-vertical-layout-type1.xlib.ref.png \
 	reference/ft-text-vertical-layout-type3.base.argb32.ref.png \
 	reference/ft-text-vertical-layout-type3.base.rgb24.ref.png \
 	reference/ft-text-vertical-layout-type3.image16.ref.png \
@@ -1179,7 +1135,6 @@ REFERENCE_IMAGES = \
 	reference/ft-text-vertical-layout-type3.svg.ref.png \
 	reference/ft-text-vertical-layout-type3.traps.argb32.ref.png \
 	reference/ft-text-vertical-layout-type3.traps.rgb24.ref.png \
-	reference/ft-text-vertical-layout-type3.xlib.ref.png \
 	reference/get-group-target.base.argb32.ref.png \
 	reference/get-group-target.base.rgb24.ref.png \
 	reference/get-group-target.ref.png \
@@ -1251,7 +1206,6 @@ REFERENCE_IMAGES = \
 	reference/group-unaligned.traps.argb32.ref.png \
 	reference/group-unaligned.traps.rgb24.ref.png \
 	reference/group-unaligned.xlib-fallback.ref.png \
-	reference/group-unaligned.xlib.ref.png \
 	reference/halo-transform.base.argb32.ref.png \
 	reference/halo-transform.base.rgb24.ref.png \
 	reference/halo-transform.image16.ref.png \
@@ -1260,7 +1214,6 @@ REFERENCE_IMAGES = \
 	reference/halo-transform.ref.png \
 	reference/halo-transform.traps.argb32.ref.png \
 	reference/halo-transform.traps.rgb24.ref.png \
-	reference/halo-transform.xlib.ref.png \
 	reference/halo.base.argb32.ref.png \
 	reference/halo.base.rgb24.ref.png \
 	reference/halo.image16.ref.png \
@@ -1269,12 +1222,10 @@ REFERENCE_IMAGES = \
 	reference/halo.ref.png \
 	reference/halo.traps.argb32.ref.png \
 	reference/halo.traps.rgb24.ref.png \
-	reference/halo.xlib.ref.png \
 	reference/hatchings.base.argb32.ref.png \
 	reference/hatchings.base.rgb24.ref.png \
 	reference/hatchings.ref.png \
 	reference/hatchings.traps.argb32.ref.png \
-	reference/hatchings.xlib.ref.png \
 	reference/horizontal-clip.base.argb32.ref.png \
 	reference/horizontal-clip.base.rgb24.ref.png \
 	reference/horizontal-clip.ref.png \
@@ -1309,7 +1260,6 @@ REFERENCE_IMAGES = \
 	reference/image-bug-710072-unaligned.ref.png \
 	reference/image-bug-710072-unaligned.traps.argb32.ref.png \
 	reference/image-bug-710072-unaligned.traps.rgb24.ref.png \
-	reference/image-bug-710072-unaligned.xlib.ref.png \
 	reference/image-surface-source.argb32.ref.png \
 	reference/image-surface-source.base.argb32.ref.png \
 	reference/image-surface-source.base.rgb24.ref.png \
@@ -1392,7 +1342,6 @@ REFERENCE_IMAGES = \
 	reference/large-twin-antialias-mixed.ref.png \
 	reference/large-twin-antialias-mixed.traps.argb32.ref.png \
 	reference/large-twin-antialias-mixed.traps.rgb24.ref.png \
-	reference/large-twin-antialias-mixed.xlib.ref.png \
 	reference/leaky-dash.base.argb32.ref.png \
 	reference/leaky-dash.base.rgb24.ref.png \
 	reference/leaky-dash.ps2.argb32.ref.png \
@@ -1412,7 +1361,6 @@ REFERENCE_IMAGES = \
 	reference/leaky-dashed-rectangle.ref.png \
 	reference/leaky-dashed-rectangle.traps.argb32.ref.png \
 	reference/leaky-dashed-rectangle.traps.rgb24.ref.png \
-	reference/leaky-dashed-rectangle.xlib.ref.png \
 	reference/leaky-dashed-stroke.base.argb32.ref.png \
 	reference/leaky-dashed-stroke.base.rgb24.ref.png \
 	reference/leaky-dashed-stroke.image16.ref.png \
@@ -1421,7 +1369,6 @@ REFERENCE_IMAGES = \
 	reference/leaky-dashed-stroke.ref.png \
 	reference/leaky-dashed-stroke.traps.argb32.ref.png \
 	reference/leaky-dashed-stroke.traps.rgb24.ref.png \
-	reference/leaky-dashed-stroke.xlib.ref.png \
 	reference/leaky-polygon.base.argb32.ref.png \
 	reference/leaky-polygon.base.rgb24.ref.png \
 	reference/leaky-polygon.image16.ref.png \
@@ -1512,7 +1459,6 @@ REFERENCE_IMAGES = \
 	reference/linear-gradient-subset.ref.png \
 	reference/linear-gradient-subset.traps.argb32.ref.png \
 	reference/linear-gradient-subset.traps.rgb24.ref.png \
-	reference/linear-gradient-subset.xlib.ref.png \
 	reference/linear-gradient.base.argb32.ref.png \
 	reference/linear-gradient.base.rgb24.ref.png \
 	reference/linear-gradient.image16.ref.png \
@@ -1521,7 +1467,6 @@ REFERENCE_IMAGES = \
 	reference/linear-gradient.ref.png \
 	reference/linear-gradient.traps.argb32.ref.png \
 	reference/linear-gradient.traps.rgb24.ref.png \
-	reference/linear-gradient.xlib.ref.png \
 	reference/linear-step-function.base.argb32.ref.png \
 	reference/linear-step-function.base.rgb24.ref.png \
 	reference/linear-step-function.traps.argb32.ref.png \
@@ -1570,8 +1515,6 @@ REFERENCE_IMAGES = \
 	reference/mask-alpha.svg.rgb24.xfail.png \
 	reference/mask-alpha.traps.argb32.ref.png \
 	reference/mask-alpha.traps.rgb24.ref.png \
-	reference/mask-alpha.xlib.ref.png \
-	reference/mask-alpha.xlib.rgb24.ref.png \
 	reference/mask-ctm.base.argb32.ref.png \
 	reference/mask-ctm.base.rgb24.ref.png \
 	reference/mask-ctm.ref.png \
@@ -1619,8 +1562,6 @@ REFERENCE_IMAGES = \
 	reference/mask.svg.rgb24.xfail.png \
 	reference/mask.traps.argb32.ref.png \
 	reference/mask.traps.rgb24.ref.png \
-	reference/mask.xlib.ref.png \
-	reference/mask.xlib.rgb24.ref.png \
 	reference/mesh-pattern-accuracy.base.argb32.ref.png \
 	reference/mesh-pattern-accuracy.base.rgb24.ref.png \
 	reference/mesh-pattern-accuracy.image16.ref.png \
@@ -1736,8 +1677,6 @@ REFERENCE_IMAGES = \
 	reference/operator-clear.svg12.rgb24.xfail.png \
 	reference/operator-clear.traps.argb32.ref.png \
 	reference/operator-clear.traps.rgb24.ref.png \
-	reference/operator-clear.xlib.argb32.ref.png \
-	reference/operator-clear.xlib.rgb24.ref.png \
 	reference/operator-source.base.argb32.ref.png \
 	reference/operator-source.base.rgb24.ref.png \
 	reference/operator-source.image16.ref.png \
@@ -1746,8 +1685,6 @@ REFERENCE_IMAGES = \
 	reference/operator-source.traps.argb32.ref.png \
 	reference/operator-source.traps.rgb24.ref.png \
 	reference/operator-source.xlib-fallback.ref.png \
-	reference/operator-source.xlib.ref.png \
-	reference/operator-source.xlib.rgb24.ref.png \
 	reference/operator.base.argb32.ref.png \
 	reference/operator.base.rgb24.ref.png \
 	reference/operator.ref.png \
@@ -1767,8 +1704,6 @@ REFERENCE_IMAGES = \
 	reference/over-above-source.svg12.rgb24.xfail.png \
 	reference/over-above-source.traps.argb32.ref.png \
 	reference/over-above-source.traps.rgb24.ref.png \
-	reference/over-above-source.xlib.ref.png \
-	reference/over-above-source.xlib.rgb24.ref.png \
 	reference/over-around-source.base.argb32.ref.png \
 	reference/over-around-source.base.rgb24.ref.png \
 	reference/over-around-source.image16.ref.png \
@@ -1784,8 +1719,6 @@ REFERENCE_IMAGES = \
 	reference/over-around-source.svg12.rgb24.xfail.png \
 	reference/over-around-source.traps.argb32.ref.png \
 	reference/over-around-source.traps.rgb24.ref.png \
-	reference/over-around-source.xlib.ref.png \
-	reference/over-around-source.xlib.rgb24.ref.png \
 	reference/over-below-source.base.argb32.ref.png \
 	reference/over-below-source.base.rgb24.ref.png \
 	reference/over-below-source.pdf.argb32.ref.png \
@@ -1810,8 +1743,6 @@ REFERENCE_IMAGES = \
 	reference/over-between-source.svg12.rgb24.xfail.png \
 	reference/over-between-source.traps.argb32.ref.png \
 	reference/over-between-source.traps.rgb24.ref.png \
-	reference/over-between-source.xlib.ref.png \
-	reference/over-between-source.xlib.rgb24.ref.png \
 	reference/overlapping-boxes.argb32.ref.png \
 	reference/overlapping-boxes.base.argb32.ref.png \
 	reference/overlapping-boxes.base.rgb24.ref.png \
@@ -1867,7 +1798,6 @@ REFERENCE_IMAGES = \
 	reference/paint-with-alpha-clip.ref.png \
 	reference/paint-with-alpha-clip.traps.argb32.ref.png \
 	reference/paint-with-alpha-clip.traps.rgb24.ref.png \
-	reference/paint-with-alpha-clip.xlib.ref.png \
 	reference/paint-with-alpha-solid-clip.base.argb32.ref.png \
 	reference/paint-with-alpha-solid-clip.base.rgb24.ref.png \
 	reference/paint-with-alpha-solid-clip.ref.png \
@@ -1944,7 +1874,6 @@ REFERENCE_IMAGES = \
 	reference/path-append.traps.argb32.ref.png \
 	reference/path-append.traps.rgb24.ref.png \
 	reference/path-append.xlib-fallback.ref.png \
-	reference/path-append.xlib.ref.png \
 	reference/path-stroke-twice.base.argb32.ref.png \
 	reference/path-stroke-twice.base.rgb24.ref.png \
 	reference/path-stroke-twice.image16.ref.png \
@@ -2014,7 +1943,6 @@ REFERENCE_IMAGES = \
 	reference/push-group-color.ref.png \
 	reference/push-group-color.traps.argb32.ref.png \
 	reference/push-group-color.traps.rgb24.ref.png \
-	reference/push-group-color.xlib.ref.png \
 	reference/push-group-path-offset.base.argb32.ref.png \
 	reference/push-group-path-offset.base.rgb24.ref.png \
 	reference/push-group-path-offset.ref.png \
@@ -2029,8 +1957,6 @@ REFERENCE_IMAGES = \
 	reference/push-group.rgb24.ref.png \
 	reference/push-group.traps.argb32.ref.png \
 	reference/push-group.traps.rgb24.ref.png \
-	reference/push-group.xlib.ref.png \
-	reference/push-group.xlib.rgb24.ref.png \
 	reference/quartz-surface-source.argb32.ref.png \
 	reference/quartz-surface-source.ps2.ref.png \
 	reference/quartz-surface-source.ps3.ref.png \
@@ -2049,8 +1975,6 @@ REFERENCE_IMAGES = \
 	reference/radial-gradient-mask-source.quartz.rgb24.ref.png \
 	reference/radial-gradient-mask-source.traps.argb32.ref.png \
 	reference/radial-gradient-mask-source.traps.rgb24.ref.png \
-	reference/radial-gradient-mask-source.xlib.argb32.ref.png \
-	reference/radial-gradient-mask-source.xlib.rgb24.ref.png \
 	reference/radial-gradient-mask.base.argb32.ref.png \
 	reference/radial-gradient-mask.base.rgb24.ref.png \
 	reference/radial-gradient-mask.image16.ref.png \
@@ -2095,7 +2019,6 @@ REFERENCE_IMAGES = \
 	reference/random-intersections-curves-eo.traps.argb32.ref.png \
 	reference/random-intersections-curves-eo.traps.rgb24.ref.png \
 	reference/random-intersections-curves-eo.xlib-fallback.ref.png \
-	reference/random-intersections-curves-eo.xlib.ref.png \
 	reference/random-intersections-curves-nz.base.argb32.ref.png \
 	reference/random-intersections-curves-nz.base.rgb24.ref.png \
 	reference/random-intersections-curves-nz.image16.ref.png \
@@ -2106,7 +2029,6 @@ REFERENCE_IMAGES = \
 	reference/random-intersections-curves-nz.traps.argb32.ref.png \
 	reference/random-intersections-curves-nz.traps.rgb24.ref.png \
 	reference/random-intersections-curves-nz.xlib-fallback.ref.png \
-	reference/random-intersections-curves-nz.xlib.ref.png \
 	reference/random-intersections-eo.base.argb32.ref.png \
 	reference/random-intersections-eo.base.rgb24.ref.png \
 	reference/random-intersections-eo.image16.ref.png \
@@ -2115,7 +2037,6 @@ REFERENCE_IMAGES = \
 	reference/random-intersections-eo.ref.png \
 	reference/random-intersections-eo.traps.argb32.ref.png \
 	reference/random-intersections-eo.traps.rgb24.ref.png \
-	reference/random-intersections-eo.xlib.ref.png \
 	reference/random-intersections-nonzero.base.argb32.ref.png \
 	reference/random-intersections-nonzero.base.rgb24.ref.png \
 	reference/random-intersections-nonzero.image16.ref.png \
@@ -2124,7 +2045,6 @@ REFERENCE_IMAGES = \
 	reference/random-intersections-nonzero.ref.png \
 	reference/random-intersections-nonzero.traps.argb32.ref.png \
 	reference/random-intersections-nonzero.traps.rgb24.ref.png \
-	reference/random-intersections-nonzero.xlib.ref.png \
 	reference/record-extend-none-similar.ref.png \
 	reference/record-extend-none-similar.traps.argb32.ref.png \
 	reference/record-extend-none-similar.traps.rgb24.ref.png \
@@ -2213,8 +2133,6 @@ REFERENCE_IMAGES = \
 	reference/recording-surface-over.svg.rgb24.ref.png \
 	reference/recording-surface-over.traps.argb32.ref.png \
 	reference/recording-surface-over.traps.rgb24.ref.png \
-	reference/recording-surface-over.xlib.argb32.ref.png \
-	reference/recording-surface-over.xlib.rgb24.ref.png \
 	reference/recording-surface-source.argb32.ref.png \
 	reference/recording-surface-source.base.argb32.ref.png \
 	reference/recording-surface-source.base.rgb24.ref.png \
@@ -2299,7 +2217,6 @@ REFERENCE_IMAGES = \
 	reference/rotated-clip.ref.png \
 	reference/rotated-clip.traps.argb32.ref.png \
 	reference/rotated-clip.traps.rgb24.ref.png \
-	reference/rotated-clip.xlib.ref.png \
 	reference/rounded-rectangle-fill.base.argb32.ref.png \
 	reference/rounded-rectangle-fill.base.rgb24.ref.png \
 	reference/rounded-rectangle-fill.image16.ref.png \
@@ -2308,7 +2225,6 @@ REFERENCE_IMAGES = \
 	reference/rounded-rectangle-fill.ref.png \
 	reference/rounded-rectangle-fill.traps.argb32.ref.png \
 	reference/rounded-rectangle-fill.traps.rgb24.ref.png \
-	reference/rounded-rectangle-fill.xlib.ref.png \
 	reference/rounded-rectangle-stroke.base.argb32.ref.png \
 	reference/rounded-rectangle-stroke.base.rgb24.ref.png \
 	reference/rounded-rectangle-stroke.image16.ref.png \
@@ -2316,7 +2232,6 @@ REFERENCE_IMAGES = \
 	reference/rounded-rectangle-stroke.ref.png \
 	reference/rounded-rectangle-stroke.traps.argb32.ref.png \
 	reference/rounded-rectangle-stroke.traps.rgb24.ref.png \
-	reference/rounded-rectangle-stroke.xlib.ref.png \
 	reference/scale-down-source-surface-paint.base.argb32.ref.png \
 	reference/scale-down-source-surface-paint.base.rgb24.ref.png \
 	reference/scale-down-source-surface-paint.ref.png \
@@ -2336,7 +2251,6 @@ REFERENCE_IMAGES = \
 	reference/scale-offset-image.traps.rgb24.ref.png \
 	reference/scale-offset-image.xfail.png \
 	reference/scale-offset-image.xlib-fallback.xfail.png \
-	reference/scale-offset-image.xlib.ref.png \
 	reference/scale-offset-similar.base.argb32.ref.png \
 	reference/scale-offset-similar.base.rgb24.ref.png \
 	reference/scale-offset-similar.gl.ref.png \
@@ -2390,7 +2304,6 @@ REFERENCE_IMAGES = \
 	reference/self-intersecting.ref.png \
 	reference/self-intersecting.traps.argb32.ref.png \
 	reference/self-intersecting.traps.rgb24.ref.png \
-	reference/self-intersecting.xlib.ref.png \
 	reference/set-source.base.argb32.ref.png \
 	reference/set-source.base.rgb24.ref.png \
 	reference/set-source.ref.png \
@@ -2445,7 +2358,6 @@ REFERENCE_IMAGES = \
 	reference/smask-fill.svg.ref.png \
 	reference/smask-fill.traps.argb32.ref.png \
 	reference/smask-fill.traps.rgb24.ref.png \
-	reference/smask-fill.xlib.ref.png \
 	reference/smask-image-mask.base.argb32.ref.png \
 	reference/smask-image-mask.base.rgb24.ref.png \
 	reference/smask-image-mask.ref.png \
@@ -2477,7 +2389,6 @@ REFERENCE_IMAGES = \
 	reference/smask-stroke.ref.png \
 	reference/smask-stroke.traps.argb32.ref.png \
 	reference/smask-stroke.traps.rgb24.ref.png \
-	reference/smask-stroke.xlib.ref.png \
 	reference/smask-text.base.argb32.ref.png \
 	reference/smask-text.base.rgb24.ref.png \
 	reference/smask-text.image16.ref.png \
@@ -2491,7 +2402,6 @@ REFERENCE_IMAGES = \
 	reference/smask-text.traps.argb32.ref.png \
 	reference/smask-text.traps.rgb24.ref.png \
 	reference/smask-text.xlib-fallback.ref.png \
-	reference/smask-text.xlib.ref.png \
 	reference/smask.base.argb32.ref.png \
 	reference/smask.base.rgb24.ref.png \
 	reference/smask.image16.ref.png \
@@ -2504,7 +2414,6 @@ REFERENCE_IMAGES = \
 	reference/smask.traps.argb32.ref.png \
 	reference/smask.traps.rgb24.ref.png \
 	reference/smask.xlib-fallback.ref.png \
-	reference/smask.xlib.ref.png \
 	reference/solid-pattern-cache-stress.base.argb32.ref.png \
 	reference/solid-pattern-cache-stress.base.rgb24.ref.png \
 	reference/solid-pattern-cache-stress.ref.png \
@@ -2544,7 +2453,6 @@ REFERENCE_IMAGES = \
 	reference/spline-decomposition.svg.ref.png \
 	reference/spline-decomposition.traps.argb32.ref.png \
 	reference/spline-decomposition.traps.rgb24.ref.png \
-	reference/spline-decomposition.xlib.ref.png \
 	reference/stroke-ctm-caps.base.argb32.ref.png \
 	reference/stroke-ctm-caps.base.rgb24.ref.png \
 	reference/stroke-ctm-caps.image16.ref.png \
@@ -2563,7 +2471,6 @@ REFERENCE_IMAGES = \
 	reference/stroke-image.ref.png \
 	reference/stroke-image.traps.argb32.ref.png \
 	reference/stroke-image.traps.rgb24.ref.png \
-	reference/stroke-image.xlib.ref.png \
 	reference/stroke-open-box.base.argb32.ref.png \
 	reference/stroke-open-box.base.rgb24.ref.png \
 	reference/stroke-open-box.ref.png \
@@ -2617,7 +2524,6 @@ REFERENCE_IMAGES = \
 	reference/subsurface.ref.png \
 	reference/subsurface.traps.argb32.ref.png \
 	reference/subsurface.traps.rgb24.ref.png \
-	reference/subsurface.xlib.ref.png \
 	reference/surface-pattern-big-scale-down.base.argb32.ref.png \
 	reference/surface-pattern-big-scale-down.base.rgb24.ref.png \
 	reference/surface-pattern-big-scale-down.ps.ref.png \
@@ -2636,8 +2542,6 @@ REFERENCE_IMAGES = \
 	reference/surface-pattern-operator.rgb24.ref.png \
 	reference/surface-pattern-operator.traps.argb32.ref.png \
 	reference/surface-pattern-operator.traps.rgb24.ref.png \
-	reference/surface-pattern-operator.xlib.argb32.ref.png \
-	reference/surface-pattern-operator.xlib.rgb24.ref.png \
 	reference/surface-pattern-scale-down-extend-none.base.argb32.ref.png \
 	reference/surface-pattern-scale-down-extend-none.base.rgb24.ref.png \
 	reference/surface-pattern-scale-down-extend-none.quartz.ref.png \
@@ -2756,7 +2660,6 @@ REFERENCE_IMAGES = \
 	reference/text-rotate.traps.argb32.ref.png \
 	reference/text-rotate.traps.rgb24.ref.png \
 	reference/text-rotate.xlib-fallback.ref.png \
-	reference/text-rotate.xlib.ref.png \
 	reference/text-transform.base.argb32.ref.png \
 	reference/text-transform.base.rgb24.ref.png \
 	reference/text-transform.image16.ref.png \
@@ -2804,35 +2707,29 @@ REFERENCE_IMAGES = \
 	reference/trap-clip.test-paginated.argb32.ref.png \
 	reference/trap-clip.traps.argb32.ref.png \
 	reference/trap-clip.traps.rgb24.ref.png \
-	reference/trap-clip.xlib.ref.png \
-	reference/trap-clip.xlib.rgb24.ref.png \
 	reference/twin-antialias-gray.base.argb32.ref.png \
 	reference/twin-antialias-gray.base.rgb24.ref.png \
 	reference/twin-antialias-gray.image16.ref.png \
 	reference/twin-antialias-gray.ref.png \
 	reference/twin-antialias-gray.traps.argb32.ref.png \
 	reference/twin-antialias-gray.traps.rgb24.ref.png \
-	reference/twin-antialias-gray.xlib.ref.png \
 	reference/twin-antialias-mixed.base.argb32.ref.png \
 	reference/twin-antialias-mixed.base.rgb24.ref.png \
 	reference/twin-antialias-mixed.image16.ref.png \
 	reference/twin-antialias-mixed.ref.png \
 	reference/twin-antialias-mixed.traps.argb32.ref.png \
 	reference/twin-antialias-mixed.traps.rgb24.ref.png \
-	reference/twin-antialias-mixed.xlib.ref.png \
 	reference/twin-antialias-none.base.argb32.ref.png \
 	reference/twin-antialias-none.base.rgb24.ref.png \
 	reference/twin-antialias-none.ref.png \
 	reference/twin-antialias-none.traps.argb32.ref.png \
 	reference/twin-antialias-none.traps.rgb24.ref.png \
-	reference/twin-antialias-none.xlib.ref.png \
 	reference/twin-antialias-subpixel.base.argb32.ref.png \
 	reference/twin-antialias-subpixel.base.rgb24.ref.png \
 	reference/twin-antialias-subpixel.image16.ref.png \
 	reference/twin-antialias-subpixel.ref.png \
 	reference/twin-antialias-subpixel.traps.argb32.ref.png \
 	reference/twin-antialias-subpixel.traps.rgb24.ref.png \
-	reference/twin-antialias-subpixel.xlib.ref.png \
 	reference/twin.base.argb32.ref.png \
 	reference/twin.base.rgb24.ref.png \
 	reference/twin.image16.ref.png \
@@ -2841,7 +2738,6 @@ REFERENCE_IMAGES = \
 	reference/twin.svg.ref.png \
 	reference/twin.traps.argb32.ref.png \
 	reference/twin.traps.rgb24.ref.png \
-	reference/twin.xlib.ref.png \
 	reference/unaligned-box.base.argb32.ref.png \
 	reference/unaligned-box.base.rgb24.ref.png \
 	reference/unaligned-box.ref.png \
@@ -2869,7 +2765,6 @@ REFERENCE_IMAGES = \
 	reference/unbounded-operator.svg12.rgb24.xfail.png \
 	reference/unbounded-operator.traps.argb32.ref.png \
 	reference/unbounded-operator.traps.rgb24.ref.png \
-	reference/unbounded-operator.xlib.rgb24.ref.png \
 	reference/unclosed-strokes.base.argb32.ref.png \
 	reference/unclosed-strokes.base.rgb24.ref.png \
 	reference/unclosed-strokes.ref.png \
@@ -2897,7 +2792,6 @@ REFERENCE_IMAGES = \
 	reference/user-font-proxy.svg.ref.png \
 	reference/user-font-proxy.traps.argb32.ref.png \
 	reference/user-font-proxy.traps.rgb24.ref.png \
-	reference/user-font-proxy.xlib.ref.png \
 	reference/user-font-rescale.base.argb32.ref.png \
 	reference/user-font-rescale.base.rgb24.ref.png \
 	reference/user-font-rescale.image16.ref.png \
@@ -2917,7 +2811,6 @@ REFERENCE_IMAGES = \
 	reference/user-font.svg.ref.png \
 	reference/user-font.traps.argb32.ref.png \
 	reference/user-font.traps.rgb24.ref.png \
-	reference/user-font.xlib.ref.png \
 	reference/white-in-noop.base.argb32.ref.png \
 	reference/white-in-noop.base.rgb24.ref.png \
 	reference/white-in-noop.ref.png \
diff --git a/test/reference/a1-bug.xlib.ref.png b/test/reference/a1-bug.xlib.ref.png
deleted file mode 100644
index 4b08e06..0000000
Binary files a/test/reference/a1-bug.xlib.ref.png and /dev/null differ
diff --git a/test/reference/aliasing.xlib.ref.png b/test/reference/aliasing.xlib.ref.png
deleted file mode 100644
index 696611d..0000000
Binary files a/test/reference/aliasing.xlib.ref.png and /dev/null differ
diff --git a/test/reference/big-line.xlib.ref.png b/test/reference/big-line.xlib.ref.png
deleted file mode 100644
index 66a3877..0000000
Binary files a/test/reference/big-line.xlib.ref.png and /dev/null differ
diff --git a/test/reference/bug-extents.xlib.ref.png b/test/reference/bug-extents.xlib.ref.png
deleted file mode 100644
index c2db4f0..0000000
Binary files a/test/reference/bug-extents.xlib.ref.png and /dev/null differ
diff --git a/test/reference/bug-seams.xlib.ref.png b/test/reference/bug-seams.xlib.ref.png
deleted file mode 100644
index ac80651..0000000
Binary files a/test/reference/bug-seams.xlib.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-alpha.xlib.ref.png b/test/reference/caps-joins-alpha.xlib.ref.png
deleted file mode 100644
index 288a500..0000000
Binary files a/test/reference/caps-joins-alpha.xlib.ref.png and /dev/null differ
diff --git a/test/reference/caps-joins-curve.xlib.ref.png b/test/reference/caps-joins-curve.xlib.ref.png
deleted file mode 100644
index be7688d..0000000
Binary files a/test/reference/caps-joins-curve.xlib.ref.png and /dev/null differ
diff --git a/test/reference/clip-disjoint.xlib.ref.png b/test/reference/clip-disjoint.xlib.ref.png
deleted file mode 100644
index 8a1104f..0000000
Binary files a/test/reference/clip-disjoint.xlib.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-eo-unbounded.xlib.argb32.ref.png b/test/reference/clip-fill-eo-unbounded.xlib.argb32.ref.png
deleted file mode 100644
index 3a2363c..0000000
Binary files a/test/reference/clip-fill-eo-unbounded.xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-eo-unbounded.xlib.rgb24.ref.png b/test/reference/clip-fill-eo-unbounded.xlib.rgb24.ref.png
deleted file mode 100644
index 1461e66..0000000
Binary files a/test/reference/clip-fill-eo-unbounded.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-nz-unbounded.xlib.argb32.ref.png b/test/reference/clip-fill-nz-unbounded.xlib.argb32.ref.png
deleted file mode 100644
index 3a2363c..0000000
Binary files a/test/reference/clip-fill-nz-unbounded.xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-nz-unbounded.xlib.rgb24.ref.png b/test/reference/clip-fill-nz-unbounded.xlib.rgb24.ref.png
deleted file mode 100644
index 1461e66..0000000
Binary files a/test/reference/clip-fill-nz-unbounded.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill-rule.xlib.rgb24.ref.png b/test/reference/clip-fill-rule.xlib.rgb24.ref.png
deleted file mode 100644
index a969e36..0000000
Binary files a/test/reference/clip-fill-rule.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-fill.xlib.ref.png b/test/reference/clip-fill.xlib.ref.png
deleted file mode 100644
index d6e84a3..0000000
Binary files a/test/reference/clip-fill.xlib.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-circles.xlib.ref.png b/test/reference/clip-group-shapes-circles.xlib.ref.png
deleted file mode 100644
index 1a67714..0000000
Binary files a/test/reference/clip-group-shapes-circles.xlib.ref.png and /dev/null differ
diff --git a/test/reference/clip-group-shapes-unaligned-rectangles.xlib.ref.png b/test/reference/clip-group-shapes-unaligned-rectangles.xlib.ref.png
deleted file mode 100644
index 877e78b..0000000
Binary files a/test/reference/clip-group-shapes-unaligned-rectangles.xlib.ref.png and /dev/null differ
diff --git a/test/reference/clip-nesting.xlib.rgb24.ref.png b/test/reference/clip-nesting.xlib.rgb24.ref.png
deleted file mode 100644
index e2488f3..0000000
Binary files a/test/reference/clip-nesting.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.xlib.ref.png b/test/reference/clip-operator.xlib.ref.png
deleted file mode 100644
index 4ea1842..0000000
Binary files a/test/reference/clip-operator.xlib.ref.png and /dev/null differ
diff --git a/test/reference/clip-operator.xlib.rgb24.ref.png b/test/reference/clip-operator.xlib.rgb24.ref.png
deleted file mode 100644
index 7ab964c..0000000
Binary files a/test/reference/clip-operator.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-push-group.xlib.ref.png b/test/reference/clip-push-group.xlib.ref.png
deleted file mode 100644
index de6ac63..0000000
Binary files a/test/reference/clip-push-group.xlib.ref.png and /dev/null differ
diff --git a/test/reference/clip-shape.xlib.ref.png b/test/reference/clip-shape.xlib.ref.png
deleted file mode 100644
index a6804a7..0000000
Binary files a/test/reference/clip-shape.xlib.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-unbounded.xlib.argb32.ref.png b/test/reference/clip-stroke-unbounded.xlib.argb32.ref.png
deleted file mode 100644
index 4c7077d..0000000
Binary files a/test/reference/clip-stroke-unbounded.xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke-unbounded.xlib.rgb24.ref.png b/test/reference/clip-stroke-unbounded.xlib.rgb24.ref.png
deleted file mode 100644
index 5d5188b..0000000
Binary files a/test/reference/clip-stroke-unbounded.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clip-stroke.xlib.ref.png b/test/reference/clip-stroke.xlib.ref.png
deleted file mode 100644
index cef5000..0000000
Binary files a/test/reference/clip-stroke.xlib.ref.png and /dev/null differ
diff --git a/test/reference/clip-text.xlib.ref.png b/test/reference/clip-text.xlib.ref.png
deleted file mode 100644
index be27b96..0000000
Binary files a/test/reference/clip-text.xlib.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.xlib.ref.png b/test/reference/clip-twice.xlib.ref.png
deleted file mode 100644
index 8dc86f3..0000000
Binary files a/test/reference/clip-twice.xlib.ref.png and /dev/null differ
diff --git a/test/reference/clip-twice.xlib.rgb24.ref.png b/test/reference/clip-twice.xlib.rgb24.ref.png
deleted file mode 100644
index 3f1c013..0000000
Binary files a/test/reference/clip-twice.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/clipped-group.xlib.ref.png b/test/reference/clipped-group.xlib.ref.png
deleted file mode 100644
index b25c9f4..0000000
Binary files a/test/reference/clipped-group.xlib.ref.png and /dev/null differ
diff --git a/test/reference/dash-curve.xlib.ref.png b/test/reference/dash-curve.xlib.ref.png
deleted file mode 100644
index 7621260..0000000
Binary files a/test/reference/dash-curve.xlib.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-arc.xlib.ref.png b/test/reference/degenerate-arc.xlib.ref.png
deleted file mode 100644
index 5112d7f..0000000
Binary files a/test/reference/degenerate-arc.xlib.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-dash.xlib.ref.png b/test/reference/degenerate-dash.xlib.ref.png
deleted file mode 100644
index a1b2e83..0000000
Binary files a/test/reference/degenerate-dash.xlib.ref.png and /dev/null differ
diff --git a/test/reference/degenerate-pen.xlib.ref.png b/test/reference/degenerate-pen.xlib.ref.png
deleted file mode 100644
index b7dcaad..0000000
Binary files a/test/reference/degenerate-pen.xlib.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha-pattern.xlib.ref.png b/test/reference/fill-alpha-pattern.xlib.ref.png
deleted file mode 100644
index 0031c04..0000000
Binary files a/test/reference/fill-alpha-pattern.xlib.ref.png and /dev/null differ
diff --git a/test/reference/fill-alpha.xlib.ref.png b/test/reference/fill-alpha.xlib.ref.png
deleted file mode 100644
index 61aaac2..0000000
Binary files a/test/reference/fill-alpha.xlib.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.xlib.argb32.ref.png b/test/reference/fill-and-stroke.xlib.argb32.ref.png
deleted file mode 100644
index 5f77c92..0000000
Binary files a/test/reference/fill-and-stroke.xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/fill-and-stroke.xlib.rgb24.ref.png b/test/reference/fill-and-stroke.xlib.rgb24.ref.png
deleted file mode 100644
index f4035eb..0000000
Binary files a/test/reference/fill-and-stroke.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.xlib.ref.png b/test/reference/fill-degenerate-sort-order.xlib.ref.png
deleted file mode 100644
index 8278d76..0000000
Binary files a/test/reference/fill-degenerate-sort-order.xlib.ref.png and /dev/null differ
diff --git a/test/reference/fill-degenerate-sort-order.xlib.rgb24.ref.png b/test/reference/fill-degenerate-sort-order.xlib.rgb24.ref.png
deleted file mode 100644
index 6c76eaf..0000000
Binary files a/test/reference/fill-degenerate-sort-order.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/fill-image.xlib.ref.png b/test/reference/fill-image.xlib.ref.png
deleted file mode 100644
index b07fc14..0000000
Binary files a/test/reference/fill-image.xlib.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.xlib.ref.png b/test/reference/fill-rule.xlib.ref.png
deleted file mode 100644
index e2e10d4..0000000
Binary files a/test/reference/fill-rule.xlib.ref.png and /dev/null differ
diff --git a/test/reference/fill-rule.xlib.rgb24.ref.png b/test/reference/fill-rule.xlib.rgb24.ref.png
deleted file mode 100644
index 68d2b9b..0000000
Binary files a/test/reference/fill-rule.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.xlib.ref.png b/test/reference/finer-grained-fallbacks.xlib.ref.png
deleted file mode 100644
index accb01b..0000000
Binary files a/test/reference/finer-grained-fallbacks.xlib.ref.png and /dev/null differ
diff --git a/test/reference/finer-grained-fallbacks.xlib.rgb24.ref.png b/test/reference/finer-grained-fallbacks.xlib.rgb24.ref.png
deleted file mode 100644
index 0e6094c..0000000
Binary files a/test/reference/finer-grained-fallbacks.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type1.xlib.ref.png b/test/reference/ft-text-vertical-layout-type1.xlib.ref.png
deleted file mode 100644
index f92bcf0..0000000
Binary files a/test/reference/ft-text-vertical-layout-type1.xlib.ref.png and /dev/null differ
diff --git a/test/reference/ft-text-vertical-layout-type3.xlib.ref.png b/test/reference/ft-text-vertical-layout-type3.xlib.ref.png
deleted file mode 100644
index 82374b7..0000000
Binary files a/test/reference/ft-text-vertical-layout-type3.xlib.ref.png and /dev/null differ
diff --git a/test/reference/group-unaligned.xlib.ref.png b/test/reference/group-unaligned.xlib.ref.png
deleted file mode 100644
index c62aa5a..0000000
Binary files a/test/reference/group-unaligned.xlib.ref.png and /dev/null differ
diff --git a/test/reference/halo-transform.xlib.ref.png b/test/reference/halo-transform.xlib.ref.png
deleted file mode 100644
index 3abef9f..0000000
Binary files a/test/reference/halo-transform.xlib.ref.png and /dev/null differ
diff --git a/test/reference/halo.xlib.ref.png b/test/reference/halo.xlib.ref.png
deleted file mode 100644
index 0433b66..0000000
Binary files a/test/reference/halo.xlib.ref.png and /dev/null differ
diff --git a/test/reference/hatchings.xlib.ref.png b/test/reference/hatchings.xlib.ref.png
deleted file mode 100644
index 2b319ad..0000000
Binary files a/test/reference/hatchings.xlib.ref.png and /dev/null differ
diff --git a/test/reference/image-bug-710072-unaligned.xlib.ref.png b/test/reference/image-bug-710072-unaligned.xlib.ref.png
deleted file mode 100644
index 0a5a6e6..0000000
Binary files a/test/reference/image-bug-710072-unaligned.xlib.ref.png and /dev/null differ
diff --git a/test/reference/large-twin-antialias-mixed.xlib.ref.png b/test/reference/large-twin-antialias-mixed.xlib.ref.png
deleted file mode 100644
index 6f55426..0000000
Binary files a/test/reference/large-twin-antialias-mixed.xlib.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-rectangle.xlib.ref.png b/test/reference/leaky-dashed-rectangle.xlib.ref.png
deleted file mode 100644
index 8f9a65d..0000000
Binary files a/test/reference/leaky-dashed-rectangle.xlib.ref.png and /dev/null differ
diff --git a/test/reference/leaky-dashed-stroke.xlib.ref.png b/test/reference/leaky-dashed-stroke.xlib.ref.png
deleted file mode 100644
index 4ebf1a7..0000000
Binary files a/test/reference/leaky-dashed-stroke.xlib.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient-subset.xlib.ref.png b/test/reference/linear-gradient-subset.xlib.ref.png
deleted file mode 100644
index c81d864..0000000
Binary files a/test/reference/linear-gradient-subset.xlib.ref.png and /dev/null differ
diff --git a/test/reference/linear-gradient.xlib.ref.png b/test/reference/linear-gradient.xlib.ref.png
deleted file mode 100644
index cb8f908..0000000
Binary files a/test/reference/linear-gradient.xlib.ref.png and /dev/null differ
diff --git a/test/reference/mask-alpha.xlib.ref.png b/test/reference/mask-alpha.xlib.ref.png
deleted file mode 100644
index 715a959..0000000
Binary files a/test/reference/mask-alpha.xlib.ref.png and /dev/null differ
diff --git a/test/reference/mask-alpha.xlib.rgb24.ref.png b/test/reference/mask-alpha.xlib.rgb24.ref.png
deleted file mode 100644
index aa2010f..0000000
Binary files a/test/reference/mask-alpha.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/mask.xlib.ref.png b/test/reference/mask.xlib.ref.png
deleted file mode 100644
index 549c130..0000000
Binary files a/test/reference/mask.xlib.ref.png and /dev/null differ
diff --git a/test/reference/mask.xlib.rgb24.ref.png b/test/reference/mask.xlib.rgb24.ref.png
deleted file mode 100644
index 7032367..0000000
Binary files a/test/reference/mask.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-clear.xlib.argb32.ref.png b/test/reference/operator-clear.xlib.argb32.ref.png
deleted file mode 100644
index 2f12e5e..0000000
Binary files a/test/reference/operator-clear.xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/operator-clear.xlib.rgb24.ref.png b/test/reference/operator-clear.xlib.rgb24.ref.png
deleted file mode 100644
index d9a59b1..0000000
Binary files a/test/reference/operator-clear.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/operator-source.xlib.ref.png b/test/reference/operator-source.xlib.ref.png
deleted file mode 100644
index 4732f52..0000000
Binary files a/test/reference/operator-source.xlib.ref.png and /dev/null differ
diff --git a/test/reference/operator-source.xlib.rgb24.ref.png b/test/reference/operator-source.xlib.rgb24.ref.png
deleted file mode 100644
index 09209af..0000000
Binary files a/test/reference/operator-source.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.xlib.ref.png b/test/reference/over-above-source.xlib.ref.png
deleted file mode 100644
index f3a49f6..0000000
Binary files a/test/reference/over-above-source.xlib.ref.png and /dev/null differ
diff --git a/test/reference/over-above-source.xlib.rgb24.ref.png b/test/reference/over-above-source.xlib.rgb24.ref.png
deleted file mode 100644
index 68c7d98..0000000
Binary files a/test/reference/over-above-source.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.xlib.ref.png b/test/reference/over-around-source.xlib.ref.png
deleted file mode 100644
index ccae951..0000000
Binary files a/test/reference/over-around-source.xlib.ref.png and /dev/null differ
diff --git a/test/reference/over-around-source.xlib.rgb24.ref.png b/test/reference/over-around-source.xlib.rgb24.ref.png
deleted file mode 100644
index 943a28e..0000000
Binary files a/test/reference/over-around-source.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/over-between-source.xlib.ref.png b/test/reference/over-between-source.xlib.ref.png
deleted file mode 100644
index 79ea75e..0000000
Binary files a/test/reference/over-between-source.xlib.ref.png and /dev/null differ
diff --git a/test/reference/over-between-source.xlib.rgb24.ref.png b/test/reference/over-between-source.xlib.rgb24.ref.png
deleted file mode 100644
index 602f2d2..0000000
Binary files a/test/reference/over-between-source.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/paint-with-alpha-clip.xlib.ref.png b/test/reference/paint-with-alpha-clip.xlib.ref.png
deleted file mode 100644
index 704c70a..0000000
Binary files a/test/reference/paint-with-alpha-clip.xlib.ref.png and /dev/null differ
diff --git a/test/reference/path-append.xlib.ref.png b/test/reference/path-append.xlib.ref.png
deleted file mode 100644
index fa72ac0..0000000
Binary files a/test/reference/path-append.xlib.ref.png and /dev/null differ
diff --git a/test/reference/push-group-color.xlib.ref.png b/test/reference/push-group-color.xlib.ref.png
deleted file mode 100644
index e245e4d..0000000
Binary files a/test/reference/push-group-color.xlib.ref.png and /dev/null differ
diff --git a/test/reference/push-group.xlib.ref.png b/test/reference/push-group.xlib.ref.png
deleted file mode 100644
index 84bc184..0000000
Binary files a/test/reference/push-group.xlib.ref.png and /dev/null differ
diff --git a/test/reference/push-group.xlib.rgb24.ref.png b/test/reference/push-group.xlib.rgb24.ref.png
deleted file mode 100644
index cababd9..0000000
Binary files a/test/reference/push-group.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask-source.xlib.argb32.ref.png b/test/reference/radial-gradient-mask-source.xlib.argb32.ref.png
deleted file mode 100644
index 1c901c9..0000000
Binary files a/test/reference/radial-gradient-mask-source.xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask-source.xlib.rgb24.ref.png b/test/reference/radial-gradient-mask-source.xlib.rgb24.ref.png
deleted file mode 100644
index e50fe8f..0000000
Binary files a/test/reference/radial-gradient-mask-source.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-eo.xlib.ref.png b/test/reference/random-intersections-curves-eo.xlib.ref.png
deleted file mode 100644
index d91af0b..0000000
Binary files a/test/reference/random-intersections-curves-eo.xlib.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-curves-nz.xlib.ref.png b/test/reference/random-intersections-curves-nz.xlib.ref.png
deleted file mode 100644
index f72f8f1..0000000
Binary files a/test/reference/random-intersections-curves-nz.xlib.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-eo.xlib.ref.png b/test/reference/random-intersections-eo.xlib.ref.png
deleted file mode 100644
index 942a5fc..0000000
Binary files a/test/reference/random-intersections-eo.xlib.ref.png and /dev/null differ
diff --git a/test/reference/random-intersections-nonzero.xlib.ref.png b/test/reference/random-intersections-nonzero.xlib.ref.png
deleted file mode 100644
index 69e06f8..0000000
Binary files a/test/reference/random-intersections-nonzero.xlib.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.xlib.argb32.ref.png b/test/reference/recording-surface-over.xlib.argb32.ref.png
deleted file mode 100644
index d612250..0000000
Binary files a/test/reference/recording-surface-over.xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/recording-surface-over.xlib.rgb24.ref.png b/test/reference/recording-surface-over.xlib.rgb24.ref.png
deleted file mode 100644
index 0a57b44..0000000
Binary files a/test/reference/recording-surface-over.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/rotated-clip.xlib.ref.png b/test/reference/rotated-clip.xlib.ref.png
deleted file mode 100644
index 93427e4..0000000
Binary files a/test/reference/rotated-clip.xlib.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-fill.xlib.ref.png b/test/reference/rounded-rectangle-fill.xlib.ref.png
deleted file mode 100644
index 52a355d..0000000
Binary files a/test/reference/rounded-rectangle-fill.xlib.ref.png and /dev/null differ
diff --git a/test/reference/rounded-rectangle-stroke.xlib.ref.png b/test/reference/rounded-rectangle-stroke.xlib.ref.png
deleted file mode 100644
index c7a6554..0000000
Binary files a/test/reference/rounded-rectangle-stroke.xlib.ref.png and /dev/null differ
diff --git a/test/reference/scale-offset-image.xlib.ref.png b/test/reference/scale-offset-image.xlib.ref.png
deleted file mode 100644
index 829f6d9..0000000
Binary files a/test/reference/scale-offset-image.xlib.ref.png and /dev/null differ
diff --git a/test/reference/self-intersecting.xlib.ref.png b/test/reference/self-intersecting.xlib.ref.png
deleted file mode 100644
index f0068e6..0000000
Binary files a/test/reference/self-intersecting.xlib.ref.png and /dev/null differ
diff --git a/test/reference/smask-fill.xlib.ref.png b/test/reference/smask-fill.xlib.ref.png
deleted file mode 100644
index c778a79..0000000
Binary files a/test/reference/smask-fill.xlib.ref.png and /dev/null differ
diff --git a/test/reference/smask-stroke.xlib.ref.png b/test/reference/smask-stroke.xlib.ref.png
deleted file mode 100644
index 71f427b..0000000
Binary files a/test/reference/smask-stroke.xlib.ref.png and /dev/null differ
diff --git a/test/reference/smask-text.xlib.ref.png b/test/reference/smask-text.xlib.ref.png
deleted file mode 100644
index ee7fc8b..0000000
Binary files a/test/reference/smask-text.xlib.ref.png and /dev/null differ
diff --git a/test/reference/smask.xlib.ref.png b/test/reference/smask.xlib.ref.png
deleted file mode 100644
index 5ce0082..0000000
Binary files a/test/reference/smask.xlib.ref.png and /dev/null differ
diff --git a/test/reference/spline-decomposition.xlib.ref.png b/test/reference/spline-decomposition.xlib.ref.png
deleted file mode 100644
index 30d05b3..0000000
Binary files a/test/reference/spline-decomposition.xlib.ref.png and /dev/null differ
diff --git a/test/reference/stroke-image.xlib.ref.png b/test/reference/stroke-image.xlib.ref.png
deleted file mode 100644
index dbb5c5a..0000000
Binary files a/test/reference/stroke-image.xlib.ref.png and /dev/null differ
diff --git a/test/reference/subsurface.xlib.ref.png b/test/reference/subsurface.xlib.ref.png
deleted file mode 100644
index e89e6f7..0000000
Binary files a/test/reference/subsurface.xlib.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.xlib.argb32.ref.png b/test/reference/surface-pattern-operator.xlib.argb32.ref.png
deleted file mode 100644
index 5bc8d2f..0000000
Binary files a/test/reference/surface-pattern-operator.xlib.argb32.ref.png and /dev/null differ
diff --git a/test/reference/surface-pattern-operator.xlib.rgb24.ref.png b/test/reference/surface-pattern-operator.xlib.rgb24.ref.png
deleted file mode 100644
index 23e540d..0000000
Binary files a/test/reference/surface-pattern-operator.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/text-rotate.xlib.ref.png b/test/reference/text-rotate.xlib.ref.png
deleted file mode 100644
index 3d35964..0000000
Binary files a/test/reference/text-rotate.xlib.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.xlib.ref.png b/test/reference/trap-clip.xlib.ref.png
deleted file mode 100644
index 2cbbdb7..0000000
Binary files a/test/reference/trap-clip.xlib.ref.png and /dev/null differ
diff --git a/test/reference/trap-clip.xlib.rgb24.ref.png b/test/reference/trap-clip.xlib.rgb24.ref.png
deleted file mode 100644
index 15068aa..0000000
Binary files a/test/reference/trap-clip.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-gray.xlib.ref.png b/test/reference/twin-antialias-gray.xlib.ref.png
deleted file mode 100644
index c8a79f4..0000000
Binary files a/test/reference/twin-antialias-gray.xlib.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-mixed.xlib.ref.png b/test/reference/twin-antialias-mixed.xlib.ref.png
deleted file mode 100644
index 3263f7c..0000000
Binary files a/test/reference/twin-antialias-mixed.xlib.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-none.xlib.ref.png b/test/reference/twin-antialias-none.xlib.ref.png
deleted file mode 100644
index 85fa6fc..0000000
Binary files a/test/reference/twin-antialias-none.xlib.ref.png and /dev/null differ
diff --git a/test/reference/twin-antialias-subpixel.xlib.ref.png b/test/reference/twin-antialias-subpixel.xlib.ref.png
deleted file mode 100644
index c8a79f4..0000000
Binary files a/test/reference/twin-antialias-subpixel.xlib.ref.png and /dev/null differ
diff --git a/test/reference/twin.xlib.ref.png b/test/reference/twin.xlib.ref.png
deleted file mode 100644
index 0442186..0000000
Binary files a/test/reference/twin.xlib.ref.png and /dev/null differ
diff --git a/test/reference/unbounded-operator.xlib.rgb24.ref.png b/test/reference/unbounded-operator.xlib.rgb24.ref.png
deleted file mode 100644
index b2f1a84..0000000
Binary files a/test/reference/unbounded-operator.xlib.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/user-font-proxy.xlib.ref.png b/test/reference/user-font-proxy.xlib.ref.png
deleted file mode 100644
index ebd9719..0000000
Binary files a/test/reference/user-font-proxy.xlib.ref.png and /dev/null differ
diff --git a/test/reference/user-font.xlib.ref.png b/test/reference/user-font.xlib.ref.png
deleted file mode 100644
index d81ecf1..0000000
Binary files a/test/reference/user-font.xlib.ref.png and /dev/null differ
commit fcea0f8e08e2fbd448a990b60be0cf16535b45a5
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Sep 16 11:09:22 2011 +0100

    test: Use the test-traps as the reference images for xlib/xcb
    
    The test-traps provides a reference implementation of the
    traps-compositor as used by xlib, so we can use it to generate the
    reference images as well. (Of course checking that test-traps is itself
    correct and only differs in the renderer! ;-)
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/boilerplate/cairo-boilerplate-test-surfaces.c b/boilerplate/cairo-boilerplate-test-surfaces.c
index 40ed73d..8370de2 100644
--- a/boilerplate/cairo-boilerplate-test-surfaces.c
+++ b/boilerplate/cairo-boilerplate-test-surfaces.c
@@ -323,7 +323,7 @@ static const cairo_boilerplate_target_t targets[] = {
 	"test-mask", "mask", NULL, NULL,
 	CAIRO_SURFACE_TYPE_IMAGE,
 	CAIRO_CONTENT_COLOR_ALPHA, 0,
-	"_cairo_test_traps_compositor_surface_create",
+	"_cairo_test_mask_compositor_surface_create",
 	_cairo_boilerplate_test_mask_compositor_create_surface,
 	cairo_surface_create_similar,
 	NULL, NULL,
diff --git a/boilerplate/cairo-boilerplate-xcb.c b/boilerplate/cairo-boilerplate-xcb.c
index 34a0b02..abb982b 100644
--- a/boilerplate/cairo-boilerplate-xcb.c
+++ b/boilerplate/cairo-boilerplate-xcb.c
@@ -771,7 +771,7 @@ static const cairo_boilerplate_target_t targets[] = {
     /* Acceleration architectures may make the results differ by a
      * bit, so we set the error tolerance to 1. */
     {
-	"xcb", "xlib", NULL, NULL,
+	"xcb", "traps", NULL, NULL,
 	CAIRO_SURFACE_TYPE_XCB, CAIRO_CONTENT_COLOR_ALPHA, 1,
 	"cairo_xcb_surface_create_with_xrender_format",
 	_cairo_boilerplate_xcb_create_surface,
@@ -786,7 +786,7 @@ static const cairo_boilerplate_target_t targets[] = {
 	TRUE, FALSE, FALSE
     },
     {
-	"xcb", "xlib", NULL, NULL,
+	"xcb", "traps", NULL, NULL,
 	CAIRO_SURFACE_TYPE_XCB, CAIRO_CONTENT_COLOR, 1,
 	"cairo_xcb_surface_create_with_xrender_format",
 	_cairo_boilerplate_xcb_create_surface,
@@ -801,7 +801,7 @@ static const cairo_boilerplate_target_t targets[] = {
 	FALSE, FALSE, FALSE
     },
     {
-	"xcb-window", "xlib", NULL, NULL,
+	"xcb-window", "traps", NULL, NULL,
 	CAIRO_SURFACE_TYPE_XCB, CAIRO_CONTENT_COLOR, 1,
 	"cairo_xcb_surface_create_with_xrender_format",
 	_cairo_boilerplate_xcb_create_window,
@@ -816,7 +816,7 @@ static const cairo_boilerplate_target_t targets[] = {
 	FALSE, FALSE, FALSE
     },
     {
-	"xcb-window&", "xlib", NULL, NULL,
+	"xcb-window&", "traps", NULL, NULL,
 	CAIRO_SURFACE_TYPE_XCB, CAIRO_CONTENT_COLOR, 1,
 	"cairo_xcb_surface_create_with_xrender_format",
 	_cairo_boilerplate_xcb_create_window_db,
diff --git a/boilerplate/cairo-boilerplate-xlib.c b/boilerplate/cairo-boilerplate-xlib.c
index cad2884..eaaae99 100644
--- a/boilerplate/cairo-boilerplate-xlib.c
+++ b/boilerplate/cairo-boilerplate-xlib.c
@@ -568,7 +568,7 @@ static const cairo_boilerplate_target_t targets[] = {
     /* Acceleration architectures may make the results differ by a
      * bit, so we set the error tolerance to 1. */
     {
-	"xlib", "xlib", NULL, "xlib-fallback",
+	"xlib", "traps", NULL, "xlib-fallback",
 	CAIRO_SURFACE_TYPE_XLIB, CAIRO_CONTENT_COLOR_ALPHA, 1,
 	"cairo_xlib_surface_create_with_xrender_format",
 	_cairo_boilerplate_xlib_create_surface,
@@ -582,7 +582,7 @@ static const cairo_boilerplate_target_t targets[] = {
 	TRUE, FALSE, FALSE
     },
     {
-	"xlib", "xlib", NULL, "xlib-fallback",
+	"xlib", "traps", NULL, "xlib-fallback",
 	CAIRO_SURFACE_TYPE_XLIB, CAIRO_CONTENT_COLOR, 1,
 	"cairo_xlib_surface_create_with_xrender_format",
 	_cairo_boilerplate_xlib_create_surface,
@@ -596,7 +596,7 @@ static const cairo_boilerplate_target_t targets[] = {
 	FALSE, FALSE, FALSE
     },
     {
-	"xlib-window", "xlib", NULL, NULL,
+	"xlib-window", "traps", NULL, NULL,
 	CAIRO_SURFACE_TYPE_XLIB, CAIRO_CONTENT_COLOR, 1,
 	"cairo_xlib_surface_create",
 	_cairo_boilerplate_xlib_window_create_surface,
diff --git a/test/Makefile.refs b/test/Makefile.refs
index 312ed8a..a0135b6 100644
--- a/test/Makefile.refs
+++ b/test/Makefile.refs
@@ -6,73 +6,111 @@ REFERENCE_IMAGES = \
 	reference/a1-bug.image16.ref.png \
 	reference/a1-bug.quartz.xfail.png \
 	reference/a1-bug.ref.png \
+	reference/a1-bug.traps.argb32.ref.png \
+	reference/a1-bug.traps.rgb24.ref.png \
 	reference/a1-bug.xlib.ref.png \
 	reference/a1-clip-fill-equal.base.argb32.ref.png \
 	reference/a1-clip-fill-equal.base.rgb24.ref.png \
 	reference/a1-clip-fill-equal.ref.png \
+	reference/a1-clip-fill-equal.traps.argb32.ref.png \
+	reference/a1-clip-fill-equal.traps.rgb24.ref.png \
 	reference/a1-clip-fill-rule.argb32.ref.png \
 	reference/a1-clip-fill-rule.base.argb32.ref.png \
 	reference/a1-clip-fill-rule.base.rgb24.ref.png \
 	reference/a1-clip-fill-rule.rgb24.ref.png \
+	reference/a1-clip-fill-rule.traps.argb32.ref.png \
+	reference/a1-clip-fill-rule.traps.rgb24.ref.png \
 	reference/a1-clip-fill.base.argb32.ref.png \
 	reference/a1-clip-fill.base.rgb24.ref.png \
 	reference/a1-clip-fill.ref.png \
+	reference/a1-clip-fill.traps.argb32.ref.png \
+	reference/a1-clip-fill.traps.rgb24.ref.png \
 	reference/a1-clip-paint.base.argb32.ref.png \
 	reference/a1-clip-paint.base.rgb24.ref.png \
 	reference/a1-clip-paint.ref.png \
+	reference/a1-clip-paint.traps.argb32.ref.png \
+	reference/a1-clip-paint.traps.rgb24.ref.png \
 	reference/a1-clip-stroke.base.argb32.ref.png \
 	reference/a1-clip-stroke.base.rgb24.ref.png \
 	reference/a1-clip-stroke.ref.png \
+	reference/a1-clip-stroke.traps.argb32.ref.png \
+	reference/a1-clip-stroke.traps.rgb24.ref.png \
 	reference/a1-image-sample.base.argb32.ref.png \
 	reference/a1-image-sample.base.rgb24.ref.png \
 	reference/a1-image-sample.gl.xfail.png \
 	reference/a1-image-sample.ref.png \
+	reference/a1-image-sample.traps.argb32.ref.png \
+	reference/a1-image-sample.traps.rgb24.ref.png \
 	reference/a1-line-width.base.argb32.ref.png \
 	reference/a1-line-width.base.rgb24.ref.png \
 	reference/a1-line-width.pdf.ref.png \
 	reference/a1-line-width.ps.ref.png \
 	reference/a1-line-width.ref.png \
+	reference/a1-line-width.traps.argb32.ref.png \
+	reference/a1-line-width.traps.rgb24.ref.png \
 	reference/a1-mask-sample.base.argb32.ref.png \
 	reference/a1-mask-sample.base.rgb24.ref.png \
 	reference/a1-mask-sample.ref.png \
+	reference/a1-mask-sample.traps.argb32.ref.png \
+	reference/a1-mask-sample.traps.rgb24.ref.png \
 	reference/a1-mask.base.argb32.ref.png \
 	reference/a1-mask.base.rgb24.ref.png \
 	reference/a1-mask.pdf.ref.png \
 	reference/a1-mask.ps.ref.png \
 	reference/a1-mask.ref.png \
+	reference/a1-mask.traps.argb32.ref.png \
+	reference/a1-mask.traps.rgb24.ref.png \
 	reference/a1-rasterisation-rectangles.base.argb32.ref.png \
 	reference/a1-rasterisation-rectangles.base.rgb24.ref.png \
 	reference/a1-rasterisation-rectangles.quartz.xfail.png \
 	reference/a1-rasterisation-rectangles.ref.png \
+	reference/a1-rasterisation-rectangles.traps.argb32.ref.png \
+	reference/a1-rasterisation-rectangles.traps.rgb24.ref.png \
 	reference/a1-rasterisation-triangles.base.argb32.ref.png \
 	reference/a1-rasterisation-triangles.base.rgb24.ref.png \
 	reference/a1-rasterisation-triangles.quartz.xfail.png \
 	reference/a1-rasterisation-triangles.ref.png \
+	reference/a1-rasterisation-triangles.traps.argb32.ref.png \
+	reference/a1-rasterisation-triangles.traps.rgb24.ref.png \
 	reference/a1-rectilinear-grid.base.argb32.ref.png \
 	reference/a1-rectilinear-grid.base.rgb24.ref.png \
 	reference/a1-rectilinear-grid.ref.png \
+	reference/a1-rectilinear-grid.traps.argb32.ref.png \
+	reference/a1-rectilinear-grid.traps.rgb24.ref.png \
 	reference/a1-sample.base.argb32.ref.png \
 	reference/a1-sample.base.rgb24.ref.png \
 	reference/a1-sample.ref.png \
+	reference/a1-sample.traps.argb32.ref.png \
+	reference/a1-sample.traps.rgb24.ref.png \
 	reference/a1-tiger.base.argb32.ref.png \
 	reference/a1-tiger.base.rgb24.ref.png \
 	reference/a1-tiger.ref.png \
+	reference/a1-tiger.traps.argb32.ref.png \
+	reference/a1-tiger.traps.rgb24.ref.png \
 	reference/a1-traps-sample.base.argb32.ref.png \
 	reference/a1-traps-sample.base.rgb24.ref.png \
 	reference/a1-traps-sample.quartz.xfail.png \
 	reference/a1-traps-sample.ref.png \
+	reference/a1-traps-sample.traps.argb32.ref.png \
+	reference/a1-traps-sample.traps.rgb24.ref.png \
 	reference/a8-clear.base.argb32.ref.png \
 	reference/a8-clear.base.rgb24.ref.png \
 	reference/a8-clear.quartz.ref.png \
 	reference/a8-clear.ref.png \
+	reference/a8-clear.traps.argb32.ref.png \
+	reference/a8-clear.traps.rgb24.ref.png \
 	reference/a8-mask.base.argb32.ref.png \
 	reference/a8-mask.base.rgb24.ref.png \
 	reference/a8-mask.ref.png \
+	reference/a8-mask.traps.argb32.ref.png \
+	reference/a8-mask.traps.rgb24.ref.png \
 	reference/aliasing.base.argb32.ref.png \
 	reference/aliasing.base.rgb24.ref.png \
 	reference/aliasing.image16.ref.png \
 	reference/aliasing.quartz.ref.png \
 	reference/aliasing.ref.png \
+	reference/aliasing.traps.argb32.ref.png \
+	reference/aliasing.traps.rgb24.ref.png \
 	reference/aliasing.xlib.ref.png \
 	reference/alpha-similar.base.argb32.ref.png \
 	reference/alpha-similar.base.rgb24.ref.png \
@@ -86,68 +124,100 @@ REFERENCE_IMAGES = \
 	reference/alpha-similar.rgb24.ref.png \
 	reference/alpha-similar.svg.argb32.xfail.png \
 	reference/alpha-similar.svg.rgb24.xfail.png \
+	reference/alpha-similar.traps.argb32.ref.png \
+	reference/alpha-similar.traps.rgb24.ref.png \
 	reference/api-special-cases.base.argb32.ref.png \
 	reference/api-special-cases.base.rgb24.ref.png \
 	reference/api-special-cases.ref.png \
+	reference/api-special-cases.traps.argb32.ref.png \
+	reference/api-special-cases.traps.rgb24.ref.png \
 	reference/arc-infinite-loop.base.argb32.ref.png \
 	reference/arc-infinite-loop.base.rgb24.ref.png \
 	reference/arc-infinite-loop.ref.png \
+	reference/arc-infinite-loop.traps.argb32.ref.png \
+	reference/arc-infinite-loop.traps.rgb24.ref.png \
 	reference/arc-looping-dash.base.argb32.ref.png \
 	reference/arc-looping-dash.base.rgb24.ref.png \
 	reference/arc-looping-dash.image16.ref.png \
 	reference/arc-looping-dash.ps.ref.png \
 	reference/arc-looping-dash.quartz.ref.png \
 	reference/arc-looping-dash.ref.png \
+	reference/arc-looping-dash.traps.argb32.ref.png \
+	reference/arc-looping-dash.traps.rgb24.ref.png \
 	reference/big-empty-box.argb32.ref.png \
 	reference/big-empty-box.base.argb32.ref.png \
 	reference/big-empty-box.base.rgb24.ref.png \
 	reference/big-empty-box.rgb24.ref.png \
+	reference/big-empty-box.traps.argb32.ref.png \
+	reference/big-empty-box.traps.rgb24.ref.png \
 	reference/big-empty-triangle.argb32.ref.png \
 	reference/big-empty-triangle.base.argb32.ref.png \
 	reference/big-empty-triangle.base.rgb24.ref.png \
 	reference/big-empty-triangle.rgb24.ref.png \
+	reference/big-empty-triangle.traps.argb32.ref.png \
+	reference/big-empty-triangle.traps.rgb24.ref.png \
 	reference/big-line.base.argb32.ref.png \
 	reference/big-line.base.rgb24.ref.png \
 	reference/big-line.image16.ref.png \
 	reference/big-line.ps.ref.png \
 	reference/big-line.quartz.ref.png \
 	reference/big-line.ref.png \
+	reference/big-line.traps.argb32.ref.png \
+	reference/big-line.traps.rgb24.ref.png \
 	reference/big-line.xlib.ref.png \
 	reference/big-little-box.argb32.ref.png \
 	reference/big-little-box.base.argb32.ref.png \
 	reference/big-little-box.base.rgb24.ref.png \
 	reference/big-little-box.rgb24.ref.png \
+	reference/big-little-box.traps.argb32.ref.png \
+	reference/big-little-box.traps.rgb24.ref.png \
 	reference/big-little-triangle.argb32.ref.png \
 	reference/big-little-triangle.base.argb32.ref.png \
 	reference/big-little-triangle.base.rgb24.ref.png \
 	reference/big-little-triangle.rgb24.ref.png \
+	reference/big-little-triangle.traps.argb32.ref.png \
+	reference/big-little-triangle.traps.rgb24.ref.png \
 	reference/big-trap.base.argb32.ref.png \
 	reference/big-trap.base.rgb24.ref.png \
+	reference/big-trap.traps.argb32.ref.png \
+	reference/big-trap.traps.rgb24.ref.png \
 	reference/bilevel-image.base.argb32.ref.png \
 	reference/bilevel-image.base.rgb24.ref.png \
 	reference/bilevel-image.ref.png \
+	reference/bilevel-image.traps.argb32.ref.png \
+	reference/bilevel-image.traps.rgb24.ref.png \
 	reference/bitmap-font.base.argb32.ref.png \
 	reference/bitmap-font.base.rgb24.ref.png \
 	reference/bitmap-font.ref.png \
 	reference/bitmap-font.rgb24.ref.png \
+	reference/bitmap-font.traps.argb32.ref.png \
+	reference/bitmap-font.traps.rgb24.ref.png \
 	reference/bug-40410.base.argb32.ref.png \
 	reference/bug-40410.base.rgb24.ref.png \
 	reference/bug-40410.ref.png \
+	reference/bug-40410.traps.argb32.ref.png \
+	reference/bug-40410.traps.rgb24.ref.png \
 	reference/bug-bo-rectangular.base.argb32.ref.png \
 	reference/bug-bo-rectangular.base.rgb24.ref.png \
 	reference/bug-bo-rectangular.image16.ref.png \
 	reference/bug-bo-rectangular.ps.xfail.png \
 	reference/bug-bo-rectangular.ref.png \
+	reference/bug-bo-rectangular.traps.argb32.ref.png \
+	reference/bug-bo-rectangular.traps.rgb24.ref.png \
 	reference/bug-extents.base.argb32.ref.png \
 	reference/bug-extents.base.rgb24.ref.png \
 	reference/bug-extents.image16.ref.png \
 	reference/bug-extents.ps.ref.png \
 	reference/bug-extents.quartz.ref.png \
 	reference/bug-extents.ref.png \
+	reference/bug-extents.traps.argb32.ref.png \
+	reference/bug-extents.traps.rgb24.ref.png \
 	reference/bug-extents.xlib.ref.png \
 	reference/bug-seams.base.argb32.ref.png \
 	reference/bug-seams.base.rgb24.ref.png \
 	reference/bug-seams.ref.png \
+	reference/bug-seams.traps.argb32.ref.png \
+	reference/bug-seams.traps.rgb24.ref.png \
 	reference/bug-seams.xlib-fallback.ref.png \
 	reference/bug-seams.xlib.ref.png \
 	reference/caps-joins-alpha.base.argb32.ref.png \
@@ -155,6 +225,8 @@ REFERENCE_IMAGES = \
 	reference/caps-joins-alpha.image16.ref.png \
 	reference/caps-joins-alpha.quartz.ref.png \
 	reference/caps-joins-alpha.ref.png \
+	reference/caps-joins-alpha.traps.argb32.ref.png \
+	reference/caps-joins-alpha.traps.rgb24.ref.png \
 	reference/caps-joins-alpha.xlib.ref.png \
 	reference/caps-joins-curve.base.argb32.ref.png \
 	reference/caps-joins-curve.base.rgb24.ref.png \
@@ -162,35 +234,49 @@ REFERENCE_IMAGES = \
 	reference/caps-joins-curve.ps.ref.png \
 	reference/caps-joins-curve.quartz.ref.png \
 	reference/caps-joins-curve.ref.png \
+	reference/caps-joins-curve.traps.argb32.ref.png \
+	reference/caps-joins-curve.traps.rgb24.ref.png \
 	reference/caps-joins-curve.xlib.ref.png \
 	reference/caps-joins.base.argb32.ref.png \
 	reference/caps-joins.base.rgb24.ref.png \
 	reference/caps-joins.image16.ref.png \
 	reference/caps-joins.ps.ref.png \
 	reference/caps-joins.ref.png \
+	reference/caps-joins.traps.argb32.ref.png \
+	reference/caps-joins.traps.rgb24.ref.png \
 	reference/caps-sub-paths.base.argb32.ref.png \
 	reference/caps-sub-paths.base.rgb24.ref.png \
 	reference/caps-sub-paths.image16.ref.png \
 	reference/caps-sub-paths.ps.ref.png \
 	reference/caps-sub-paths.ref.png \
+	reference/caps-sub-paths.traps.argb32.ref.png \
+	reference/caps-sub-paths.traps.rgb24.ref.png \
 	reference/caps-tails-curve.base.argb32.ref.png \
 	reference/caps-tails-curve.base.rgb24.ref.png \
 	reference/caps-tails-curve.ps.ref.png \
 	reference/caps-tails-curve.ref.png \
+	reference/caps-tails-curve.traps.argb32.ref.png \
+	reference/caps-tails-curve.traps.rgb24.ref.png \
 	reference/caps.base.argb32.ref.png \
 	reference/caps.base.rgb24.ref.png \
 	reference/caps.image16.ref.png \
 	reference/caps.ps.ref.png \
 	reference/caps.ref.png \
+	reference/caps.traps.argb32.ref.png \
+	reference/caps.traps.rgb24.ref.png \
 	reference/checkerboard.base.argb32.ref.png \
 	reference/checkerboard.base.rgb24.ref.png \
 	reference/checkerboard.ref.png \
+	reference/checkerboard.traps.argb32.ref.png \
+	reference/checkerboard.traps.rgb24.ref.png \
 	reference/clear-source.base.argb32.ref.png \
 	reference/clear-source.base.rgb24.ref.png \
 	reference/clear-source.image16.ref.png \
 	reference/clear-source.pdf.xfail.png \
 	reference/clear-source.ps.xfail.png \
 	reference/clear-source.ref.png \
+	reference/clear-source.traps.argb32.ref.png \
+	reference/clear-source.traps.rgb24.ref.png \
 	reference/clear.argb32.ref.png \
 	reference/clear.base.argb32.ref.png \
 	reference/clear.base.rgb24.ref.png \
@@ -201,41 +287,63 @@ REFERENCE_IMAGES = \
 	reference/clear.rgb24.ref.png \
 	reference/clear.svg12.argb32.xfail.png \
 	reference/clear.svg12.rgb24.xfail.png \
+	reference/clear.traps.argb32.ref.png \
+	reference/clear.traps.rgb24.ref.png \
 	reference/clip-all.base.argb32.ref.png \
 	reference/clip-all.base.rgb24.ref.png \
 	reference/clip-all.ref.png \
+	reference/clip-all.traps.argb32.ref.png \
+	reference/clip-all.traps.rgb24.ref.png \
 	reference/clip-complex-shape-eo-aa.base.argb32.ref.png \
 	reference/clip-complex-shape-eo-aa.base.rgb24.ref.png \
 	reference/clip-complex-shape-eo-aa.ref.png \
+	reference/clip-complex-shape-eo-aa.traps.argb32.ref.png \
+	reference/clip-complex-shape-eo-aa.traps.rgb24.ref.png \
 	reference/clip-complex-shape-eo-mono.base.argb32.ref.png \
 	reference/clip-complex-shape-eo-mono.base.rgb24.ref.png \
 	reference/clip-complex-shape-eo-mono.ref.png \
+	reference/clip-complex-shape-eo-mono.traps.argb32.ref.png \
+	reference/clip-complex-shape-eo-mono.traps.rgb24.ref.png \
 	reference/clip-contexts.base.argb32.ref.png \
 	reference/clip-contexts.base.rgb24.ref.png \
 	reference/clip-contexts.ref.png \
+	reference/clip-contexts.traps.argb32.ref.png \
+	reference/clip-contexts.traps.rgb24.ref.png \
 	reference/clip-device-offset.argb32.ref.png \
 	reference/clip-device-offset.base.argb32.ref.png \
 	reference/clip-device-offset.base.rgb24.ref.png \
 	reference/clip-device-offset.rgb24.ref.png \
+	reference/clip-device-offset.traps.argb32.ref.png \
+	reference/clip-device-offset.traps.rgb24.ref.png \
 	reference/clip-disjoint-hatching.base.argb32.ref.png \
 	reference/clip-disjoint-hatching.base.rgb24.ref.png \
 	reference/clip-disjoint-hatching.ref.png \
+	reference/clip-disjoint-hatching.traps.argb32.ref.png \
+	reference/clip-disjoint-hatching.traps.rgb24.ref.png \
 	reference/clip-disjoint.base.argb32.ref.png \
 	reference/clip-disjoint.base.rgb24.ref.png \
 	reference/clip-disjoint.image16.ref.png \
 	reference/clip-disjoint.ps.ref.png \
 	reference/clip-disjoint.quartz.ref.png \
 	reference/clip-disjoint.ref.png \
+	reference/clip-disjoint.traps.argb32.ref.png \
+	reference/clip-disjoint.traps.rgb24.ref.png \
 	reference/clip-disjoint.xlib.ref.png \
 	reference/clip-empty-group.base.argb32.ref.png \
 	reference/clip-empty-group.base.rgb24.ref.png \
 	reference/clip-empty-group.ref.png \
+	reference/clip-empty-group.traps.argb32.ref.png \
+	reference/clip-empty-group.traps.rgb24.ref.png \
 	reference/clip-empty-save.base.argb32.ref.png \
 	reference/clip-empty-save.base.rgb24.ref.png \
 	reference/clip-empty-save.ref.png \
+	reference/clip-empty-save.traps.argb32.ref.png \
+	reference/clip-empty-save.traps.rgb24.ref.png \
 	reference/clip-empty.base.argb32.ref.png \
 	reference/clip-empty.base.rgb24.ref.png \
 	reference/clip-empty.ref.png \
+	reference/clip-empty.traps.argb32.ref.png \
+	reference/clip-empty.traps.rgb24.ref.png \
 	reference/clip-fill-eo-unbounded.argb32.ref.png \
 	reference/clip-fill-eo-unbounded.base.argb32.ref.png \
 	reference/clip-fill-eo-unbounded.base.rgb24.ref.png \
@@ -244,6 +352,7 @@ REFERENCE_IMAGES = \
 	reference/clip-fill-eo-unbounded.quartz.rgb24.ref.png \
 	reference/clip-fill-eo-unbounded.rgb24.ref.png \
 	reference/clip-fill-eo-unbounded.svg12.rgb24.xfail.png \
+	reference/clip-fill-eo-unbounded.traps.argb32.ref.png \
 	reference/clip-fill-eo-unbounded.xlib-fallback.rgb24.ref.png \
 	reference/clip-fill-eo-unbounded.xlib.argb32.ref.png \
 	reference/clip-fill-eo-unbounded.xlib.rgb24.ref.png \
@@ -251,6 +360,8 @@ REFERENCE_IMAGES = \
 	reference/clip-fill-no-op.base.rgb24.ref.png \
 	reference/clip-fill-no-op.image16.ref.png \
 	reference/clip-fill-no-op.ref.png \
+	reference/clip-fill-no-op.traps.argb32.ref.png \
+	reference/clip-fill-no-op.traps.rgb24.ref.png \
 	reference/clip-fill-nz-unbounded.argb32.ref.png \
 	reference/clip-fill-nz-unbounded.base.argb32.ref.png \
 	reference/clip-fill-nz-unbounded.base.rgb24.ref.png \
@@ -259,6 +370,7 @@ REFERENCE_IMAGES = \
 	reference/clip-fill-nz-unbounded.quartz.rgb24.ref.png \
 	reference/clip-fill-nz-unbounded.rgb24.ref.png \
 	reference/clip-fill-nz-unbounded.svg12.rgb24.xfail.png \
+	reference/clip-fill-nz-unbounded.traps.argb32.ref.png \
 	reference/clip-fill-nz-unbounded.xlib-fallback.rgb24.ref.png \
 	reference/clip-fill-nz-unbounded.xlib.argb32.ref.png \
 	reference/clip-fill-nz-unbounded.xlib.rgb24.ref.png \
@@ -266,6 +378,8 @@ REFERENCE_IMAGES = \
 	reference/clip-fill-rule-pixel-aligned.base.rgb24.ref.png \
 	reference/clip-fill-rule-pixel-aligned.ref.png \
 	reference/clip-fill-rule-pixel-aligned.rgb24.ref.png \
+	reference/clip-fill-rule-pixel-aligned.traps.argb32.ref.png \
+	reference/clip-fill-rule-pixel-aligned.traps.rgb24.ref.png \
 	reference/clip-fill-rule.argb32.ref.png \
 	reference/clip-fill-rule.base.argb32.ref.png \
 	reference/clip-fill-rule.base.rgb24.ref.png \
@@ -276,6 +390,8 @@ REFERENCE_IMAGES = \
 	reference/clip-fill-rule.quartz.rgb24.ref.png \
 	reference/clip-fill-rule.rgb24.ref.png \
 	reference/clip-fill-rule.test-paginated.rgb24.ref.png \
+	reference/clip-fill-rule.traps.argb32.ref.png \
+	reference/clip-fill-rule.traps.rgb24.ref.png \
 	reference/clip-fill-rule.xlib.rgb24.ref.png \
 	reference/clip-fill.base.argb32.ref.png \
 	reference/clip-fill.base.rgb24.ref.png \
@@ -283,32 +399,46 @@ REFERENCE_IMAGES = \
 	reference/clip-fill.ps.xfail.png \
 	reference/clip-fill.quartz.ref.png \
 	reference/clip-fill.ref.png \
+	reference/clip-fill.traps.argb32.ref.png \
+	reference/clip-fill.traps.rgb24.ref.png \
 	reference/clip-fill.xlib-fallback.ref.png \
 	reference/clip-fill.xlib.ref.png \
 	reference/clip-group-shapes-aligned-rectangles.base.argb32.ref.png \
 	reference/clip-group-shapes-aligned-rectangles.base.rgb24.ref.png \
 	reference/clip-group-shapes-aligned-rectangles.ref.png \
+	reference/clip-group-shapes-aligned-rectangles.traps.argb32.ref.png \
+	reference/clip-group-shapes-aligned-rectangles.traps.rgb24.ref.png \
 	reference/clip-group-shapes-circles.base.argb32.ref.png \
 	reference/clip-group-shapes-circles.base.rgb24.ref.png \
 	reference/clip-group-shapes-circles.ps.ref.png \
 	reference/clip-group-shapes-circles.quartz.ref.png \
 	reference/clip-group-shapes-circles.ref.png \
+	reference/clip-group-shapes-circles.traps.argb32.ref.png \
+	reference/clip-group-shapes-circles.traps.rgb24.ref.png \
 	reference/clip-group-shapes-circles.xlib.ref.png \
 	reference/clip-group-shapes-unaligned-rectangles.base.argb32.ref.png \
 	reference/clip-group-shapes-unaligned-rectangles.base.rgb24.ref.png \
 	reference/clip-group-shapes-unaligned-rectangles.ref.png \
+	reference/clip-group-shapes-unaligned-rectangles.traps.argb32.ref.png \
+	reference/clip-group-shapes-unaligned-rectangles.traps.rgb24.ref.png \
 	reference/clip-group-shapes-unaligned-rectangles.xlib.ref.png \
 	reference/clip-image.base.argb32.ref.png \
 	reference/clip-image.base.rgb24.ref.png \
 	reference/clip-image.image16.ref.png \
 	reference/clip-image.ps.ref.png \
 	reference/clip-image.ref.png \
+	reference/clip-image.traps.argb32.ref.png \
+	reference/clip-image.traps.rgb24.ref.png \
 	reference/clip-intersect.base.argb32.ref.png \
 	reference/clip-intersect.base.rgb24.ref.png \
 	reference/clip-intersect.ref.png \
+	reference/clip-intersect.traps.argb32.ref.png \
+	reference/clip-intersect.traps.rgb24.ref.png \
 	reference/clip-mixed-antialias.base.argb32.ref.png \
 	reference/clip-mixed-antialias.base.rgb24.ref.png \
 	reference/clip-mixed-antialias.ref.png \
+	reference/clip-mixed-antialias.traps.argb32.ref.png \
+	reference/clip-mixed-antialias.traps.rgb24.ref.png \
 	reference/clip-nesting.argb32.ref.png \
 	reference/clip-nesting.base.argb32.ref.png \
 	reference/clip-nesting.base.rgb24.ref.png \
@@ -319,6 +449,8 @@ REFERENCE_IMAGES = \
 	reference/clip-nesting.quartz.rgb24.ref.png \
 	reference/clip-nesting.rgb24.ref.png \
 	reference/clip-nesting.test-paginated.rgb24.ref.png \
+	reference/clip-nesting.traps.argb32.ref.png \
+	reference/clip-nesting.traps.rgb24.ref.png \
 	reference/clip-nesting.xlib.rgb24.ref.png \
 	reference/clip-operator.argb32.ref.png \
 	reference/clip-operator.base.argb32.ref.png \
@@ -337,6 +469,7 @@ REFERENCE_IMAGES = \
 	reference/clip-operator.svg12.argb32.xfail.png \
 	reference/clip-operator.svg12.rgb24.xfail.png \
 	reference/clip-operator.test-paginated.argb32.ref.png \
+	reference/clip-operator.traps.argb32.ref.png \
 	reference/clip-operator.xlib-fallback.ref.png \
 	reference/clip-operator.xlib.ref.png \
 	reference/clip-operator.xlib.rgb24.ref.png \
@@ -348,22 +481,30 @@ REFERENCE_IMAGES = \
 	reference/clip-push-group.quartz.ref.png \
 	reference/clip-push-group.ref.png \
 	reference/clip-push-group.svg.ref.png \
+	reference/clip-push-group.traps.argb32.ref.png \
+	reference/clip-push-group.traps.rgb24.ref.png \
 	reference/clip-push-group.xlib.ref.png \
 	reference/clip-rotate-image-surface-paint.base.argb32.ref.png \
 	reference/clip-rotate-image-surface-paint.base.rgb24.ref.png \
 	reference/clip-rotate-image-surface-paint.ref.png \
+	reference/clip-rotate-image-surface-paint.traps.argb32.ref.png \
+	reference/clip-rotate-image-surface-paint.traps.rgb24.ref.png \
 	reference/clip-shape.base.argb32.ref.png \
 	reference/clip-shape.base.rgb24.ref.png \
 	reference/clip-shape.image16.ref.png \
 	reference/clip-shape.ps.ref.png \
 	reference/clip-shape.quartz.ref.png \
 	reference/clip-shape.ref.png \
+	reference/clip-shape.traps.argb32.ref.png \
+	reference/clip-shape.traps.rgb24.ref.png \
 	reference/clip-shape.xlib-fallback.ref.png \
 	reference/clip-shape.xlib.ref.png \
 	reference/clip-stroke-no-op.base.argb32.ref.png \
 	reference/clip-stroke-no-op.base.rgb24.ref.png \
 	reference/clip-stroke-no-op.image16.ref.png \
 	reference/clip-stroke-no-op.ref.png \
+	reference/clip-stroke-no-op.traps.argb32.ref.png \
+	reference/clip-stroke-no-op.traps.rgb24.ref.png \
 	reference/clip-stroke-unbounded.argb32.ref.png \
 	reference/clip-stroke-unbounded.base.argb32.ref.png \
 	reference/clip-stroke-unbounded.base.rgb24.ref.png \
@@ -372,6 +513,7 @@ REFERENCE_IMAGES = \
 	reference/clip-stroke-unbounded.quartz.rgb24.ref.png \
 	reference/clip-stroke-unbounded.rgb24.ref.png \
 	reference/clip-stroke-unbounded.svg12.rgb24.xfail.png \
+	reference/clip-stroke-unbounded.traps.argb32.ref.png \
 	reference/clip-stroke-unbounded.xlib-fallback.rgb24.ref.png \
 	reference/clip-stroke-unbounded.xlib.argb32.ref.png \
 	reference/clip-stroke-unbounded.xlib.rgb24.ref.png \
@@ -381,6 +523,8 @@ REFERENCE_IMAGES = \
 	reference/clip-stroke.ps.xfail.png \
 	reference/clip-stroke.quartz.ref.png \
 	reference/clip-stroke.ref.png \
+	reference/clip-stroke.traps.argb32.ref.png \
+	reference/clip-stroke.traps.rgb24.ref.png \
 	reference/clip-stroke.xlib-fallback.ref.png \
 	reference/clip-stroke.xlib.ref.png \
 	reference/clip-text.base.argb32.ref.png \
@@ -390,10 +534,14 @@ REFERENCE_IMAGES = \
 	reference/clip-text.quartz.ref.png \
 	reference/clip-text.ref.png \
 	reference/clip-text.svg.ref.png \
+	reference/clip-text.traps.argb32.ref.png \
+	reference/clip-text.traps.rgb24.ref.png \
 	reference/clip-text.xlib.ref.png \
 	reference/clip-twice-rectangle.base.argb32.ref.png \
 	reference/clip-twice-rectangle.base.rgb24.ref.png \
 	reference/clip-twice-rectangle.ref.png \
+	reference/clip-twice-rectangle.traps.argb32.ref.png \
+	reference/clip-twice-rectangle.traps.rgb24.ref.png \
 	reference/clip-twice.argb32.ref.png \
 	reference/clip-twice.base.argb32.ref.png \
 	reference/clip-twice.base.rgb24.ref.png \
@@ -406,6 +554,8 @@ REFERENCE_IMAGES = \
 	reference/clip-twice.rgb24.ref.png \
 	reference/clip-twice.test-paginated.argb32.ref.png \
 	reference/clip-twice.test-paginated.rgb24.ref.png \
+	reference/clip-twice.traps.argb32.ref.png \
+	reference/clip-twice.traps.rgb24.ref.png \
 	reference/clip-twice.xlib.ref.png \
 	reference/clip-twice.xlib.rgb24.ref.png \
 	reference/clip-unbounded.base.argb32.ref.png \
@@ -415,6 +565,8 @@ REFERENCE_IMAGES = \
 	reference/clip-unbounded.ref.png \
 	reference/clip-unbounded.rgb24.ref.png \
 	reference/clip-unbounded.svg12.rgb24.xfail.png \
+	reference/clip-unbounded.traps.argb32.ref.png \
+	reference/clip-unbounded.traps.rgb24.ref.png \
 	reference/clipped-group.base.argb32.ref.png \
 	reference/clipped-group.base.rgb24.ref.png \
 	reference/clipped-group.image16.ref.png \
@@ -424,34 +576,46 @@ REFERENCE_IMAGES = \
 	reference/clipped-group.quartz.ref.png \
 	reference/clipped-group.ref.png \
 	reference/clipped-group.svg.ref.png \
+	reference/clipped-group.traps.argb32.ref.png \
+	reference/clipped-group.traps.rgb24.ref.png \
 	reference/clipped-group.xlib-fallback.ref.png \
 	reference/clipped-group.xlib.ref.png \
 	reference/clipped-surface.base.argb32.ref.png \
 	reference/clipped-surface.base.rgb24.ref.png \
 	reference/clipped-surface.image16.ref.png \
 	reference/clipped-surface.ref.png \
+	reference/clipped-surface.traps.argb32.ref.png \
+	reference/clipped-surface.traps.rgb24.ref.png \
 	reference/clipped-trapezoids.ref.png \
 	reference/close-path-current-point.base.argb32.ref.png \
 	reference/close-path-current-point.base.rgb24.ref.png \
 	reference/close-path-current-point.image16.ref.png \
 	reference/close-path-current-point.ps.ref.png \
 	reference/close-path-current-point.ref.png \
+	reference/close-path-current-point.traps.argb32.ref.png \
+	reference/close-path-current-point.traps.rgb24.ref.png \
 	reference/close-path.base.argb32.ref.png \
 	reference/close-path.base.rgb24.ref.png \
 	reference/close-path.ps2.ref.png \
 	reference/close-path.ps3.ref.png \
 	reference/close-path.ref.png \
+	reference/close-path.traps.argb32.ref.png \
+	reference/close-path.traps.rgb24.ref.png \
 	reference/composite-integer-translate-over-repeat.base.argb32.ref.png \
 	reference/composite-integer-translate-over-repeat.base.rgb24.ref.png \
 	reference/composite-integer-translate-over-repeat.ps2.ref.png \
 	reference/composite-integer-translate-over-repeat.ps3.ref.png \
 	reference/composite-integer-translate-over-repeat.ref.png \
+	reference/composite-integer-translate-over-repeat.traps.argb32.ref.png \
+	reference/composite-integer-translate-over-repeat.traps.rgb24.ref.png \
 	reference/composite-integer-translate-over.base.argb32.ref.png \
 	reference/composite-integer-translate-over.base.rgb24.ref.png \
 	reference/composite-integer-translate-over.image16.ref.png \
 	reference/composite-integer-translate-over.ps2.ref.png \
 	reference/composite-integer-translate-over.ps3.ref.png \
 	reference/composite-integer-translate-over.ref.png \
+	reference/composite-integer-translate-over.traps.argb32.ref.png \
+	reference/composite-integer-translate-over.traps.rgb24.ref.png \
 	reference/composite-integer-translate-source.base.argb32.ref.png \
 	reference/composite-integer-translate-source.base.rgb24.ref.png \
 	reference/composite-integer-translate-source.image16.ref.png \
@@ -460,11 +624,15 @@ REFERENCE_IMAGES = \
 	reference/composite-integer-translate-source.ref.png \
 	reference/composite-integer-translate-source.svg12.argb32.xfail.png \
 	reference/composite-integer-translate-source.svg12.rgb24.xfail.png \
+	reference/composite-integer-translate-source.traps.argb32.ref.png \
+	reference/composite-integer-translate-source.traps.rgb24.ref.png \
 	reference/copy-path.base.argb32.ref.png \
 	reference/copy-path.base.rgb24.ref.png \
 	reference/copy-path.image16.ref.png \
 	reference/copy-path.ps.ref.png \
 	reference/copy-path.ref.png \
+	reference/copy-path.traps.argb32.ref.png \
+	reference/copy-path.traps.rgb24.ref.png \
 	reference/coverage-column-triangles.ref.png \
 	reference/coverage-column-triangles.xlib.xfail.png \
 	reference/coverage-intersecting-quads.ref.png \
@@ -480,6 +648,8 @@ REFERENCE_IMAGES = \
 	reference/create-from-png-stream.base.argb32.ref.png \
 	reference/create-from-png-stream.base.rgb24.ref.png \
 	reference/create-from-png-stream.ref.png \
+	reference/create-from-png-stream.traps.argb32.ref.png \
+	reference/create-from-png-stream.traps.rgb24.ref.png \
 	reference/create-from-png.alpha.ref.png \
 	reference/create-from-png.base.argb32.ref.png \
 	reference/create-from-png.base.rgb24.ref.png \
@@ -494,16 +664,22 @@ REFERENCE_IMAGES = \
 	reference/culled-glyphs.ps.ref.png \
 	reference/culled-glyphs.quartz.ref.png \
 	reference/culled-glyphs.ref.png \
+	reference/culled-glyphs.traps.argb32.ref.png \
+	reference/culled-glyphs.traps.rgb24.ref.png \
 	reference/curve-to-as-line-to.base.argb32.ref.png \
 	reference/curve-to-as-line-to.base.rgb24.ref.png \
 	reference/curve-to-as-line-to.ps.xfail.png \
 	reference/curve-to-as-line-to.ref.png \
+	reference/curve-to-as-line-to.traps.argb32.ref.png \
+	reference/curve-to-as-line-to.traps.rgb24.ref.png \
 	reference/dash-caps-joins.base.argb32.ref.png \
 	reference/dash-caps-joins.base.rgb24.ref.png \
 	reference/dash-caps-joins.image16.ref.png \
 	reference/dash-caps-joins.ps.ref.png \
 	reference/dash-caps-joins.quartz.xfail.png \
 	reference/dash-caps-joins.ref.png \
+	reference/dash-caps-joins.traps.argb32.ref.png \
+	reference/dash-caps-joins.traps.rgb24.ref.png \
 	reference/dash-curve.base.argb32.ref.png \
 	reference/dash-curve.base.rgb24.ref.png \
 	reference/dash-curve.image16.ref.png \
@@ -511,27 +687,39 @@ REFERENCE_IMAGES = \
 	reference/dash-curve.ps3.ref.png \
 	reference/dash-curve.quartz.xfail.png \
 	reference/dash-curve.ref.png \
+	reference/dash-curve.traps.argb32.ref.png \
+	reference/dash-curve.traps.rgb24.ref.png \
 	reference/dash-curve.xlib.ref.png \
 	reference/dash-infinite-loop.base.argb32.ref.png \
 	reference/dash-infinite-loop.base.rgb24.ref.png \
 	reference/dash-infinite-loop.ps.ref.png \
 	reference/dash-infinite-loop.ref.png \
+	reference/dash-infinite-loop.traps.argb32.ref.png \
+	reference/dash-infinite-loop.traps.rgb24.ref.png \
 	reference/dash-no-dash.base.argb32.ref.png \
 	reference/dash-no-dash.base.rgb24.ref.png \
 	reference/dash-no-dash.ref.png \
+	reference/dash-no-dash.traps.argb32.ref.png \
+	reference/dash-no-dash.traps.rgb24.ref.png \
 	reference/dash-offset-negative.base.argb32.ref.png \
 	reference/dash-offset-negative.base.rgb24.ref.png \
 	reference/dash-offset-negative.pdf.ref.png \
 	reference/dash-offset-negative.ref.png \
+	reference/dash-offset-negative.traps.argb32.ref.png \
+	reference/dash-offset-negative.traps.rgb24.ref.png \
 	reference/dash-offset.base.argb32.ref.png \
 	reference/dash-offset.base.rgb24.ref.png \
 	reference/dash-offset.ref.png \
+	reference/dash-offset.traps.argb32.ref.png \
+	reference/dash-offset.traps.rgb24.ref.png \
 	reference/dash-scale.base.argb32.ref.png \
 	reference/dash-scale.base.rgb24.ref.png \
 	reference/dash-scale.image16.ref.png \
 	reference/dash-scale.ps.ref.png \
 	reference/dash-scale.quartz.ref.png \
 	reference/dash-scale.ref.png \
+	reference/dash-scale.traps.argb32.ref.png \
+	reference/dash-scale.traps.rgb24.ref.png \
 	reference/dash-state.base.argb32.ref.png \
 	reference/dash-state.base.rgb24.ref.png \
 	reference/dash-state.image16.ref.png \
@@ -539,6 +727,8 @@ REFERENCE_IMAGES = \
 	reference/dash-state.ps3.ref.png \
 	reference/dash-state.quartz.xfail.png \
 	reference/dash-state.ref.png \
+	reference/dash-state.traps.argb32.ref.png \
+	reference/dash-state.traps.rgb24.ref.png \
 	reference/dash-zero-length.base.argb32.ref.png \
 	reference/dash-zero-length.base.rgb24.ref.png \
 	reference/dash-zero-length.ps2.ref.png \
@@ -547,6 +737,8 @@ REFERENCE_IMAGES = \
 	reference/dash-zero-length.ps3.rgb24.ref.png \
 	reference/dash-zero-length.ref.png \
 	reference/dash-zero-length.rgb24.ref.png \
+	reference/dash-zero-length.traps.argb32.ref.png \
+	reference/dash-zero-length.traps.rgb24.ref.png \
 	reference/degenerate-arc.base.argb32.ref.png \
 	reference/degenerate-arc.base.rgb24.ref.png \
 	reference/degenerate-arc.image16.ref.png \
@@ -554,26 +746,36 @@ REFERENCE_IMAGES = \
 	reference/degenerate-arc.ps3.ref.png \
 	reference/degenerate-arc.quartz.ref.png \
 	reference/degenerate-arc.ref.png \
+	reference/degenerate-arc.traps.argb32.ref.png \
+	reference/degenerate-arc.traps.rgb24.ref.png \
 	reference/degenerate-arc.xlib.ref.png \
 	reference/degenerate-arcs.base.argb32.ref.png \
 	reference/degenerate-arcs.base.rgb24.ref.png \
 	reference/degenerate-arcs.image16.ref.png \
 	reference/degenerate-arcs.ref.png \
+	reference/degenerate-arcs.traps.argb32.ref.png \
+	reference/degenerate-arcs.traps.rgb24.ref.png \
 	reference/degenerate-curve-to.base.argb32.ref.png \
 	reference/degenerate-curve-to.base.rgb24.ref.png \
 	reference/degenerate-curve-to.image16.ref.png \
 	reference/degenerate-curve-to.ps.xfail.png \
 	reference/degenerate-curve-to.quartz.ref.png \
 	reference/degenerate-curve-to.ref.png \
+	reference/degenerate-curve-to.traps.argb32.ref.png \
+	reference/degenerate-curve-to.traps.rgb24.ref.png \
 	reference/degenerate-dash.base.argb32.ref.png \
 	reference/degenerate-dash.base.rgb24.ref.png \
 	reference/degenerate-dash.ps.xfail.png \
 	reference/degenerate-dash.quartz.xfail.png \
 	reference/degenerate-dash.ref.png \
+	reference/degenerate-dash.traps.argb32.ref.png \
+	reference/degenerate-dash.traps.rgb24.ref.png \
 	reference/degenerate-dash.xlib.ref.png \
 	reference/degenerate-linear-gradient.base.argb32.ref.png \
 	reference/degenerate-linear-gradient.base.rgb24.ref.png \
 	reference/degenerate-linear-gradient.ref.png \
+	reference/degenerate-linear-gradient.traps.argb32.ref.png \
+	reference/degenerate-linear-gradient.traps.rgb24.ref.png \
 	reference/degenerate-path.argb32.ref.png \
 	reference/degenerate-path.base.argb32.ref.png \
 	reference/degenerate-path.base.rgb24.ref.png \
@@ -582,21 +784,29 @@ REFERENCE_IMAGES = \
 	reference/degenerate-path.quartz.argb32.xfail.png \
 	reference/degenerate-path.quartz.rgb24.xfail.png \
 	reference/degenerate-path.rgb24.ref.png \
+	reference/degenerate-path.traps.argb32.ref.png \
+	reference/degenerate-path.traps.rgb24.ref.png \
 	reference/degenerate-pen.base.argb32.ref.png \
 	reference/degenerate-pen.base.rgb24.ref.png \
 	reference/degenerate-pen.image16.ref.png \
 	reference/degenerate-pen.ps.ref.png \
 	reference/degenerate-pen.ref.png \
+	reference/degenerate-pen.traps.argb32.ref.png \
+	reference/degenerate-pen.traps.rgb24.ref.png \
 	reference/degenerate-pen.xlib.ref.png \
 	reference/degenerate-radial-gradient.base.argb32.ref.png \
 	reference/degenerate-radial-gradient.base.rgb24.ref.png \
 	reference/degenerate-radial-gradient.ref.png \
+	reference/degenerate-radial-gradient.traps.argb32.ref.png \
+	reference/degenerate-radial-gradient.traps.rgb24.ref.png \
 	reference/degenerate-rel-curve-to.base.argb32.ref.png \
 	reference/degenerate-rel-curve-to.base.rgb24.ref.png \
 	reference/degenerate-rel-curve-to.image16.ref.png \
 	reference/degenerate-rel-curve-to.ps.ref.png \
 	reference/degenerate-rel-curve-to.quartz.ref.png \
 	reference/degenerate-rel-curve-to.ref.png \
+	reference/degenerate-rel-curve-to.traps.argb32.ref.png \
+	reference/degenerate-rel-curve-to.traps.rgb24.ref.png \
 	reference/device-offset-fractional.base.argb32.ref.png \
 	reference/device-offset-fractional.base.rgb24.ref.png \
 	reference/device-offset-fractional.gl.xfail.png \
@@ -604,22 +814,32 @@ REFERENCE_IMAGES = \
 	reference/device-offset-fractional.ps2.ref.png \
 	reference/device-offset-fractional.ps3.ref.png \
 	reference/device-offset-fractional.ref.png \
+	reference/device-offset-fractional.traps.argb32.ref.png \
+	reference/device-offset-fractional.traps.rgb24.ref.png \
 	reference/device-offset-positive.base.argb32.ref.png \
 	reference/device-offset-positive.base.rgb24.ref.png \
 	reference/device-offset-positive.ref.png \
 	reference/device-offset-positive.rgb24.ref.png \
+	reference/device-offset-positive.traps.argb32.ref.png \
+	reference/device-offset-positive.traps.rgb24.ref.png \
 	reference/device-offset-scale.base.argb32.ref.png \
 	reference/device-offset-scale.base.rgb24.ref.png \
 	reference/device-offset-scale.ref.png \
 	reference/device-offset-scale.svg.xfail.png \
+	reference/device-offset-scale.traps.argb32.ref.png \
+	reference/device-offset-scale.traps.rgb24.ref.png \
 	reference/device-offset.base.argb32.ref.png \
 	reference/device-offset.base.rgb24.ref.png \
 	reference/device-offset.ref.png \
 	reference/device-offset.rgb24.ref.png \
+	reference/device-offset.traps.argb32.ref.png \
+	reference/device-offset.traps.rgb24.ref.png \
 	reference/drunkard-tails.base.argb32.ref.png \
 	reference/drunkard-tails.base.rgb24.ref.png \
 	reference/drunkard-tails.ps.ref.png \
 	reference/drunkard-tails.ref.png \
+	reference/drunkard-tails.traps.argb32.ref.png \
+	reference/drunkard-tails.traps.rgb24.ref.png \
 	reference/extend-pad-border.base.argb32.ref.png \
 	reference/extend-pad-border.base.rgb24.ref.png \
 	reference/extend-pad-border.image16.ref.png \
@@ -628,45 +848,61 @@ REFERENCE_IMAGES = \
 	reference/extend-pad-border.quartz.ref.png \
 	reference/extend-pad-border.ref.png \
 	reference/extend-pad-border.svg.xfail.png \
+	reference/extend-pad-border.traps.argb32.ref.png \
+	reference/extend-pad-border.traps.rgb24.ref.png \
 	reference/extend-pad-similar.base.argb32.ref.png \
 	reference/extend-pad-similar.base.rgb24.ref.png \
 	reference/extend-pad-similar.quartz.xfail.png \
 	reference/extend-pad-similar.ref.png \
 	reference/extend-pad-similar.svg.xfail.png \
+	reference/extend-pad-similar.traps.argb32.ref.png \
+	reference/extend-pad-similar.traps.rgb24.ref.png \
 	reference/extend-pad.base.argb32.ref.png \
 	reference/extend-pad.base.rgb24.ref.png \
 	reference/extend-pad.ps.ref.png \
 	reference/extend-pad.quartz.xfail.png \
 	reference/extend-pad.ref.png \
 	reference/extend-pad.svg.xfail.png \
+	reference/extend-pad.traps.argb32.ref.png \
+	reference/extend-pad.traps.rgb24.ref.png \
 	reference/extend-reflect-similar.base.argb32.ref.png \
 	reference/extend-reflect-similar.base.rgb24.ref.png \
 	reference/extend-reflect-similar.image16.ref.png \
 	reference/extend-reflect-similar.ps2.ref.png \
 	reference/extend-reflect-similar.ps3.ref.png \
 	reference/extend-reflect-similar.ref.png \
+	reference/extend-reflect-similar.traps.argb32.ref.png \
+	reference/extend-reflect-similar.traps.rgb24.ref.png \
 	reference/extend-reflect.base.argb32.ref.png \
 	reference/extend-reflect.base.rgb24.ref.png \
 	reference/extend-reflect.image16.ref.png \
 	reference/extend-reflect.ps2.ref.png \
 	reference/extend-reflect.ps3.ref.png \
 	reference/extend-reflect.ref.png \
+	reference/extend-reflect.traps.argb32.ref.png \
+	reference/extend-reflect.traps.rgb24.ref.png \
 	reference/extend-repeat-similar.base.argb32.ref.png \
 	reference/extend-repeat-similar.base.rgb24.ref.png \
 	reference/extend-repeat-similar.image16.ref.png \
 	reference/extend-repeat-similar.ps2.ref.png \
 	reference/extend-repeat-similar.ps3.ref.png \
 	reference/extend-repeat-similar.ref.png \
+	reference/extend-repeat-similar.traps.argb32.ref.png \
+	reference/extend-repeat-similar.traps.rgb24.ref.png \
 	reference/extend-repeat.base.argb32.ref.png \
 	reference/extend-repeat.base.rgb24.ref.png \
 	reference/extend-repeat.image16.ref.png \
 	reference/extend-repeat.ps2.ref.png \
 	reference/extend-repeat.ps3.ref.png \
 	reference/extend-repeat.ref.png \
+	reference/extend-repeat.traps.argb32.ref.png \
+	reference/extend-repeat.traps.rgb24.ref.png \
 	reference/extended-blend-alpha-mask.argb32.ref.png \
 	reference/extended-blend-alpha-mask.base.argb32.ref.png \
 	reference/extended-blend-alpha-mask.base.rgb24.ref.png \
 	reference/extended-blend-alpha-mask.rgb24.ref.png \
+	reference/extended-blend-alpha-mask.traps.argb32.ref.png \
+	reference/extended-blend-alpha-mask.traps.rgb24.ref.png \
 	reference/extended-blend-alpha.argb32.ref.png \
 	reference/extended-blend-alpha.base.argb32.ref.png \
 	reference/extended-blend-alpha.base.rgb24.ref.png \
@@ -676,20 +912,28 @@ REFERENCE_IMAGES = \
 	reference/extended-blend-alpha.rgb24.ref.png \
 	reference/extended-blend-alpha.svg12.argb32.xfail.png \
 	reference/extended-blend-alpha.svg12.rgb24.xfail.png \
+	reference/extended-blend-alpha.traps.argb32.ref.png \
+	reference/extended-blend-alpha.traps.rgb24.ref.png \
 	reference/extended-blend-mask.argb32.ref.png \
 	reference/extended-blend-mask.base.argb32.ref.png \
 	reference/extended-blend-mask.base.rgb24.ref.png \
 	reference/extended-blend-mask.rgb24.ref.png \
+	reference/extended-blend-mask.traps.argb32.ref.png \
+	reference/extended-blend-mask.traps.rgb24.ref.png \
 	reference/extended-blend-solid-alpha.argb32.ref.png \
 	reference/extended-blend-solid-alpha.base.argb32.ref.png \
 	reference/extended-blend-solid-alpha.base.rgb24.ref.png \
 	reference/extended-blend-solid-alpha.image16.ref.png \
 	reference/extended-blend-solid-alpha.rgb24.ref.png \
+	reference/extended-blend-solid-alpha.traps.argb32.ref.png \
+	reference/extended-blend-solid-alpha.traps.rgb24.ref.png \
 	reference/extended-blend-solid.argb32.ref.png \
 	reference/extended-blend-solid.base.argb32.ref.png \
 	reference/extended-blend-solid.base.rgb24.ref.png \
 	reference/extended-blend-solid.image16.ref.png \
 	reference/extended-blend-solid.rgb24.ref.png \
+	reference/extended-blend-solid.traps.argb32.ref.png \
+	reference/extended-blend-solid.traps.rgb24.ref.png \
 	reference/extended-blend.argb32.ref.png \
 	reference/extended-blend.base.argb32.ref.png \
 	reference/extended-blend.base.rgb24.ref.png \
@@ -699,6 +943,8 @@ REFERENCE_IMAGES = \
 	reference/extended-blend.rgb24.ref.png \
 	reference/extended-blend.svg12.argb32.xfail.png \
 	reference/extended-blend.svg12.rgb24.xfail.png \
+	reference/extended-blend.traps.argb32.ref.png \
+	reference/extended-blend.traps.rgb24.ref.png \
 	reference/fallback-resolution.ppi144x144.ps.ref.png \
 	reference/fallback-resolution.ppi144x144.ref.png \
 	reference/fallback-resolution.ppi144x72.ps.ref.png \
@@ -727,6 +973,8 @@ REFERENCE_IMAGES = \
 	reference/fill-alpha-pattern.ps3.argb32.ref.png \
 	reference/fill-alpha-pattern.quartz.ref.png \
 	reference/fill-alpha-pattern.ref.png \
+	reference/fill-alpha-pattern.traps.argb32.ref.png \
+	reference/fill-alpha-pattern.traps.rgb24.ref.png \
 	reference/fill-alpha-pattern.xlib.ref.png \
 	reference/fill-alpha.base.argb32.ref.png \
 	reference/fill-alpha.base.rgb24.ref.png \
@@ -734,6 +982,8 @@ REFERENCE_IMAGES = \
 	reference/fill-alpha.ps.argb32.ref.png \
 	reference/fill-alpha.quartz.ref.png \
 	reference/fill-alpha.ref.png \
+	reference/fill-alpha.traps.argb32.ref.png \
+	reference/fill-alpha.traps.rgb24.ref.png \
 	reference/fill-alpha.xlib.ref.png \
 	reference/fill-and-stroke-alpha-add.base.argb32.ref.png \
 	reference/fill-and-stroke-alpha-add.base.rgb24.ref.png \
@@ -741,10 +991,14 @@ REFERENCE_IMAGES = \
 	reference/fill-and-stroke-alpha-add.quartz.ref.png \
 	reference/fill-and-stroke-alpha-add.ref.png \
 	reference/fill-and-stroke-alpha-add.svg12.xfail.png \
+	reference/fill-and-stroke-alpha-add.traps.argb32.ref.png \
+	reference/fill-and-stroke-alpha-add.traps.rgb24.ref.png \
 	reference/fill-and-stroke-alpha.base.argb32.ref.png \
 	reference/fill-and-stroke-alpha.base.rgb24.ref.png \
 	reference/fill-and-stroke-alpha.image16.ref.png \
 	reference/fill-and-stroke-alpha.ref.png \
+	reference/fill-and-stroke-alpha.traps.argb32.ref.png \
+	reference/fill-and-stroke-alpha.traps.rgb24.ref.png \
 	reference/fill-and-stroke.argb32.ref.png \
 	reference/fill-and-stroke.base.argb32.ref.png \
 	reference/fill-and-stroke.base.rgb24.ref.png \
@@ -754,6 +1008,8 @@ REFERENCE_IMAGES = \
 	reference/fill-and-stroke.quartz.argb32.ref.png \
 	reference/fill-and-stroke.quartz.rgb24.ref.png \
 	reference/fill-and-stroke.rgb24.ref.png \
+	reference/fill-and-stroke.traps.argb32.ref.png \
+	reference/fill-and-stroke.traps.rgb24.ref.png \
 	reference/fill-and-stroke.xlib.argb32.ref.png \
 	reference/fill-and-stroke.xlib.rgb24.ref.png \
 	reference/fill-degenerate-sort-order.argb32.ref.png \
@@ -765,6 +1021,8 @@ REFERENCE_IMAGES = \
 	reference/fill-degenerate-sort-order.quartz.argb32.ref.png \
 	reference/fill-degenerate-sort-order.quartz.rgb24.ref.png \
 	reference/fill-degenerate-sort-order.rgb24.ref.png \
+	reference/fill-degenerate-sort-order.traps.argb32.ref.png \
+	reference/fill-degenerate-sort-order.traps.rgb24.ref.png \
 	reference/fill-degenerate-sort-order.xlib.ref.png \
 	reference/fill-degenerate-sort-order.xlib.rgb24.ref.png \
 	reference/fill-empty.argb32.ref.png \
@@ -772,12 +1030,16 @@ REFERENCE_IMAGES = \
 	reference/fill-empty.base.rgb24.ref.png \
 	reference/fill-empty.rgb24.ref.png \
 	reference/fill-empty.svg12.rgb24.xfail.png \
+	reference/fill-empty.traps.argb32.ref.png \
+	reference/fill-empty.traps.rgb24.ref.png \
 	reference/fill-image.base.argb32.ref.png \
 	reference/fill-image.base.rgb24.ref.png \
 	reference/fill-image.image16.ref.png \
 	reference/fill-image.ps.ref.png \
 	reference/fill-image.quartz.ref.png \
 	reference/fill-image.ref.png \
+	reference/fill-image.traps.argb32.ref.png \
+	reference/fill-image.traps.rgb24.ref.png \
 	reference/fill-image.xlib.ref.png \
 	reference/fill-missed-stop.base.argb32.ref.png \
 	reference/fill-missed-stop.base.rgb24.ref.png \
@@ -788,6 +1050,8 @@ REFERENCE_IMAGES = \
 	reference/fill-missed-stop.ps3.rgb24.ref.png \
 	reference/fill-missed-stop.ref.png \
 	reference/fill-missed-stop.rgb24.ref.png \
+	reference/fill-missed-stop.traps.argb32.ref.png \
+	reference/fill-missed-stop.traps.rgb24.ref.png \
 	reference/fill-rule.base.argb32.ref.png \
 	reference/fill-rule.base.rgb24.ref.png \
 	reference/fill-rule.image16.ref.png \
@@ -799,6 +1063,8 @@ REFERENCE_IMAGES = \
 	reference/fill-rule.quartz.rgb24.ref.png \
 	reference/fill-rule.ref.png \
 	reference/fill-rule.rgb24.ref.png \
+	reference/fill-rule.traps.argb32.ref.png \
+	reference/fill-rule.traps.rgb24.ref.png \
 	reference/fill-rule.xlib.ref.png \
 	reference/fill-rule.xlib.rgb24.ref.png \
 	reference/filter-bilinear-extents.base.argb32.ref.png \
@@ -809,6 +1075,8 @@ REFERENCE_IMAGES = \
 	reference/filter-bilinear-extents.ps3.ref.png \
 	reference/filter-bilinear-extents.quartz.xfail.png \
 	reference/filter-bilinear-extents.ref.png \
+	reference/filter-bilinear-extents.traps.argb32.ref.png \
+	reference/filter-bilinear-extents.traps.rgb24.ref.png \
 	reference/filter-nearest-offset.base.argb32.ref.png \
 	reference/filter-nearest-offset.base.rgb24.ref.png \
 	reference/filter-nearest-offset.gl.xfail.png \
@@ -817,6 +1085,8 @@ REFERENCE_IMAGES = \
 	reference/filter-nearest-offset.ps3.ref.png \
 	reference/filter-nearest-offset.ref.png \
 	reference/filter-nearest-offset.svg.xfail.png \
+	reference/filter-nearest-offset.traps.argb32.ref.png \
+	reference/filter-nearest-offset.traps.rgb24.ref.png \
 	reference/filter-nearest-transformed.base.argb32.ref.png \
 	reference/filter-nearest-transformed.base.rgb24.ref.png \
 	reference/filter-nearest-transformed.gl.xfail.png \
@@ -825,6 +1095,8 @@ REFERENCE_IMAGES = \
 	reference/filter-nearest-transformed.quartz.xfail.png \
 	reference/filter-nearest-transformed.ref.png \
 	reference/filter-nearest-transformed.svg.xfail.png \
+	reference/filter-nearest-transformed.traps.argb32.ref.png \
+	reference/filter-nearest-transformed.traps.rgb24.ref.png \
 	reference/finer-grained-fallbacks.argb32.ref.png \
 	reference/finer-grained-fallbacks.base.argb32.ref.png \
 	reference/finer-grained-fallbacks.base.rgb24.ref.png \
@@ -841,6 +1113,8 @@ REFERENCE_IMAGES = \
 	reference/finer-grained-fallbacks.rgb24.ref.png \
 	reference/finer-grained-fallbacks.svg12.argb32.ref.png \
 	reference/finer-grained-fallbacks.svg12.rgb24.ref.png \
+	reference/finer-grained-fallbacks.traps.argb32.ref.png \
+	reference/finer-grained-fallbacks.traps.rgb24.ref.png \
 	reference/finer-grained-fallbacks.xlib-fallback.ref.png \
 	reference/finer-grained-fallbacks.xlib.ref.png \
 	reference/finer-grained-fallbacks.xlib.rgb24.ref.png \
@@ -854,6 +1128,8 @@ REFERENCE_IMAGES = \
 	reference/font-matrix-translation.quartz.ref.png \
 	reference/font-matrix-translation.ref.png \
 	reference/font-matrix-translation.svg.ref.png \
+	reference/font-matrix-translation.traps.argb32.ref.png \
+	reference/font-matrix-translation.traps.rgb24.ref.png \
 	reference/ft-show-glyphs-positioning.base.argb32.ref.png \
 	reference/ft-show-glyphs-positioning.base.rgb24.ref.png \
 	reference/ft-show-glyphs-positioning.image16.ref.png \
@@ -862,6 +1138,8 @@ REFERENCE_IMAGES = \
 	reference/ft-show-glyphs-positioning.ps3.ref.png \
 	reference/ft-show-glyphs-positioning.ref.png \
 	reference/ft-show-glyphs-positioning.svg.ref.png \
+	reference/ft-show-glyphs-positioning.traps.argb32.ref.png \
+	reference/ft-show-glyphs-positioning.traps.rgb24.ref.png \
 	reference/ft-show-glyphs-table.base.argb32.ref.png \
 	reference/ft-show-glyphs-table.base.rgb24.ref.png \
 	reference/ft-show-glyphs-table.image16.ref.png \
@@ -870,11 +1148,15 @@ REFERENCE_IMAGES = \
 	reference/ft-show-glyphs-table.quartz.xfail.png \
 	reference/ft-show-glyphs-table.ref.png \
 	reference/ft-show-glyphs-table.svg.ref.png \
+	reference/ft-show-glyphs-table.traps.argb32.ref.png \
+	reference/ft-show-glyphs-table.traps.rgb24.ref.png \
 	reference/ft-text-antialias-none.base.argb32.ref.png \
 	reference/ft-text-antialias-none.base.rgb24.ref.png \
 	reference/ft-text-antialias-none.ps2.argb32.ref.png \
 	reference/ft-text-antialias-none.ps3.argb32.ref.png \
 	reference/ft-text-antialias-none.ref.png \
+	reference/ft-text-antialias-none.traps.argb32.ref.png \
+	reference/ft-text-antialias-none.traps.rgb24.ref.png \
 	reference/ft-text-vertical-layout-type1.base.argb32.ref.png \
 	reference/ft-text-vertical-layout-type1.base.rgb24.ref.png \
 	reference/ft-text-vertical-layout-type1.image16.ref.png \
@@ -883,6 +1165,8 @@ REFERENCE_IMAGES = \
 	reference/ft-text-vertical-layout-type1.quartz.xfail.png \
 	reference/ft-text-vertical-layout-type1.ref.png \
 	reference/ft-text-vertical-layout-type1.svg.ref.png \
+	reference/ft-text-vertical-layout-type1.traps.argb32.ref.png \
+	reference/ft-text-vertical-layout-type1.traps.rgb24.ref.png \
 	reference/ft-text-vertical-layout-type1.xfail.png \
 	reference/ft-text-vertical-layout-type1.xlib.ref.png \
 	reference/ft-text-vertical-layout-type3.base.argb32.ref.png \
@@ -893,10 +1177,14 @@ REFERENCE_IMAGES = \
 	reference/ft-text-vertical-layout-type3.quartz.ref.png \
 	reference/ft-text-vertical-layout-type3.ref.png \
 	reference/ft-text-vertical-layout-type3.svg.ref.png \
+	reference/ft-text-vertical-layout-type3.traps.argb32.ref.png \
+	reference/ft-text-vertical-layout-type3.traps.rgb24.ref.png \
 	reference/ft-text-vertical-layout-type3.xlib.ref.png \
 	reference/get-group-target.base.argb32.ref.png \
 	reference/get-group-target.base.rgb24.ref.png \
 	reference/get-group-target.ref.png \
+	reference/get-group-target.traps.argb32.ref.png \
+	reference/get-group-target.traps.rgb24.ref.png \
 	reference/gl-surface-source.argb32.ref.png \
 	reference/gl-surface-source.image16.ref.png \
 	reference/gl-surface-source.rgb24.ref.png \
@@ -907,6 +1195,8 @@ REFERENCE_IMAGES = \
 	reference/glyph-cache-pressure.ps3.ref.png \
 	reference/glyph-cache-pressure.quartz.ref.png \
 	reference/glyph-cache-pressure.ref.png \
+	reference/glyph-cache-pressure.traps.argb32.ref.png \
+	reference/glyph-cache-pressure.traps.rgb24.ref.png \
 	reference/gradient-alpha.base.argb32.ref.png \
 	reference/gradient-alpha.base.rgb24.ref.png \
 	reference/gradient-alpha.ps2.argb32.ref.png \
@@ -915,6 +1205,8 @@ REFERENCE_IMAGES = \
 	reference/gradient-alpha.ps3.rgb24.ref.png \
 	reference/gradient-alpha.ref.png \
 	reference/gradient-alpha.rgb24.ref.png \
+	reference/gradient-alpha.traps.argb32.ref.png \
+	reference/gradient-alpha.traps.rgb24.ref.png \
 	reference/gradient-constant-alpha.base.argb32.ref.png \
 	reference/gradient-constant-alpha.base.rgb24.ref.png \
 	reference/gradient-constant-alpha.ps3.ref.png \
@@ -922,21 +1214,31 @@ REFERENCE_IMAGES = \
 	reference/gradient-constant-alpha.quartz.argb32.ref.png \
 	reference/gradient-constant-alpha.ref.png \
 	reference/gradient-constant-alpha.rgb24.ref.png \
+	reference/gradient-constant-alpha.traps.argb32.ref.png \
+	reference/gradient-constant-alpha.traps.rgb24.ref.png \
 	reference/gradient-zero-stops-mask.argb32.ref.png \
 	reference/gradient-zero-stops-mask.base.argb32.ref.png \
 	reference/gradient-zero-stops-mask.base.rgb24.ref.png \
 	reference/gradient-zero-stops-mask.rgb24.ref.png \
+	reference/gradient-zero-stops-mask.traps.argb32.ref.png \
+	reference/gradient-zero-stops-mask.traps.rgb24.ref.png \
 	reference/gradient-zero-stops.base.argb32.ref.png \
 	reference/gradient-zero-stops.base.rgb24.ref.png \
 	reference/gradient-zero-stops.ref.png \
 	reference/gradient-zero-stops.rgb24.ref.png \
+	reference/gradient-zero-stops.traps.argb32.ref.png \
+	reference/gradient-zero-stops.traps.rgb24.ref.png \
 	reference/group-clip.base.argb32.ref.png \
 	reference/group-clip.base.rgb24.ref.png \
 	reference/group-clip.image16.ref.png \
 	reference/group-clip.ref.png \
+	reference/group-clip.traps.argb32.ref.png \
+	reference/group-clip.traps.rgb24.ref.png \
 	reference/group-paint.base.argb32.ref.png \
 	reference/group-paint.base.rgb24.ref.png \
 	reference/group-paint.ref.png \
+	reference/group-paint.traps.argb32.ref.png \
+	reference/group-paint.traps.rgb24.ref.png \
 	reference/group-unaligned.base.argb32.ref.png \
 	reference/group-unaligned.base.rgb24.ref.png \
 	reference/group-unaligned.image16.ref.png \
@@ -946,6 +1248,8 @@ REFERENCE_IMAGES = \
 	reference/group-unaligned.ref.png \
 	reference/group-unaligned.svg.argb32.xfail.png \
 	reference/group-unaligned.svg.rgb24.xfail.png \
+	reference/group-unaligned.traps.argb32.ref.png \
+	reference/group-unaligned.traps.rgb24.ref.png \
 	reference/group-unaligned.xlib-fallback.ref.png \
 	reference/group-unaligned.xlib.ref.png \
 	reference/halo-transform.base.argb32.ref.png \
@@ -954,6 +1258,8 @@ REFERENCE_IMAGES = \
 	reference/halo-transform.ps.ref.png \
 	reference/halo-transform.quartz.ref.png \
 	reference/halo-transform.ref.png \
+	reference/halo-transform.traps.argb32.ref.png \
+	reference/halo-transform.traps.rgb24.ref.png \
 	reference/halo-transform.xlib.ref.png \
 	reference/halo.base.argb32.ref.png \
 	reference/halo.base.rgb24.ref.png \
@@ -961,14 +1267,19 @@ REFERENCE_IMAGES = \
 	reference/halo.ps.ref.png \
 	reference/halo.quartz.ref.png \
 	reference/halo.ref.png \
+	reference/halo.traps.argb32.ref.png \
+	reference/halo.traps.rgb24.ref.png \
 	reference/halo.xlib.ref.png \
 	reference/hatchings.base.argb32.ref.png \
 	reference/hatchings.base.rgb24.ref.png \
 	reference/hatchings.ref.png \
+	reference/hatchings.traps.argb32.ref.png \
 	reference/hatchings.xlib.ref.png \
 	reference/horizontal-clip.base.argb32.ref.png \
 	reference/horizontal-clip.base.rgb24.ref.png \
 	reference/horizontal-clip.ref.png \
+	reference/horizontal-clip.traps.argb32.ref.png \
+	reference/horizontal-clip.traps.rgb24.ref.png \
 	reference/huge-linear.base.argb32.ref.png \
 	reference/huge-linear.base.rgb24.ref.png \
 	reference/huge-linear.image16.ref.png \
@@ -976,6 +1287,8 @@ REFERENCE_IMAGES = \
 	reference/huge-linear.ps3.ref.png \
 	reference/huge-linear.quartz.ref.png \
 	reference/huge-linear.ref.png \
+	reference/huge-linear.traps.argb32.ref.png \
+	reference/huge-linear.traps.rgb24.ref.png \
 	reference/huge-radial.base.argb32.ref.png \
 	reference/huge-radial.base.rgb24.ref.png \
 	reference/huge-radial.image16.ref.png \
@@ -984,12 +1297,18 @@ REFERENCE_IMAGES = \
 	reference/huge-radial.ps3.ref.png \
 	reference/huge-radial.quartz.ref.png \
 	reference/huge-radial.ref.png \
+	reference/huge-radial.traps.argb32.ref.png \
+	reference/huge-radial.traps.rgb24.ref.png \
 	reference/image-bug-710072-aligned.base.argb32.ref.png \
 	reference/image-bug-710072-aligned.base.rgb24.ref.png \
 	reference/image-bug-710072-aligned.ref.png \
+	reference/image-bug-710072-aligned.traps.argb32.ref.png \
+	reference/image-bug-710072-aligned.traps.rgb24.ref.png \
 	reference/image-bug-710072-unaligned.base.argb32.ref.png \
 	reference/image-bug-710072-unaligned.base.rgb24.ref.png \
 	reference/image-bug-710072-unaligned.ref.png \
+	reference/image-bug-710072-unaligned.traps.argb32.ref.png \
+	reference/image-bug-710072-unaligned.traps.rgb24.ref.png \
 	reference/image-bug-710072-unaligned.xlib.ref.png \
 	reference/image-surface-source.argb32.ref.png \
 	reference/image-surface-source.base.argb32.ref.png \
@@ -1000,53 +1319,79 @@ REFERENCE_IMAGES = \
 	reference/image-surface-source.rgb24.ref.png \
 	reference/image-surface-source.svg12.argb32.xfail.png \
 	reference/image-surface-source.svg12.rgb24.xfail.png \
+	reference/image-surface-source.traps.argb32.ref.png \
+	reference/image-surface-source.traps.rgb24.ref.png \
 	reference/implicit-close.base.argb32.ref.png \
 	reference/implicit-close.base.rgb24.ref.png \
 	reference/implicit-close.ps.ref.png \
 	reference/implicit-close.ref.png \
+	reference/implicit-close.traps.argb32.ref.png \
+	reference/implicit-close.traps.rgb24.ref.png \
 	reference/infinite-join.base.argb32.ref.png \
 	reference/infinite-join.base.rgb24.ref.png \
 	reference/infinite-join.ps2.ref.png \
 	reference/infinite-join.ps3.ref.png \
 	reference/infinite-join.ref.png \
+	reference/infinite-join.traps.argb32.ref.png \
+	reference/infinite-join.traps.rgb24.ref.png \
 	reference/inverse-text.base.argb32.ref.png \
 	reference/inverse-text.base.rgb24.ref.png \
 	reference/inverse-text.image16.ref.png \
 	reference/inverse-text.ps.ref.png \
 	reference/inverse-text.quartz.ref.png \
 	reference/inverse-text.ref.png \
+	reference/inverse-text.traps.argb32.ref.png \
+	reference/inverse-text.traps.rgb24.ref.png \
 	reference/joins-loop.base.argb32.ref.png \
 	reference/joins-loop.base.rgb24.ref.png \
 	reference/joins-loop.ref.png \
+	reference/joins-loop.traps.argb32.ref.png \
+	reference/joins-loop.traps.rgb24.ref.png \
 	reference/joins-retrace.base.argb32.ref.png \
 	reference/joins-retrace.base.rgb24.ref.png \
 	reference/joins-retrace.ref.png \
+	reference/joins-retrace.traps.argb32.ref.png \
+	reference/joins-retrace.traps.rgb24.ref.png \
 	reference/joins-star.base.argb32.ref.png \
 	reference/joins-star.base.rgb24.ref.png \
 	reference/joins-star.ref.png \
+	reference/joins-star.traps.argb32.ref.png \
+	reference/joins-star.traps.rgb24.ref.png \
 	reference/joins.base.argb32.ref.png \
 	reference/joins.base.rgb24.ref.png \
 	reference/joins.image16.ref.png \
 	reference/joins.ps.ref.png \
 	reference/joins.quartz.ref.png \
 	reference/joins.ref.png \
+	reference/joins.traps.argb32.ref.png \
+	reference/joins.traps.rgb24.ref.png \
 	reference/large-clip.base.argb32.ref.png \
 	reference/large-clip.base.rgb24.ref.png \
 	reference/large-clip.ref.png \
+	reference/large-clip.traps.argb32.ref.png \
+	reference/large-clip.traps.rgb24.ref.png \
 	reference/large-font.base.argb32.ref.png \
 	reference/large-font.base.rgb24.ref.png \
 	reference/large-font.image16.ref.png \
 	reference/large-font.ref.png \
+	reference/large-font.traps.argb32.ref.png \
+	reference/large-font.traps.rgb24.ref.png \
 	reference/large-source-roi.base.argb32.ref.png \
 	reference/large-source-roi.base.rgb24.ref.png \
 	reference/large-source-roi.ref.png \
+	reference/large-source-roi.traps.argb32.ref.png \
+	reference/large-source-roi.traps.rgb24.ref.png \
 	reference/large-source.base.argb32.ref.png \
 	reference/large-source.base.rgb24.ref.png \
 	reference/large-source.ref.png \
+	reference/large-source.traps.argb32.ref.png \
+	reference/large-source.traps.rgb24.ref.png \
 	reference/large-twin-antialias-mixed.base.argb32.ref.png \
 	reference/large-twin-antialias-mixed.base.rgb24.ref.png \
 	reference/large-twin-antialias-mixed.image16.ref.png \
 	reference/large-twin-antialias-mixed.ref.png \
+	reference/large-twin-antialias-mixed.traps.argb32.ref.png \
+	reference/large-twin-antialias-mixed.traps.rgb24.ref.png \
 	reference/large-twin-antialias-mixed.xlib.ref.png \
 	reference/leaky-dash.base.argb32.ref.png \
 	reference/leaky-dash.base.rgb24.ref.png \
@@ -1056,6 +1401,8 @@ REFERENCE_IMAGES = \
 	reference/leaky-dash.ps3.rgb24.ref.png \
 	reference/leaky-dash.quartz.ref.png \
 	reference/leaky-dash.ref.png \
+	reference/leaky-dash.traps.argb32.ref.png \
+	reference/leaky-dash.traps.rgb24.ref.png \
 	reference/leaky-dashed-rectangle.base.argb32.ref.png \
 	reference/leaky-dashed-rectangle.base.rgb24.ref.png \
 	reference/leaky-dashed-rectangle.image16.ref.png \
@@ -1063,6 +1410,8 @@ REFERENCE_IMAGES = \
 	reference/leaky-dashed-rectangle.ps.ref.png \
 	reference/leaky-dashed-rectangle.quartz.ref.png \
 	reference/leaky-dashed-rectangle.ref.png \
+	reference/leaky-dashed-rectangle.traps.argb32.ref.png \
+	reference/leaky-dashed-rectangle.traps.rgb24.ref.png \
 	reference/leaky-dashed-rectangle.xlib.ref.png \
 	reference/leaky-dashed-stroke.base.argb32.ref.png \
 	reference/leaky-dashed-stroke.base.rgb24.ref.png \
@@ -1070,29 +1419,45 @@ REFERENCE_IMAGES = \
 	reference/leaky-dashed-stroke.ps.ref.png \
 	reference/leaky-dashed-stroke.quartz.ref.png \
 	reference/leaky-dashed-stroke.ref.png \
+	reference/leaky-dashed-stroke.traps.argb32.ref.png \
+	reference/leaky-dashed-stroke.traps.rgb24.ref.png \
 	reference/leaky-dashed-stroke.xlib.ref.png \
 	reference/leaky-polygon.base.argb32.ref.png \
 	reference/leaky-polygon.base.rgb24.ref.png \
 	reference/leaky-polygon.image16.ref.png \
 	reference/leaky-polygon.ps.ref.png \
 	reference/leaky-polygon.ref.png \
+	reference/leaky-polygon.traps.argb32.ref.png \
+	reference/leaky-polygon.traps.rgb24.ref.png \
 	reference/line-width-overlap-dashed.base.argb32.ref.png \
 	reference/line-width-overlap-dashed.base.rgb24.ref.png \
+	reference/line-width-overlap-dashed.traps.argb32.ref.png \
+	reference/line-width-overlap-dashed.traps.rgb24.ref.png \
 	reference/line-width-overlap-flipped.base.argb32.ref.png \
 	reference/line-width-overlap-flipped.base.rgb24.ref.png \
 	reference/line-width-overlap-flipped.ref.png \
+	reference/line-width-overlap-flipped.traps.argb32.ref.png \
+	reference/line-width-overlap-flipped.traps.rgb24.ref.png \
 	reference/line-width-overlap-flopped.base.argb32.ref.png \
 	reference/line-width-overlap-flopped.base.rgb24.ref.png \
 	reference/line-width-overlap-flopped.ref.png \
+	reference/line-width-overlap-flopped.traps.argb32.ref.png \
+	reference/line-width-overlap-flopped.traps.rgb24.ref.png \
 	reference/line-width-overlap-offset.base.argb32.ref.png \
 	reference/line-width-overlap-offset.base.rgb24.ref.png \
 	reference/line-width-overlap-offset.ref.png \
+	reference/line-width-overlap-offset.traps.argb32.ref.png \
+	reference/line-width-overlap-offset.traps.rgb24.ref.png \
 	reference/line-width-overlap-rotated.base.argb32.ref.png \
 	reference/line-width-overlap-rotated.base.rgb24.ref.png \
 	reference/line-width-overlap-rotated.ref.png \
+	reference/line-width-overlap-rotated.traps.argb32.ref.png \
+	reference/line-width-overlap-rotated.traps.rgb24.ref.png \
 	reference/line-width-overlap.base.argb32.ref.png \
 	reference/line-width-overlap.base.rgb24.ref.png \
 	reference/line-width-overlap.ref.png \
+	reference/line-width-overlap.traps.argb32.ref.png \
+	reference/line-width-overlap.traps.rgb24.ref.png \
 	reference/line-width-scale.base.argb32.ref.png \
 	reference/line-width-scale.base.rgb24.ref.png \
 	reference/line-width-scale.image16.ref.png \
@@ -1100,23 +1465,35 @@ REFERENCE_IMAGES = \
 	reference/line-width-scale.ps3.ref.png \
 	reference/line-width-scale.quartz.ref.png \
 	reference/line-width-scale.ref.png \
+	reference/line-width-scale.traps.argb32.ref.png \
+	reference/line-width-scale.traps.rgb24.ref.png \
 	reference/line-width-tolerance.base.argb32.ref.png \
 	reference/line-width-tolerance.base.rgb24.ref.png \
 	reference/line-width-tolerance.ref.png \
+	reference/line-width-tolerance.traps.argb32.ref.png \
+	reference/line-width-tolerance.traps.rgb24.ref.png \
 	reference/line-width.base.argb32.ref.png \
 	reference/line-width.base.rgb24.ref.png \
 	reference/line-width.ref.png \
+	reference/line-width.traps.argb32.ref.png \
+	reference/line-width.traps.rgb24.ref.png \
 	reference/linear-gradient-extend.base.argb32.ref.png \
 	reference/linear-gradient-extend.base.rgb24.ref.png \
 	reference/linear-gradient-extend.ref.png \
+	reference/linear-gradient-extend.traps.argb32.ref.png \
+	reference/linear-gradient-extend.traps.rgb24.ref.png \
 	reference/linear-gradient-large.base.argb32.ref.png \
 	reference/linear-gradient-large.base.rgb24.ref.png \
 	reference/linear-gradient-large.quartz.ref.png \
 	reference/linear-gradient-large.ref.png \
+	reference/linear-gradient-large.traps.argb32.ref.png \
+	reference/linear-gradient-large.traps.rgb24.ref.png \
 	reference/linear-gradient-one-stop.argb32.ref.png \
 	reference/linear-gradient-one-stop.base.argb32.ref.png \
 	reference/linear-gradient-one-stop.base.rgb24.ref.png \
 	reference/linear-gradient-one-stop.rgb24.ref.png \
+	reference/linear-gradient-one-stop.traps.argb32.ref.png \
+	reference/linear-gradient-one-stop.traps.rgb24.ref.png \
 	reference/linear-gradient-reflect.base.argb32.ref.png \
 	reference/linear-gradient-reflect.base.rgb24.ref.png \
 	reference/linear-gradient-reflect.image16.ref.png \
@@ -1125,12 +1502,16 @@ REFERENCE_IMAGES = \
 	reference/linear-gradient-reflect.ps3.ref.png \
 	reference/linear-gradient-reflect.quartz.ref.png \
 	reference/linear-gradient-reflect.ref.png \
+	reference/linear-gradient-reflect.traps.argb32.ref.png \
+	reference/linear-gradient-reflect.traps.rgb24.ref.png \
 	reference/linear-gradient-subset.base.argb32.ref.png \
 	reference/linear-gradient-subset.base.rgb24.ref.png \
 	reference/linear-gradient-subset.image16.ref.png \
 	reference/linear-gradient-subset.ps3.ref.png \
 	reference/linear-gradient-subset.quartz.ref.png \
 	reference/linear-gradient-subset.ref.png \
+	reference/linear-gradient-subset.traps.argb32.ref.png \
+	reference/linear-gradient-subset.traps.rgb24.ref.png \
 	reference/linear-gradient-subset.xlib.ref.png \
 	reference/linear-gradient.base.argb32.ref.png \
 	reference/linear-gradient.base.rgb24.ref.png \
@@ -1138,14 +1519,20 @@ REFERENCE_IMAGES = \
 	reference/linear-gradient.ps3.ref.png \
 	reference/linear-gradient.quartz.ref.png \
 	reference/linear-gradient.ref.png \
+	reference/linear-gradient.traps.argb32.ref.png \
+	reference/linear-gradient.traps.rgb24.ref.png \
 	reference/linear-gradient.xlib.ref.png \
 	reference/linear-step-function.base.argb32.ref.png \
 	reference/linear-step-function.base.rgb24.ref.png \
+	reference/linear-step-function.traps.argb32.ref.png \
+	reference/linear-step-function.traps.rgb24.ref.png \
 	reference/linear-step-function.xfail.png \
 	reference/linear-uniform.base.argb32.ref.png \
 	reference/linear-uniform.base.rgb24.ref.png \
 	reference/linear-uniform.image16.ref.png \
 	reference/linear-uniform.ref.png \
+	reference/linear-uniform.traps.argb32.ref.png \
+	reference/linear-uniform.traps.rgb24.ref.png \
 	reference/long-dashed-lines.base.argb32.ref.png \
 	reference/long-dashed-lines.base.rgb24.ref.png \
 	reference/long-dashed-lines.image16.ref.png \
@@ -1153,17 +1540,27 @@ REFERENCE_IMAGES = \
 	reference/long-dashed-lines.ps3.ref.png \
 	reference/long-dashed-lines.quartz.ref.png \
 	reference/long-dashed-lines.ref.png \
+	reference/long-dashed-lines.traps.argb32.ref.png \
+	reference/long-dashed-lines.traps.rgb24.ref.png \
 	reference/long-lines.base.argb32.ref.png \
 	reference/long-lines.base.rgb24.ref.png \
+	reference/long-lines.traps.argb32.ref.png \
+	reference/long-lines.traps.rgb24.ref.png \
 	reference/map-all-to-image.base.argb32.ref.png \
 	reference/map-all-to-image.base.rgb24.ref.png \
 	reference/map-all-to-image.ref.png \
+	reference/map-all-to-image.traps.argb32.ref.png \
+	reference/map-all-to-image.traps.rgb24.ref.png \
 	reference/map-bit-to-image.base.argb32.ref.png \
 	reference/map-bit-to-image.base.rgb24.ref.png \
 	reference/map-bit-to-image.ref.png \
+	reference/map-bit-to-image.traps.argb32.ref.png \
+	reference/map-bit-to-image.traps.rgb24.ref.png \
 	reference/map-to-image-fill.base.argb32.ref.png \
 	reference/map-to-image-fill.base.rgb24.ref.png \
 	reference/map-to-image-fill.ref.png \
+	reference/map-to-image-fill.traps.argb32.ref.png \
+	reference/map-to-image-fill.traps.rgb24.ref.png \
 	reference/mask-alpha.argb32.ref.png \
 	reference/mask-alpha.base.argb32.ref.png \
 	reference/mask-alpha.base.rgb24.ref.png \
@@ -1171,12 +1568,16 @@ REFERENCE_IMAGES = \
 	reference/mask-alpha.quartz.argb32.ref.png \
 	reference/mask-alpha.rgb24.ref.png \
 	reference/mask-alpha.svg.rgb24.xfail.png \
+	reference/mask-alpha.traps.argb32.ref.png \
+	reference/mask-alpha.traps.rgb24.ref.png \
 	reference/mask-alpha.xlib.ref.png \
 	reference/mask-alpha.xlib.rgb24.ref.png \
 	reference/mask-ctm.base.argb32.ref.png \
 	reference/mask-ctm.base.rgb24.ref.png \
 	reference/mask-ctm.ref.png \
 	reference/mask-ctm.rgb24.ref.png \
+	reference/mask-ctm.traps.argb32.ref.png \
+	reference/mask-ctm.traps.rgb24.ref.png \
 	reference/mask-glyphs.gl.ref.png \
 	reference/mask-glyphs.image16.ref.png \
 	reference/mask-glyphs.pdf.ref.png \
@@ -1186,12 +1587,16 @@ REFERENCE_IMAGES = \
 	reference/mask-surface-ctm.base.rgb24.ref.png \
 	reference/mask-surface-ctm.ref.png \
 	reference/mask-surface-ctm.rgb24.ref.png \
+	reference/mask-surface-ctm.traps.argb32.ref.png \
+	reference/mask-surface-ctm.traps.rgb24.ref.png \
 	reference/mask-transformed-image.base.argb32.ref.png \
 	reference/mask-transformed-image.base.rgb24.ref.png \
 	reference/mask-transformed-image.image16.ref.png \
 	reference/mask-transformed-image.pdf.ref.png \
 	reference/mask-transformed-image.quartz.ref.png \
 	reference/mask-transformed-image.ref.png \
+	reference/mask-transformed-image.traps.argb32.ref.png \
+	reference/mask-transformed-image.traps.rgb24.ref.png \
 	reference/mask-transformed-similar.base.argb32.ref.png \
 	reference/mask-transformed-similar.base.rgb24.ref.png \
 	reference/mask-transformed-similar.image16.ref.png \
@@ -1199,6 +1604,8 @@ REFERENCE_IMAGES = \
 	reference/mask-transformed-similar.quartz.ref.png \
 	reference/mask-transformed-similar.ref.png \
 	reference/mask-transformed-similar.svg.ref.png \
+	reference/mask-transformed-similar.traps.argb32.ref.png \
+	reference/mask-transformed-similar.traps.rgb24.ref.png \
 	reference/mask.argb32.ref.png \
 	reference/mask.base.argb32.ref.png \
 	reference/mask.base.rgb24.ref.png \
@@ -1210,36 +1617,52 @@ REFERENCE_IMAGES = \
 	reference/mask.rgb24.ref.png \
 	reference/mask.svg.argb32.xfail.png \
 	reference/mask.svg.rgb24.xfail.png \
+	reference/mask.traps.argb32.ref.png \
+	reference/mask.traps.rgb24.ref.png \
 	reference/mask.xlib.ref.png \
 	reference/mask.xlib.rgb24.ref.png \
 	reference/mesh-pattern-accuracy.base.argb32.ref.png \
 	reference/mesh-pattern-accuracy.base.rgb24.ref.png \
 	reference/mesh-pattern-accuracy.image16.ref.png \
 	reference/mesh-pattern-accuracy.ref.png \
+	reference/mesh-pattern-accuracy.traps.argb32.ref.png \
+	reference/mesh-pattern-accuracy.traps.rgb24.ref.png \
 	reference/mesh-pattern-conical.base.argb32.ref.png \
 	reference/mesh-pattern-conical.base.rgb24.ref.png \
 	reference/mesh-pattern-conical.image16.ref.png \
 	reference/mesh-pattern-conical.ref.png \
+	reference/mesh-pattern-conical.traps.argb32.ref.png \
+	reference/mesh-pattern-conical.traps.rgb24.ref.png \
 	reference/mesh-pattern-control-points.base.argb32.ref.png \
 	reference/mesh-pattern-control-points.base.rgb24.ref.png \
 	reference/mesh-pattern-control-points.image16.ref.png \
 	reference/mesh-pattern-control-points.ref.png \
+	reference/mesh-pattern-control-points.traps.argb32.ref.png \
+	reference/mesh-pattern-control-points.traps.rgb24.ref.png \
 	reference/mesh-pattern-fold.base.argb32.ref.png \
 	reference/mesh-pattern-fold.base.rgb24.ref.png \
 	reference/mesh-pattern-fold.image16.ref.png \
 	reference/mesh-pattern-fold.ref.png \
+	reference/mesh-pattern-fold.traps.argb32.ref.png \
+	reference/mesh-pattern-fold.traps.rgb24.ref.png \
 	reference/mesh-pattern-overlap.base.argb32.ref.png \
 	reference/mesh-pattern-overlap.base.rgb24.ref.png \
 	reference/mesh-pattern-overlap.image16.ref.png \
 	reference/mesh-pattern-overlap.ref.png \
+	reference/mesh-pattern-overlap.traps.argb32.ref.png \
+	reference/mesh-pattern-overlap.traps.rgb24.ref.png \
 	reference/mesh-pattern-transformed.base.argb32.ref.png \
 	reference/mesh-pattern-transformed.base.rgb24.ref.png \
 	reference/mesh-pattern-transformed.image16.ref.png \
 	reference/mesh-pattern-transformed.ref.png \
+	reference/mesh-pattern-transformed.traps.argb32.ref.png \
+	reference/mesh-pattern-transformed.traps.rgb24.ref.png \
 	reference/mesh-pattern.base.argb32.ref.png \
 	reference/mesh-pattern.base.rgb24.ref.png \
 	reference/mesh-pattern.image16.ref.png \
 	reference/mesh-pattern.ref.png \
+	reference/mesh-pattern.traps.argb32.ref.png \
+	reference/mesh-pattern.traps.rgb24.ref.png \
 	reference/mime-data.base.argb32.ref.png \
 	reference/mime-data.base.rgb24.ref.png \
 	reference/mime-data.pdf.ref.png \
@@ -1247,17 +1670,25 @@ REFERENCE_IMAGES = \
 	reference/mime-data.ref.png \
 	reference/mime-data.script.ref.png \
 	reference/mime-data.svg.ref.png \
+	reference/mime-data.traps.argb32.ref.png \
+	reference/mime-data.traps.rgb24.ref.png \
 	reference/mime-surface.base.argb32.ref.png \
 	reference/mime-surface.base.rgb24.ref.png \
 	reference/mime-surface.ref.png \
+	reference/mime-surface.traps.argb32.ref.png \
+	reference/mime-surface.traps.rgb24.ref.png \
 	reference/miter-precision.base.argb32.ref.png \
 	reference/miter-precision.base.rgb24.ref.png \
 	reference/miter-precision.ps2.ref.png \
 	reference/miter-precision.ps3.ref.png \
 	reference/miter-precision.ref.png \
+	reference/miter-precision.traps.argb32.ref.png \
+	reference/miter-precision.traps.rgb24.ref.png \
 	reference/move-to-show-surface.base.argb32.ref.png \
 	reference/move-to-show-surface.base.rgb24.ref.png \
 	reference/move-to-show-surface.ref.png \
+	reference/move-to-show-surface.traps.argb32.ref.png \
+	reference/move-to-show-surface.traps.rgb24.ref.png \
 	reference/new-sub-path.argb32.ref.png \
 	reference/new-sub-path.base.argb32.ref.png \
 	reference/new-sub-path.base.rgb24.ref.png \
@@ -1268,10 +1699,14 @@ REFERENCE_IMAGES = \
 	reference/new-sub-path.ps3.rgb24.ref.png \
 	reference/new-sub-path.quartz.ref.png \
 	reference/new-sub-path.rgb24.ref.png \
+	reference/new-sub-path.traps.argb32.ref.png \
+	reference/new-sub-path.traps.rgb24.ref.png \
 	reference/nil-surface.base.argb32.ref.png \
 	reference/nil-surface.base.rgb24.ref.png \
 	reference/nil-surface.ref.png \
 	reference/nil-surface.rgb24.ref.png \
+	reference/nil-surface.traps.argb32.ref.png \
+	reference/nil-surface.traps.rgb24.ref.png \
 	reference/operator-alpha-alpha.base.argb32.ref.png \
 	reference/operator-alpha-alpha.base.rgb24.ref.png \
 	reference/operator-alpha-alpha.image16.ref.png \
@@ -1279,12 +1714,16 @@ REFERENCE_IMAGES = \
 	reference/operator-alpha-alpha.ps.xfail.png \
 	reference/operator-alpha-alpha.ref.png \
 	reference/operator-alpha-alpha.svg.xfail.png \
+	reference/operator-alpha-alpha.traps.argb32.ref.png \
+	reference/operator-alpha-alpha.traps.rgb24.ref.png \
 	reference/operator-alpha.base.argb32.ref.png \
 	reference/operator-alpha.base.rgb24.ref.png \
 	reference/operator-alpha.ref.png \
 	reference/operator-alpha.rgb24.ref.png \
 	reference/operator-alpha.svg12.argb32.xfail.png \
 	reference/operator-alpha.svg12.rgb24.xfail.png \
+	reference/operator-alpha.traps.argb32.ref.png \
+	reference/operator-alpha.traps.rgb24.ref.png \
 	reference/operator-clear.argb32.ref.png \
 	reference/operator-clear.base.argb32.ref.png \
 	reference/operator-clear.base.rgb24.ref.png \
@@ -1295,6 +1734,8 @@ REFERENCE_IMAGES = \
 	reference/operator-clear.rgb24.ref.png \
 	reference/operator-clear.svg12.argb32.xfail.png \
 	reference/operator-clear.svg12.rgb24.xfail.png \
+	reference/operator-clear.traps.argb32.ref.png \
+	reference/operator-clear.traps.rgb24.ref.png \
 	reference/operator-clear.xlib.argb32.ref.png \
 	reference/operator-clear.xlib.rgb24.ref.png \
 	reference/operator-source.base.argb32.ref.png \
@@ -1302,6 +1743,8 @@ REFERENCE_IMAGES = \
 	reference/operator-source.image16.ref.png \
 	reference/operator-source.ref.png \
 	reference/operator-source.rgb24.ref.png \
+	reference/operator-source.traps.argb32.ref.png \
+	reference/operator-source.traps.rgb24.ref.png \
 	reference/operator-source.xlib-fallback.ref.png \
 	reference/operator-source.xlib.ref.png \
 	reference/operator-source.xlib.rgb24.ref.png \
@@ -1311,6 +1754,8 @@ REFERENCE_IMAGES = \
 	reference/operator.rgb24.ref.png \
 	reference/operator.svg12.argb32.xfail.png \
 	reference/operator.svg12.rgb24.xfail.png \
+	reference/operator.traps.argb32.ref.png \
+	reference/operator.traps.rgb24.ref.png \
 	reference/over-above-source.base.argb32.ref.png \
 	reference/over-above-source.base.rgb24.ref.png \
 	reference/over-above-source.ps2.argb32.ref.png \
@@ -1320,6 +1765,8 @@ REFERENCE_IMAGES = \
 	reference/over-above-source.ref.png \
 	reference/over-above-source.rgb24.ref.png \
 	reference/over-above-source.svg12.rgb24.xfail.png \
+	reference/over-above-source.traps.argb32.ref.png \
+	reference/over-above-source.traps.rgb24.ref.png \
 	reference/over-above-source.xlib.ref.png \
 	reference/over-above-source.xlib.rgb24.ref.png \
 	reference/over-around-source.base.argb32.ref.png \
@@ -1335,6 +1782,8 @@ REFERENCE_IMAGES = \
 	reference/over-around-source.rgb24.ref.png \
 	reference/over-around-source.svg12.argb32.xfail.png \
 	reference/over-around-source.svg12.rgb24.xfail.png \
+	reference/over-around-source.traps.argb32.ref.png \
+	reference/over-around-source.traps.rgb24.ref.png \
 	reference/over-around-source.xlib.ref.png \
 	reference/over-around-source.xlib.rgb24.ref.png \
 	reference/over-below-source.base.argb32.ref.png \
@@ -1348,6 +1797,8 @@ REFERENCE_IMAGES = \
 	reference/over-below-source.rgb24.ref.png \
 	reference/over-below-source.svg12.argb32.xfail.png \
 	reference/over-below-source.svg12.rgb24.xfail.png \
+	reference/over-below-source.traps.argb32.ref.png \
+	reference/over-below-source.traps.rgb24.ref.png \
 	reference/over-between-source.base.argb32.ref.png \
 	reference/over-between-source.base.rgb24.ref.png \
 	reference/over-between-source.ps2.argb32.ref.png \
@@ -1357,15 +1808,21 @@ REFERENCE_IMAGES = \
 	reference/over-between-source.rgb24.ref.png \
 	reference/over-between-source.svg12.argb32.xfail.png \
 	reference/over-between-source.svg12.rgb24.xfail.png \
+	reference/over-between-source.traps.argb32.ref.png \
+	reference/over-between-source.traps.rgb24.ref.png \
 	reference/over-between-source.xlib.ref.png \
 	reference/over-between-source.xlib.rgb24.ref.png \
 	reference/overlapping-boxes.argb32.ref.png \
 	reference/overlapping-boxes.base.argb32.ref.png \
 	reference/overlapping-boxes.base.rgb24.ref.png \
 	reference/overlapping-boxes.rgb24.ref.png \
+	reference/overlapping-boxes.traps.argb32.ref.png \
+	reference/overlapping-boxes.traps.rgb24.ref.png \
 	reference/overlapping-dash-caps.base.argb32.ref.png \
 	reference/overlapping-dash-caps.base.rgb24.ref.png \
 	reference/overlapping-dash-caps.ref.png \
+	reference/overlapping-dash-caps.traps.argb32.ref.png \
+	reference/overlapping-dash-caps.traps.rgb24.ref.png \
 	reference/overlapping-glyphs.argb32.ref.png \
 	reference/overlapping-glyphs.base.argb32.ref.png \
 	reference/overlapping-glyphs.base.rgb24.ref.png \
@@ -1376,56 +1833,86 @@ REFERENCE_IMAGES = \
 	reference/overlapping-glyphs.rgb24.ref.png \
 	reference/overlapping-glyphs.svg.argb32.ref.png \
 	reference/overlapping-glyphs.svg.rgb24.ref.png \
+	reference/overlapping-glyphs.traps.argb32.ref.png \
+	reference/overlapping-glyphs.traps.rgb24.ref.png \
 	reference/paint-clip-fill-aa.base.argb32.ref.png \
 	reference/paint-clip-fill-aa.base.rgb24.ref.png \
 	reference/paint-clip-fill-aa.ref.png \
+	reference/paint-clip-fill-aa.traps.argb32.ref.png \
+	reference/paint-clip-fill-aa.traps.rgb24.ref.png \
 	reference/paint-clip-fill-mono.base.argb32.ref.png \
 	reference/paint-clip-fill-mono.base.rgb24.ref.png \
 	reference/paint-clip-fill-mono.ref.png \
+	reference/paint-clip-fill-mono.traps.argb32.ref.png \
+	reference/paint-clip-fill-mono.traps.rgb24.ref.png \
 	reference/paint-repeat.base.argb32.ref.png \
 	reference/paint-repeat.base.rgb24.ref.png \
 	reference/paint-repeat.ref.png \
+	reference/paint-repeat.traps.argb32.ref.png \
+	reference/paint-repeat.traps.rgb24.ref.png \
 	reference/paint-source-alpha.base.argb32.ref.png \
 	reference/paint-source-alpha.base.rgb24.ref.png \
 	reference/paint-source-alpha.image16.ref.png \
 	reference/paint-source-alpha.ref.png \
 	reference/paint-source-alpha.svg.ref.png \
+	reference/paint-source-alpha.traps.argb32.ref.png \
+	reference/paint-source-alpha.traps.rgb24.ref.png \
 	reference/paint-with-alpha-clip-mask.base.argb32.ref.png \
 	reference/paint-with-alpha-clip-mask.base.rgb24.ref.png \
 	reference/paint-with-alpha-clip-mask.ref.png \
+	reference/paint-with-alpha-clip-mask.traps.argb32.ref.png \
+	reference/paint-with-alpha-clip-mask.traps.rgb24.ref.png \
 	reference/paint-with-alpha-clip.base.argb32.ref.png \
 	reference/paint-with-alpha-clip.base.rgb24.ref.png \
 	reference/paint-with-alpha-clip.ref.png \
+	reference/paint-with-alpha-clip.traps.argb32.ref.png \
+	reference/paint-with-alpha-clip.traps.rgb24.ref.png \
 	reference/paint-with-alpha-clip.xlib.ref.png \
 	reference/paint-with-alpha-solid-clip.base.argb32.ref.png \
 	reference/paint-with-alpha-solid-clip.base.rgb24.ref.png \
 	reference/paint-with-alpha-solid-clip.ref.png \
+	reference/paint-with-alpha-solid-clip.traps.argb32.ref.png \
+	reference/paint-with-alpha-solid-clip.traps.rgb24.ref.png \
 	reference/paint-with-alpha.base.argb32.ref.png \
 	reference/paint-with-alpha.base.rgb24.ref.png \
 	reference/paint-with-alpha.image16.ref.png \
 	reference/paint-with-alpha.ref.png \
 	reference/paint-with-alpha.svg.ref.png \
+	reference/paint-with-alpha.traps.argb32.ref.png \
+	reference/paint-with-alpha.traps.rgb24.ref.png \
 	reference/paint.base.argb32.ref.png \
 	reference/paint.base.rgb24.ref.png \
 	reference/paint.ref.png \
+	reference/paint.traps.argb32.ref.png \
+	reference/paint.traps.rgb24.ref.png \
 	reference/partial-clip-text-bottom.base.argb32.ref.png \
 	reference/partial-clip-text-bottom.base.rgb24.ref.png \
 	reference/partial-clip-text-bottom.ref.png \
+	reference/partial-clip-text-bottom.traps.argb32.ref.png \
+	reference/partial-clip-text-bottom.traps.rgb24.ref.png \
 	reference/partial-clip-text-left.base.argb32.ref.png \
 	reference/partial-clip-text-left.base.rgb24.ref.png \
 	reference/partial-clip-text-left.ref.png \
+	reference/partial-clip-text-left.traps.argb32.ref.png \
+	reference/partial-clip-text-left.traps.rgb24.ref.png \
 	reference/partial-clip-text-right.base.argb32.ref.png \
 	reference/partial-clip-text-right.base.rgb24.ref.png \
 	reference/partial-clip-text-right.ref.png \
+	reference/partial-clip-text-right.traps.argb32.ref.png \
+	reference/partial-clip-text-right.traps.rgb24.ref.png \
 	reference/partial-clip-text-top.base.argb32.ref.png \
 	reference/partial-clip-text-top.base.rgb24.ref.png \
 	reference/partial-clip-text-top.ps.ref.png \
 	reference/partial-clip-text-top.quartz.ref.png \
 	reference/partial-clip-text-top.ref.png \
 	reference/partial-clip-text-top.svg.ref.png \
+	reference/partial-clip-text-top.traps.argb32.ref.png \
+	reference/partial-clip-text-top.traps.rgb24.ref.png \
 	reference/partial-coverage-half-reference.base.argb32.ref.png \
 	reference/partial-coverage-half-reference.base.rgb24.ref.png \
 	reference/partial-coverage-half-reference.ref.png \
+	reference/partial-coverage-half-reference.traps.argb32.ref.png \
+	reference/partial-coverage-half-reference.traps.rgb24.ref.png \
 	reference/partial-coverage-half-triangles.ref.png \
 	reference/partial-coverage-intersecting-quads.ref.png \
 	reference/partial-coverage-intersecting-quads.xfail.png \
@@ -1437,9 +1924,13 @@ REFERENCE_IMAGES = \
 	reference/partial-coverage-reference.base.argb32.ref.png \
 	reference/partial-coverage-reference.base.rgb24.ref.png \
 	reference/partial-coverage-reference.ref.png \
+	reference/partial-coverage-reference.traps.argb32.ref.png \
+	reference/partial-coverage-reference.traps.rgb24.ref.png \
 	reference/partial-coverage-three-quarter-reference.base.argb32.ref.png \
 	reference/partial-coverage-three-quarter-reference.base.rgb24.ref.png \
 	reference/partial-coverage-three-quarter-reference.ref.png \
+	reference/partial-coverage-three-quarter-reference.traps.argb32.ref.png \
+	reference/partial-coverage-three-quarter-reference.traps.rgb24.ref.png \
 	reference/partial-coverage-triangles.ref.png \
 	reference/pass-through.ref.png \
 	reference/pass-through.rgb24.ref.png \
@@ -1450,6 +1941,8 @@ REFERENCE_IMAGES = \
 	reference/path-append.quartz.ref.png \
 	reference/path-append.ref.png \
 	reference/path-append.test-fallback.ref.png \
+	reference/path-append.traps.argb32.ref.png \
+	reference/path-append.traps.rgb24.ref.png \
 	reference/path-append.xlib-fallback.ref.png \
 	reference/path-append.xlib.ref.png \
 	reference/path-stroke-twice.base.argb32.ref.png \
@@ -1457,9 +1950,13 @@ REFERENCE_IMAGES = \
 	reference/path-stroke-twice.image16.ref.png \
 	reference/path-stroke-twice.ps.ref.png \
 	reference/path-stroke-twice.ref.png \
+	reference/path-stroke-twice.traps.argb32.ref.png \
+	reference/path-stroke-twice.traps.rgb24.ref.png \
 	reference/pattern-getters.base.argb32.ref.png \
 	reference/pattern-getters.base.rgb24.ref.png \
 	reference/pattern-getters.ref.png \
+	reference/pattern-getters.traps.argb32.ref.png \
+	reference/pattern-getters.traps.rgb24.ref.png \
 	reference/pdf-surface-source.argb32.ref.png \
 	reference/pdf-surface-source.base.argb32.ref.png \
 	reference/pdf-surface-source.base.rgb24.ref.png \
@@ -1467,11 +1964,15 @@ REFERENCE_IMAGES = \
 	reference/pdf-surface-source.rgb24.ref.png \
 	reference/pdf-surface-source.svg12.argb32.xfail.png \
 	reference/pdf-surface-source.svg12.rgb24.xfail.png \
+	reference/pdf-surface-source.traps.argb32.ref.png \
+	reference/pdf-surface-source.traps.rgb24.ref.png \
 	reference/pixman-rotate.base.argb32.ref.png \
 	reference/pixman-rotate.base.rgb24.ref.png \
 	reference/pixman-rotate.ps.argb32.ref.png \
 	reference/pixman-rotate.ref.png \
 	reference/pixman-rotate.rgb24.ref.png \
+	reference/pixman-rotate.traps.argb32.ref.png \
+	reference/pixman-rotate.traps.rgb24.ref.png \
 	reference/ps-eps.ref.png \
 	reference/ps-surface-source.argb32.ref.png \
 	reference/ps-surface-source.base.argb32.ref.png \
@@ -1480,11 +1981,15 @@ REFERENCE_IMAGES = \
 	reference/ps-surface-source.rgb24.ref.png \
 	reference/ps-surface-source.svg12.argb32.xfail.png \
 	reference/ps-surface-source.svg12.rgb24.xfail.png \
+	reference/ps-surface-source.traps.argb32.ref.png \
+	reference/ps-surface-source.traps.rgb24.ref.png \
 	reference/pthread-same-source.base.argb32.ref.png \
 	reference/pthread-same-source.base.rgb24.ref.png \
 	reference/pthread-same-source.image16.ref.png \
 	reference/pthread-same-source.quartz.xfail.png \
 	reference/pthread-same-source.ref.png \
+	reference/pthread-same-source.traps.argb32.ref.png \
+	reference/pthread-same-source.traps.rgb24.ref.png \
 	reference/pthread-show-text.base.argb32.ref.png \
 	reference/pthread-show-text.base.rgb24.ref.png \
 	reference/pthread-show-text.image16.ref.png \
@@ -1492,10 +1997,14 @@ REFERENCE_IMAGES = \
 	reference/pthread-show-text.ps.ref.png \
 	reference/pthread-show-text.quartz.ref.png \
 	reference/pthread-show-text.ref.png \
+	reference/pthread-show-text.traps.argb32.ref.png \
+	reference/pthread-show-text.traps.rgb24.ref.png \
 	reference/pthread-show-text.xlib-fallback.ref.png \
 	reference/pthread-similar.base.argb32.ref.png \
 	reference/pthread-similar.base.rgb24.ref.png \
 	reference/pthread-similar.ref.png \
+	reference/pthread-similar.traps.argb32.ref.png \
+	reference/pthread-similar.traps.rgb24.ref.png \
 	reference/push-group-color.base.argb32.ref.png \
 	reference/push-group-color.base.rgb24.ref.png \
 	reference/push-group-color.image16.ref.png \
@@ -1503,10 +2012,14 @@ REFERENCE_IMAGES = \
 	reference/push-group-color.ps3.ref.png \
 	reference/push-group-color.quartz.ref.png \
 	reference/push-group-color.ref.png \
+	reference/push-group-color.traps.argb32.ref.png \
+	reference/push-group-color.traps.rgb24.ref.png \
 	reference/push-group-color.xlib.ref.png \
 	reference/push-group-path-offset.base.argb32.ref.png \
 	reference/push-group-path-offset.base.rgb24.ref.png \
 	reference/push-group-path-offset.ref.png \
+	reference/push-group-path-offset.traps.argb32.ref.png \
+	reference/push-group-path-offset.traps.rgb24.ref.png \
 	reference/push-group.base.argb32.ref.png \
 	reference/push-group.base.rgb24.ref.png \
 	reference/push-group.image16.ref.png \
@@ -1514,6 +2027,8 @@ REFERENCE_IMAGES = \
 	reference/push-group.quartz.rgb24.ref.png \
 	reference/push-group.ref.png \
 	reference/push-group.rgb24.ref.png \
+	reference/push-group.traps.argb32.ref.png \
+	reference/push-group.traps.rgb24.ref.png \
 	reference/push-group.xlib.ref.png \
 	reference/push-group.xlib.rgb24.ref.png \
 	reference/quartz-surface-source.argb32.ref.png \
@@ -1524,13 +2039,16 @@ REFERENCE_IMAGES = \
 	reference/radial-gradient-extend.base.rgb24.ref.png \
 	reference/radial-gradient-extend.ps3.ref.png \
 	reference/radial-gradient-extend.ref.png \
+	reference/radial-gradient-extend.traps.argb32.ref.png \
+	reference/radial-gradient-extend.traps.rgb24.ref.png \
 	reference/radial-gradient-mask-source.argb32.ref.png \
 	reference/radial-gradient-mask-source.base.argb32.ref.png \
 	reference/radial-gradient-mask-source.base.rgb24.ref.png \
 	reference/radial-gradient-mask-source.image16.ref.png \
 	reference/radial-gradient-mask-source.quartz.argb32.ref.png \
 	reference/radial-gradient-mask-source.quartz.rgb24.ref.png \
-	reference/radial-gradient-mask-source.rgb24.ref.png \
+	reference/radial-gradient-mask-source.traps.argb32.ref.png \
+	reference/radial-gradient-mask-source.traps.rgb24.ref.png \
 	reference/radial-gradient-mask-source.xlib.argb32.ref.png \
 	reference/radial-gradient-mask-source.xlib.rgb24.ref.png \
 	reference/radial-gradient-mask.base.argb32.ref.png \
@@ -1538,10 +2056,14 @@ REFERENCE_IMAGES = \
 	reference/radial-gradient-mask.image16.ref.png \
 	reference/radial-gradient-mask.quartz.ref.png \
 	reference/radial-gradient-mask.ref.png \
+	reference/radial-gradient-mask.traps.argb32.ref.png \
+	reference/radial-gradient-mask.traps.rgb24.ref.png \
 	reference/radial-gradient-one-stop.base.argb32.ref.png \
 	reference/radial-gradient-one-stop.base.rgb24.ref.png \
 	reference/radial-gradient-one-stop.quartz.ref.png \
 	reference/radial-gradient-one-stop.ref.png \
+	reference/radial-gradient-one-stop.traps.argb32.ref.png \
+	reference/radial-gradient-one-stop.traps.rgb24.ref.png \
 	reference/radial-gradient-source.argb32.ref.png \
 	reference/radial-gradient-source.base.argb32.ref.png \
 	reference/radial-gradient-source.base.rgb24.ref.png \
@@ -1549,14 +2071,20 @@ REFERENCE_IMAGES = \
 	reference/radial-gradient-source.quartz.argb32.ref.png \
 	reference/radial-gradient-source.quartz.rgb24.ref.png \
 	reference/radial-gradient-source.rgb24.ref.png \
+	reference/radial-gradient-source.traps.argb32.ref.png \
+	reference/radial-gradient-source.traps.rgb24.ref.png \
 	reference/radial-gradient.base.argb32.ref.png \
 	reference/radial-gradient.base.rgb24.ref.png \
 	reference/radial-gradient.image16.ref.png \
 	reference/radial-gradient.quartz.ref.png \
 	reference/radial-gradient.ref.png \
+	reference/radial-gradient.traps.argb32.ref.png \
+	reference/radial-gradient.traps.rgb24.ref.png \
 	reference/random-clip.base.argb32.ref.png \
 	reference/random-clip.base.rgb24.ref.png \
 	reference/random-clip.ref.png \
+	reference/random-clip.traps.argb32.ref.png \
+	reference/random-clip.traps.rgb24.ref.png \
 	reference/random-intersections-curves-eo.base.argb32.ref.png \
 	reference/random-intersections-curves-eo.base.rgb24.ref.png \
 	reference/random-intersections-curves-eo.image16.ref.png \
@@ -1564,6 +2092,8 @@ REFERENCE_IMAGES = \
 	reference/random-intersections-curves-eo.ps.ref.png \
 	reference/random-intersections-curves-eo.quartz.ref.png \
 	reference/random-intersections-curves-eo.ref.png \
+	reference/random-intersections-curves-eo.traps.argb32.ref.png \
+	reference/random-intersections-curves-eo.traps.rgb24.ref.png \
 	reference/random-intersections-curves-eo.xlib-fallback.ref.png \
 	reference/random-intersections-curves-eo.xlib.ref.png \
 	reference/random-intersections-curves-nz.base.argb32.ref.png \
@@ -1573,6 +2103,8 @@ REFERENCE_IMAGES = \
 	reference/random-intersections-curves-nz.ps.ref.png \
 	reference/random-intersections-curves-nz.quartz.ref.png \
 	reference/random-intersections-curves-nz.ref.png \
+	reference/random-intersections-curves-nz.traps.argb32.ref.png \
+	reference/random-intersections-curves-nz.traps.rgb24.ref.png \
 	reference/random-intersections-curves-nz.xlib-fallback.ref.png \
 	reference/random-intersections-curves-nz.xlib.ref.png \
 	reference/random-intersections-eo.base.argb32.ref.png \
@@ -1581,6 +2113,8 @@ REFERENCE_IMAGES = \
 	reference/random-intersections-eo.ps.ref.png \
 	reference/random-intersections-eo.quartz.ref.png \
 	reference/random-intersections-eo.ref.png \
+	reference/random-intersections-eo.traps.argb32.ref.png \
+	reference/random-intersections-eo.traps.rgb24.ref.png \
 	reference/random-intersections-eo.xlib.ref.png \
 	reference/random-intersections-nonzero.base.argb32.ref.png \
 	reference/random-intersections-nonzero.base.rgb24.ref.png \
@@ -1588,22 +2122,54 @@ REFERENCE_IMAGES = \
 	reference/random-intersections-nonzero.ps.ref.png \
 	reference/random-intersections-nonzero.quartz.ref.png \
 	reference/random-intersections-nonzero.ref.png \
+	reference/random-intersections-nonzero.traps.argb32.ref.png \
+	reference/random-intersections-nonzero.traps.rgb24.ref.png \
 	reference/random-intersections-nonzero.xlib.ref.png \
 	reference/record-extend-none-similar.ref.png \
+	reference/record-extend-none-similar.traps.argb32.ref.png \
+	reference/record-extend-none-similar.traps.rgb24.ref.png \
 	reference/record-extend-none.ref.png \
+	reference/record-extend-none.traps.argb32.ref.png \
+	reference/record-extend-none.traps.rgb24.ref.png \
 	reference/record-extend-pad-similar.ref.png \
+	reference/record-extend-pad-similar.traps.argb32.ref.png \
+	reference/record-extend-pad-similar.traps.rgb24.ref.png \
 	reference/record-extend-pad.ref.png \
+	reference/record-extend-pad.traps.argb32.ref.png \
+	reference/record-extend-pad.traps.rgb24.ref.png \
 	reference/record-extend-reflect-similar.ref.png \
+	reference/record-extend-reflect-similar.traps.argb32.ref.png \
+	reference/record-extend-reflect-similar.traps.rgb24.ref.png \
 	reference/record-extend-reflect.ref.png \
+	reference/record-extend-reflect.traps.argb32.ref.png \
+	reference/record-extend-reflect.traps.rgb24.ref.png \
 	reference/record-extend-repeat-similar.ref.png \
+	reference/record-extend-repeat-similar.traps.argb32.ref.png \
+	reference/record-extend-repeat-similar.traps.rgb24.ref.png \
 	reference/record-extend-repeat.ref.png \
+	reference/record-extend-repeat.traps.argb32.ref.png \
+	reference/record-extend-repeat.traps.rgb24.ref.png \
 	reference/record-fill-alpha.ref.png \
+	reference/record-fill-alpha.traps.argb32.ref.png \
+	reference/record-fill-alpha.traps.rgb24.ref.png \
 	reference/record-mesh.ref.png \
+	reference/record-mesh.traps.argb32.ref.png \
+	reference/record-mesh.traps.rgb24.ref.png \
 	reference/record-paint-alpha-clip-mask.ref.png \
+	reference/record-paint-alpha-clip-mask.traps.argb32.ref.png \
+	reference/record-paint-alpha-clip-mask.traps.rgb24.ref.png \
 	reference/record-paint-alpha-clip.ref.png \
+	reference/record-paint-alpha-clip.traps.argb32.ref.png \
+	reference/record-paint-alpha-clip.traps.rgb24.ref.png \
 	reference/record-paint-alpha-solid-clip.ref.png \
+	reference/record-paint-alpha-solid-clip.traps.argb32.ref.png \
+	reference/record-paint-alpha-solid-clip.traps.rgb24.ref.png \
 	reference/record-paint-alpha.ref.png \
+	reference/record-paint-alpha.traps.argb32.ref.png \
+	reference/record-paint-alpha.traps.rgb24.ref.png \
 	reference/record-paint.ref.png \
+	reference/record-paint.traps.argb32.ref.png \
+	reference/record-paint.traps.rgb24.ref.png \
 	reference/record-select-font-face.ref.png \
 	reference/record-self-intersecting.ref.png \
 	reference/record-text-transform.ref.png \
@@ -1611,18 +2177,26 @@ REFERENCE_IMAGES = \
 	reference/recording-surface-extend-none.base.argb32.ref.png \
 	reference/recording-surface-extend-none.base.rgb24.ref.png \
 	reference/recording-surface-extend-none.rgb24.ref.png \
+	reference/recording-surface-extend-none.traps.argb32.ref.png \
+	reference/recording-surface-extend-none.traps.rgb24.ref.png \
 	reference/recording-surface-extend-pad.argb32.ref.png \
 	reference/recording-surface-extend-pad.base.argb32.ref.png \
 	reference/recording-surface-extend-pad.base.rgb24.ref.png \
 	reference/recording-surface-extend-pad.rgb24.ref.png \
+	reference/recording-surface-extend-pad.traps.argb32.ref.png \
+	reference/recording-surface-extend-pad.traps.rgb24.ref.png \
 	reference/recording-surface-extend-reflect.argb32.ref.png \
 	reference/recording-surface-extend-reflect.base.argb32.ref.png \
 	reference/recording-surface-extend-reflect.base.rgb24.ref.png \
 	reference/recording-surface-extend-reflect.rgb24.ref.png \
+	reference/recording-surface-extend-reflect.traps.argb32.ref.png \
+	reference/recording-surface-extend-reflect.traps.rgb24.ref.png \
 	reference/recording-surface-extend-repeat.argb32.ref.png \
 	reference/recording-surface-extend-repeat.base.argb32.ref.png \
 	reference/recording-surface-extend-repeat.base.rgb24.ref.png \
 	reference/recording-surface-extend-repeat.rgb24.ref.png \
+	reference/recording-surface-extend-repeat.traps.argb32.ref.png \
+	reference/recording-surface-extend-repeat.traps.rgb24.ref.png \
 	reference/recording-surface-over.base.argb32.ref.png \
 	reference/recording-surface-over.base.rgb24.ref.png \
 	reference/recording-surface-over.gl.argb32.ref.png \
@@ -1637,52 +2211,76 @@ REFERENCE_IMAGES = \
 	reference/recording-surface-over.rgb24.ref.png \
 	reference/recording-surface-over.svg.argb32.ref.png \
 	reference/recording-surface-over.svg.rgb24.ref.png \
+	reference/recording-surface-over.traps.argb32.ref.png \
+	reference/recording-surface-over.traps.rgb24.ref.png \
 	reference/recording-surface-over.xlib.argb32.ref.png \
 	reference/recording-surface-over.xlib.rgb24.ref.png \
 	reference/recording-surface-source.argb32.ref.png \
 	reference/recording-surface-source.base.argb32.ref.png \
 	reference/recording-surface-source.base.rgb24.ref.png \
 	reference/recording-surface-source.rgb24.ref.png \
+	reference/recording-surface-source.traps.argb32.ref.png \
+	reference/recording-surface-source.traps.rgb24.ref.png \
 	reference/rectangle-rounding-error.base.argb32.ref.png \
 	reference/rectangle-rounding-error.base.rgb24.ref.png \
 	reference/rectangle-rounding-error.ref.png \
+	reference/rectangle-rounding-error.traps.argb32.ref.png \
+	reference/rectangle-rounding-error.traps.rgb24.ref.png \
 	reference/rectilinear-dash.base.argb32.ref.png \
 	reference/rectilinear-dash.base.rgb24.ref.png \
 	reference/rectilinear-dash.quartz.xfail.png \
 	reference/rectilinear-dash.ref.png \
+	reference/rectilinear-dash.traps.argb32.ref.png \
+	reference/rectilinear-dash.traps.rgb24.ref.png \
 	reference/rectilinear-fill.base.argb32.ref.png \
 	reference/rectilinear-fill.base.rgb24.ref.png \
 	reference/rectilinear-fill.ref.png \
+	reference/rectilinear-fill.traps.argb32.ref.png \
+	reference/rectilinear-fill.traps.rgb24.ref.png \
 	reference/rectilinear-grid.base.argb32.ref.png \
 	reference/rectilinear-grid.base.rgb24.ref.png \
 	reference/rectilinear-grid.image16.ref.png \
 	reference/rectilinear-grid.ref.png \
+	reference/rectilinear-grid.traps.argb32.ref.png \
+	reference/rectilinear-grid.traps.rgb24.ref.png \
 	reference/rectilinear-miter-limit.base.argb32.ref.png \
 	reference/rectilinear-miter-limit.base.rgb24.ref.png \
 	reference/rectilinear-miter-limit.ps2.ref.png \
 	reference/rectilinear-miter-limit.ps3.ref.png \
 	reference/rectilinear-miter-limit.ref.png \
+	reference/rectilinear-miter-limit.traps.argb32.ref.png \
+	reference/rectilinear-miter-limit.traps.rgb24.ref.png \
 	reference/rectilinear-stroke.base.argb32.ref.png \
 	reference/rectilinear-stroke.base.rgb24.ref.png \
 	reference/rectilinear-stroke.quartz.xfail.png \
 	reference/rectilinear-stroke.ref.png \
+	reference/rectilinear-stroke.traps.argb32.ref.png \
+	reference/rectilinear-stroke.traps.rgb24.ref.png \
 	reference/reflected-stroke.base.argb32.ref.png \
 	reference/reflected-stroke.base.rgb24.ref.png \
 	reference/reflected-stroke.image16.ref.png \
 	reference/reflected-stroke.ps.ref.png \
 	reference/reflected-stroke.ref.png \
+	reference/reflected-stroke.traps.argb32.ref.png \
+	reference/reflected-stroke.traps.rgb24.ref.png \
 	reference/rel-path.base.argb32.ref.png \
 	reference/rel-path.base.rgb24.ref.png \
 	reference/rel-path.ps2.rgb24.ref.png \
 	reference/rel-path.ps3.rgb24.ref.png \
 	reference/rel-path.ref.png \
 	reference/rel-path.rgb24.ref.png \
+	reference/rel-path.traps.argb32.ref.png \
+	reference/rel-path.traps.rgb24.ref.png \
 	reference/rgb24-ignore-alpha.base.argb32.ref.png \
 	reference/rgb24-ignore-alpha.base.rgb24.ref.png \
 	reference/rgb24-ignore-alpha.ref.png \
+	reference/rgb24-ignore-alpha.traps.argb32.ref.png \
+	reference/rgb24-ignore-alpha.traps.rgb24.ref.png \
 	reference/rotate-clip-image-surface-paint.base.argb32.ref.png \
 	reference/rotate-clip-image-surface-paint.base.rgb24.ref.png \
 	reference/rotate-clip-image-surface-paint.ref.png \
+	reference/rotate-clip-image-surface-paint.traps.argb32.ref.png \
+	reference/rotate-clip-image-surface-paint.traps.rgb24.ref.png \
 	reference/rotate-image-surface-paint.base.argb32.ref.png \
 	reference/rotate-image-surface-paint.base.rgb24.ref.png \
 	reference/rotate-image-surface-paint.pdf.xfail.png \
@@ -1691,12 +2289,16 @@ REFERENCE_IMAGES = \
 	reference/rotate-image-surface-paint.ref.png \
 	reference/rotate-image-surface-paint.svg.ref.png \
 	reference/rotate-image-surface-paint.svg.xfail.png \
+	reference/rotate-image-surface-paint.traps.argb32.ref.png \
+	reference/rotate-image-surface-paint.traps.rgb24.ref.png \
 	reference/rotated-clip.base.argb32.ref.png \
 	reference/rotated-clip.base.rgb24.ref.png \
 	reference/rotated-clip.image16.ref.png \
 	reference/rotated-clip.ps.ref.png \
 	reference/rotated-clip.quartz.ref.png \
 	reference/rotated-clip.ref.png \
+	reference/rotated-clip.traps.argb32.ref.png \
+	reference/rotated-clip.traps.rgb24.ref.png \
 	reference/rotated-clip.xlib.ref.png \
 	reference/rounded-rectangle-fill.base.argb32.ref.png \
 	reference/rounded-rectangle-fill.base.rgb24.ref.png \
@@ -1704,16 +2306,22 @@ REFERENCE_IMAGES = \
 	reference/rounded-rectangle-fill.ps.ref.png \
 	reference/rounded-rectangle-fill.quartz.ref.png \
 	reference/rounded-rectangle-fill.ref.png \
+	reference/rounded-rectangle-fill.traps.argb32.ref.png \
+	reference/rounded-rectangle-fill.traps.rgb24.ref.png \
 	reference/rounded-rectangle-fill.xlib.ref.png \
 	reference/rounded-rectangle-stroke.base.argb32.ref.png \
 	reference/rounded-rectangle-stroke.base.rgb24.ref.png \
 	reference/rounded-rectangle-stroke.image16.ref.png \
 	reference/rounded-rectangle-stroke.ps.ref.png \
 	reference/rounded-rectangle-stroke.ref.png \
+	reference/rounded-rectangle-stroke.traps.argb32.ref.png \
+	reference/rounded-rectangle-stroke.traps.rgb24.ref.png \
 	reference/rounded-rectangle-stroke.xlib.ref.png \
 	reference/scale-down-source-surface-paint.base.argb32.ref.png \
 	reference/scale-down-source-surface-paint.base.rgb24.ref.png \
 	reference/scale-down-source-surface-paint.ref.png \
+	reference/scale-down-source-surface-paint.traps.argb32.ref.png \
+	reference/scale-down-source-surface-paint.traps.rgb24.ref.png \
 	reference/scale-offset-image.base.argb32.ref.png \
 	reference/scale-offset-image.base.rgb24.ref.png \
 	reference/scale-offset-image.gl.ref.png \
@@ -1724,6 +2332,8 @@ REFERENCE_IMAGES = \
 	reference/scale-offset-image.quartz.ref.png \
 	reference/scale-offset-image.ref.png \
 	reference/scale-offset-image.script.xfail.png \
+	reference/scale-offset-image.traps.argb32.ref.png \
+	reference/scale-offset-image.traps.rgb24.ref.png \
 	reference/scale-offset-image.xfail.png \
 	reference/scale-offset-image.xlib-fallback.xfail.png \
 	reference/scale-offset-image.xlib.ref.png \
@@ -1738,6 +2348,8 @@ REFERENCE_IMAGES = \
 	reference/scale-offset-similar.recording.xfail.png \
 	reference/scale-offset-similar.ref.png \
 	reference/scale-offset-similar.script.xfail.png \
+	reference/scale-offset-similar.traps.argb32.ref.png \
+	reference/scale-offset-similar.traps.rgb24.ref.png \
 	reference/scale-offset-similar.xfail.png \
 	reference/scale-offset-similar.xlib-fallback.xfail.png \
 	reference/scale-offset-similar.xlib.xfail.png \
@@ -1749,6 +2361,8 @@ REFERENCE_IMAGES = \
 	reference/scale-source-surface-paint.rgb24.ref.png \
 	reference/scale-source-surface-paint.svg.argb32.xfail.png \
 	reference/scale-source-surface-paint.svg.rgb24.xfail.png \
+	reference/scale-source-surface-paint.traps.argb32.ref.png \
+	reference/scale-source-surface-paint.traps.rgb24.ref.png \
 	reference/select-font-face.base.argb32.ref.png \
 	reference/select-font-face.base.rgb24.ref.png \
 	reference/select-font-face.image16.ref.png \
@@ -1756,29 +2370,43 @@ REFERENCE_IMAGES = \
 	reference/select-font-face.ps3.ref.png \
 	reference/select-font-face.quartz.ref.png \
 	reference/select-font-face.ref.png \
+	reference/select-font-face.traps.argb32.ref.png \
+	reference/select-font-face.traps.rgb24.ref.png \
 	reference/self-copy-overlap.base.argb32.ref.png \
 	reference/self-copy-overlap.base.rgb24.ref.png \
+	reference/self-copy-overlap.traps.argb32.ref.png \
+	reference/self-copy-overlap.traps.rgb24.ref.png \
 	reference/self-copy.base.argb32.ref.png \
 	reference/self-copy.base.rgb24.ref.png \
 	reference/self-copy.ps2.ref.png \
 	reference/self-copy.ps3.ref.png \
 	reference/self-copy.ref.png \
+	reference/self-copy.traps.argb32.ref.png \
+	reference/self-copy.traps.rgb24.ref.png \
 	reference/self-intersecting.base.argb32.ref.png \
 	reference/self-intersecting.base.rgb24.ref.png \
 	reference/self-intersecting.ps.ref.png \
 	reference/self-intersecting.quartz.xfail.png \
 	reference/self-intersecting.ref.png \
+	reference/self-intersecting.traps.argb32.ref.png \
+	reference/self-intersecting.traps.rgb24.ref.png \
 	reference/self-intersecting.xlib.ref.png \
 	reference/set-source.base.argb32.ref.png \
 	reference/set-source.base.rgb24.ref.png \
 	reference/set-source.ref.png \
 	reference/set-source.rgb24.ref.png \
+	reference/set-source.traps.argb32.ref.png \
+	reference/set-source.traps.rgb24.ref.png \
 	reference/shape-general-convex.base.argb32.ref.png \
 	reference/shape-general-convex.base.rgb24.ref.png \
 	reference/shape-general-convex.ref.png \
+	reference/shape-general-convex.traps.argb32.ref.png \
+	reference/shape-general-convex.traps.rgb24.ref.png \
 	reference/shape-sierpinski.base.argb32.ref.png \
 	reference/shape-sierpinski.base.rgb24.ref.png \
 	reference/shape-sierpinski.ref.png \
+	reference/shape-sierpinski.traps.argb32.ref.png \
+	reference/shape-sierpinski.traps.rgb24.ref.png \
 	reference/show-glyphs-advance.base.argb32.ref.png \
 	reference/show-glyphs-advance.base.rgb24.ref.png \
 	reference/show-glyphs-advance.image16.ref.png \
@@ -1786,9 +2414,13 @@ REFERENCE_IMAGES = \
 	reference/show-glyphs-advance.quartz.ref.png \
 	reference/show-glyphs-advance.ref.png \
 	reference/show-glyphs-advance.svg.ref.png \
+	reference/show-glyphs-advance.traps.argb32.ref.png \
+	reference/show-glyphs-advance.traps.rgb24.ref.png \
 	reference/show-glyphs-many.base.argb32.ref.png \
 	reference/show-glyphs-many.base.rgb24.ref.png \
 	reference/show-glyphs-many.ref.png \
+	reference/show-glyphs-many.traps.argb32.ref.png \
+	reference/show-glyphs-many.traps.rgb24.ref.png \
 	reference/show-text-current-point.base.argb32.ref.png \
 	reference/show-text-current-point.base.rgb24.ref.png \
 	reference/show-text-current-point.image16.ref.png \
@@ -1796,21 +2428,29 @@ REFERENCE_IMAGES = \
 	reference/show-text-current-point.ps3.ref.png \
 	reference/show-text-current-point.quartz.ref.png \
 	reference/show-text-current-point.ref.png \
+	reference/show-text-current-point.traps.argb32.ref.png \
+	reference/show-text-current-point.traps.rgb24.ref.png \
 	reference/skew-extreme.base.argb32.ref.png \
 	reference/skew-extreme.base.rgb24.ref.png \
 	reference/skew-extreme.ps2.ref.png \
 	reference/skew-extreme.ps3.ref.png \
 	reference/skew-extreme.ref.png \
+	reference/skew-extreme.traps.argb32.ref.png \
+	reference/skew-extreme.traps.rgb24.ref.png \
 	reference/smask-fill.base.argb32.ref.png \
 	reference/smask-fill.base.rgb24.ref.png \
 	reference/smask-fill.image16.ref.png \
 	reference/smask-fill.quartz.ref.png \
 	reference/smask-fill.ref.png \
 	reference/smask-fill.svg.ref.png \
+	reference/smask-fill.traps.argb32.ref.png \
+	reference/smask-fill.traps.rgb24.ref.png \
 	reference/smask-fill.xlib.ref.png \
 	reference/smask-image-mask.base.argb32.ref.png \
 	reference/smask-image-mask.base.rgb24.ref.png \
 	reference/smask-image-mask.ref.png \
+	reference/smask-image-mask.traps.argb32.ref.png \
+	reference/smask-image-mask.traps.rgb24.ref.png \
 	reference/smask-mask.base.argb32.ref.png \
 	reference/smask-mask.base.rgb24.ref.png \
 	reference/smask-mask.image16.ref.png \
@@ -1818,6 +2458,8 @@ REFERENCE_IMAGES = \
 	reference/smask-mask.quartz.ref.png \
 	reference/smask-mask.ref.png \
 	reference/smask-mask.svg.ref.png \
+	reference/smask-mask.traps.argb32.ref.png \
+	reference/smask-mask.traps.rgb24.ref.png \
 	reference/smask-paint.base.argb32.ref.png \
 	reference/smask-paint.base.rgb24.ref.png \
 	reference/smask-paint.image16.ref.png \
@@ -1825,12 +2467,16 @@ REFERENCE_IMAGES = \
 	reference/smask-paint.quartz.ref.png \
 	reference/smask-paint.ref.png \
 	reference/smask-paint.svg.ref.png \
+	reference/smask-paint.traps.argb32.ref.png \
+	reference/smask-paint.traps.rgb24.ref.png \
 	reference/smask-stroke.base.argb32.ref.png \
 	reference/smask-stroke.base.rgb24.ref.png \
 	reference/smask-stroke.image16.ref.png \
 	reference/smask-stroke.pdf.xfail.png \
 	reference/smask-stroke.quartz.ref.png \
 	reference/smask-stroke.ref.png \
+	reference/smask-stroke.traps.argb32.ref.png \
+	reference/smask-stroke.traps.rgb24.ref.png \
 	reference/smask-stroke.xlib.ref.png \
 	reference/smask-text.base.argb32.ref.png \
 	reference/smask-text.base.rgb24.ref.png \
@@ -1842,6 +2488,8 @@ REFERENCE_IMAGES = \
 	reference/smask-text.ref.png \
 	reference/smask-text.script.ref.png \
 	reference/smask-text.svg.ref.png \
+	reference/smask-text.traps.argb32.ref.png \
+	reference/smask-text.traps.rgb24.ref.png \
 	reference/smask-text.xlib-fallback.ref.png \
 	reference/smask-text.xlib.ref.png \
 	reference/smask.base.argb32.ref.png \
@@ -1853,11 +2501,15 @@ REFERENCE_IMAGES = \
 	reference/smask.ref.png \
 	reference/smask.script.ref.png \
 	reference/smask.svg.ref.png \
+	reference/smask.traps.argb32.ref.png \
+	reference/smask.traps.rgb24.ref.png \
 	reference/smask.xlib-fallback.ref.png \
 	reference/smask.xlib.ref.png \
 	reference/solid-pattern-cache-stress.base.argb32.ref.png \
 	reference/solid-pattern-cache-stress.base.rgb24.ref.png \
 	reference/solid-pattern-cache-stress.ref.png \
+	reference/solid-pattern-cache-stress.traps.argb32.ref.png \
+	reference/solid-pattern-cache-stress.traps.rgb24.ref.png \
 	reference/source-clip-scale.base.argb32.ref.png \
 	reference/source-clip-scale.base.rgb24.ref.png \
 	reference/source-clip-scale.gl.ref.png \
@@ -1869,13 +2521,19 @@ REFERENCE_IMAGES = \
 	reference/source-clip-scale.quartz.ref.png \
 	reference/source-clip-scale.ref.png \
 	reference/source-clip-scale.svg.ref.png \
+	reference/source-clip-scale.traps.argb32.ref.png \
+	reference/source-clip-scale.traps.rgb24.ref.png \
 	reference/source-clip.base.argb32.ref.png \
 	reference/source-clip.base.rgb24.ref.png \
 	reference/source-clip.ref.png \
+	reference/source-clip.traps.argb32.ref.png \
+	reference/source-clip.traps.rgb24.ref.png \
 	reference/source-surface-scale-paint.base.argb32.ref.png \
 	reference/source-surface-scale-paint.base.rgb24.ref.png \
 	reference/source-surface-scale-paint.ref.png \
 	reference/source-surface-scale-paint.rgb24.ref.png \
+	reference/source-surface-scale-paint.traps.argb32.ref.png \
+	reference/source-surface-scale-paint.traps.rgb24.ref.png \
 	reference/spline-decomposition.base.argb32.ref.png \
 	reference/spline-decomposition.base.rgb24.ref.png \
 	reference/spline-decomposition.image16.ref.png \
@@ -1884,6 +2542,8 @@ REFERENCE_IMAGES = \
 	reference/spline-decomposition.quartz.xfail.png \
 	reference/spline-decomposition.ref.png \
 	reference/spline-decomposition.svg.ref.png \
+	reference/spline-decomposition.traps.argb32.ref.png \
+	reference/spline-decomposition.traps.rgb24.ref.png \
 	reference/spline-decomposition.xlib.ref.png \
 	reference/stroke-ctm-caps.base.argb32.ref.png \
 	reference/stroke-ctm-caps.base.rgb24.ref.png \
@@ -1892,6 +2552,8 @@ REFERENCE_IMAGES = \
 	reference/stroke-ctm-caps.ps3.ref.png \
 	reference/stroke-ctm-caps.quartz.ref.png \
 	reference/stroke-ctm-caps.ref.png \
+	reference/stroke-ctm-caps.traps.argb32.ref.png \
+	reference/stroke-ctm-caps.traps.rgb24.ref.png \
 	reference/stroke-image.base.argb32.ref.png \
 	reference/stroke-image.base.rgb24.ref.png \
 	reference/stroke-image.image16.ref.png \
@@ -1899,20 +2561,30 @@ REFERENCE_IMAGES = \
 	reference/stroke-image.ps.ref.png \
 	reference/stroke-image.quartz.ref.png \
 	reference/stroke-image.ref.png \
+	reference/stroke-image.traps.argb32.ref.png \
+	reference/stroke-image.traps.rgb24.ref.png \
 	reference/stroke-image.xlib.ref.png \
 	reference/stroke-open-box.base.argb32.ref.png \
 	reference/stroke-open-box.base.rgb24.ref.png \
 	reference/stroke-open-box.ref.png \
+	reference/stroke-open-box.traps.argb32.ref.png \
+	reference/stroke-open-box.traps.rgb24.ref.png \
 	reference/subsurface-image-repeat.base.argb32.ref.png \
 	reference/subsurface-image-repeat.base.rgb24.ref.png \
 	reference/subsurface-image-repeat.image16.ref.png \
 	reference/subsurface-image-repeat.ref.png \
+	reference/subsurface-image-repeat.traps.argb32.ref.png \
+	reference/subsurface-image-repeat.traps.rgb24.ref.png \
 	reference/subsurface-modify-child.base.argb32.ref.png \
 	reference/subsurface-modify-child.base.rgb24.ref.png \
 	reference/subsurface-modify-child.ref.png \
+	reference/subsurface-modify-child.traps.argb32.ref.png \
+	reference/subsurface-modify-child.traps.rgb24.ref.png \
 	reference/subsurface-modify-parent.base.argb32.ref.png \
 	reference/subsurface-modify-parent.base.rgb24.ref.png \
 	reference/subsurface-modify-parent.ref.png \
+	reference/subsurface-modify-parent.traps.argb32.ref.png \
+	reference/subsurface-modify-parent.traps.rgb24.ref.png \
 	reference/subsurface-outside-target.argb32.ref.png \
 	reference/subsurface-outside-target.base.argb32.ref.png \
 	reference/subsurface-outside-target.base.rgb24.ref.png \
@@ -1921,26 +2593,38 @@ REFERENCE_IMAGES = \
 	reference/subsurface-pad.base.rgb24.ref.png \
 	reference/subsurface-pad.quartz.xfail.png \
 	reference/subsurface-pad.ref.png \
+	reference/subsurface-pad.traps.argb32.ref.png \
+	reference/subsurface-pad.traps.rgb24.ref.png \
 	reference/subsurface-reflect.base.argb32.ref.png \
 	reference/subsurface-reflect.base.rgb24.ref.png \
 	reference/subsurface-reflect.ref.png \
+	reference/subsurface-reflect.traps.argb32.ref.png \
+	reference/subsurface-reflect.traps.rgb24.ref.png \
 	reference/subsurface-repeat.base.argb32.ref.png \
 	reference/subsurface-repeat.base.rgb24.ref.png \
 	reference/subsurface-repeat.ref.png \
+	reference/subsurface-repeat.traps.argb32.ref.png \
+	reference/subsurface-repeat.traps.rgb24.ref.png \
 	reference/subsurface-similar-repeat.base.argb32.ref.png \
 	reference/subsurface-similar-repeat.base.rgb24.ref.png \
 	reference/subsurface-similar-repeat.ref.png \
+	reference/subsurface-similar-repeat.traps.argb32.ref.png \
+	reference/subsurface-similar-repeat.traps.rgb24.ref.png \
 	reference/subsurface.base.argb32.ref.png \
 	reference/subsurface.base.rgb24.ref.png \
 	reference/subsurface.image16.ref.png \
 	reference/subsurface.ps.ref.png \
 	reference/subsurface.ref.png \
+	reference/subsurface.traps.argb32.ref.png \
+	reference/subsurface.traps.rgb24.ref.png \
 	reference/subsurface.xlib.ref.png \
 	reference/surface-pattern-big-scale-down.base.argb32.ref.png \
 	reference/surface-pattern-big-scale-down.base.rgb24.ref.png \
 	reference/surface-pattern-big-scale-down.ps.ref.png \
 	reference/surface-pattern-big-scale-down.quartz.ref.png \
 	reference/surface-pattern-big-scale-down.ref.png \
+	reference/surface-pattern-big-scale-down.traps.argb32.ref.png \
+	reference/surface-pattern-big-scale-down.traps.rgb24.ref.png \
 	reference/surface-pattern-operator.argb32.ref.png \
 	reference/surface-pattern-operator.base.argb32.ref.png \
 	reference/surface-pattern-operator.base.rgb24.ref.png \
@@ -1950,24 +2634,34 @@ REFERENCE_IMAGES = \
 	reference/surface-pattern-operator.quartz.argb32.ref.png \
 	reference/surface-pattern-operator.quartz.rgb24.ref.png \
 	reference/surface-pattern-operator.rgb24.ref.png \
+	reference/surface-pattern-operator.traps.argb32.ref.png \
+	reference/surface-pattern-operator.traps.rgb24.ref.png \
 	reference/surface-pattern-operator.xlib.argb32.ref.png \
 	reference/surface-pattern-operator.xlib.rgb24.ref.png \
 	reference/surface-pattern-scale-down-extend-none.base.argb32.ref.png \
 	reference/surface-pattern-scale-down-extend-none.base.rgb24.ref.png \
 	reference/surface-pattern-scale-down-extend-none.quartz.ref.png \
 	reference/surface-pattern-scale-down-extend-none.ref.png \
+	reference/surface-pattern-scale-down-extend-none.traps.argb32.ref.png \
+	reference/surface-pattern-scale-down-extend-none.traps.rgb24.ref.png \
 	reference/surface-pattern-scale-down-extend-pad.base.argb32.ref.png \
 	reference/surface-pattern-scale-down-extend-pad.base.rgb24.ref.png \
 	reference/surface-pattern-scale-down-extend-pad.quartz.xfail.png \
 	reference/surface-pattern-scale-down-extend-pad.ref.png \
+	reference/surface-pattern-scale-down-extend-pad.traps.argb32.ref.png \
+	reference/surface-pattern-scale-down-extend-pad.traps.rgb24.ref.png \
 	reference/surface-pattern-scale-down-extend-reflect.base.argb32.ref.png \
 	reference/surface-pattern-scale-down-extend-reflect.base.rgb24.ref.png \
 	reference/surface-pattern-scale-down-extend-reflect.quartz.ref.png \
 	reference/surface-pattern-scale-down-extend-reflect.ref.png \
+	reference/surface-pattern-scale-down-extend-reflect.traps.argb32.ref.png \
+	reference/surface-pattern-scale-down-extend-reflect.traps.rgb24.ref.png \
 	reference/surface-pattern-scale-down-extend-repeat.base.argb32.ref.png \
 	reference/surface-pattern-scale-down-extend-repeat.base.rgb24.ref.png \
 	reference/surface-pattern-scale-down-extend-repeat.quartz.ref.png \
 	reference/surface-pattern-scale-down-extend-repeat.ref.png \
+	reference/surface-pattern-scale-down-extend-repeat.traps.argb32.ref.png \
+	reference/surface-pattern-scale-down-extend-repeat.traps.rgb24.ref.png \
 	reference/surface-pattern-scale-down.base.argb32.ref.png \
 	reference/surface-pattern-scale-down.base.rgb24.ref.png \
 	reference/surface-pattern-scale-down.image16.ref.png \
@@ -1976,6 +2670,8 @@ REFERENCE_IMAGES = \
 	reference/surface-pattern-scale-down.ps3.ref.png \
 	reference/surface-pattern-scale-down.quartz.ref.png \
 	reference/surface-pattern-scale-down.ref.png \
+	reference/surface-pattern-scale-down.traps.argb32.ref.png \
+	reference/surface-pattern-scale-down.traps.rgb24.ref.png \
 	reference/surface-pattern-scale-up.base.argb32.ref.png \
 	reference/surface-pattern-scale-up.base.rgb24.ref.png \
 	reference/surface-pattern-scale-up.image16.ref.png \
@@ -1984,6 +2680,8 @@ REFERENCE_IMAGES = \
 	reference/surface-pattern-scale-up.ps3.ref.png \
 	reference/surface-pattern-scale-up.quartz.xfail.png \
 	reference/surface-pattern-scale-up.ref.png \
+	reference/surface-pattern-scale-up.traps.argb32.ref.png \
+	reference/surface-pattern-scale-up.traps.rgb24.ref.png \
 	reference/surface-pattern.base.argb32.ref.png \
 	reference/surface-pattern.base.rgb24.ref.png \
 	reference/surface-pattern.image16.ref.png \
@@ -1992,6 +2690,8 @@ REFERENCE_IMAGES = \
 	reference/surface-pattern.quartz.xfail.png \
 	reference/surface-pattern.ref.png \
 	reference/surface-pattern.svg.xfail.png \
+	reference/surface-pattern.traps.argb32.ref.png \
+	reference/surface-pattern.traps.rgb24.ref.png \
 	reference/svg-surface-source.argb32.ref.png \
 	reference/svg-surface-source.base.argb32.ref.png \
 	reference/svg-surface-source.base.rgb24.ref.png \
@@ -1999,26 +2699,36 @@ REFERENCE_IMAGES = \
 	reference/svg-surface-source.rgb24.ref.png \
 	reference/svg-surface-source.svg12.argb32.xfail.png \
 	reference/svg-surface-source.svg12.rgb24.xfail.png \
+	reference/svg-surface-source.traps.argb32.ref.png \
+	reference/svg-surface-source.traps.rgb24.ref.png \
 	reference/text-antialias-gray.base.argb32.ref.png \
 	reference/text-antialias-gray.base.rgb24.ref.png \
 	reference/text-antialias-gray.image16.ref.png \
 	reference/text-antialias-gray.quartz.ref.png \
 	reference/text-antialias-gray.ref.png \
+	reference/text-antialias-gray.traps.argb32.ref.png \
+	reference/text-antialias-gray.traps.rgb24.ref.png \
 	reference/text-antialias-none.base.argb32.ref.png \
 	reference/text-antialias-none.base.rgb24.ref.png \
 	reference/text-antialias-none.quartz.ref.png \
 	reference/text-antialias-none.ref.png \
+	reference/text-antialias-none.traps.argb32.ref.png \
+	reference/text-antialias-none.traps.rgb24.ref.png \
 	reference/text-antialias-subpixel.base.argb32.xfail.png \
 	reference/text-antialias-subpixel.base.rgb24.xfail.png \
 	reference/text-antialias-subpixel.image16.ref.png \
 	reference/text-antialias-subpixel.quartz.ref.png \
 	reference/text-antialias-subpixel.ref.png \
+	reference/text-antialias-subpixel.traps.argb32.ref.png \
+	reference/text-antialias-subpixel.traps.rgb24.ref.png \
 	reference/text-glyph-range.base.argb32.ref.png \
 	reference/text-glyph-range.base.rgb24.ref.png \
 	reference/text-glyph-range.image16.ref.png \
 	reference/text-glyph-range.ps.ref.png \
 	reference/text-glyph-range.quartz.ref.png \
 	reference/text-glyph-range.ref.png \
+	reference/text-glyph-range.traps.argb32.ref.png \
+	reference/text-glyph-range.traps.rgb24.ref.png \
 	reference/text-pattern.base.argb32.ref.png \
 	reference/text-pattern.base.rgb24.ref.png \
 	reference/text-pattern.pdf.argb32.ref.png \
@@ -2033,6 +2743,8 @@ REFERENCE_IMAGES = \
 	reference/text-pattern.rgb24.ref.png \
 	reference/text-pattern.svg.argb32.ref.png \
 	reference/text-pattern.svg.rgb24.ref.png \
+	reference/text-pattern.traps.argb32.ref.png \
+	reference/text-pattern.traps.rgb24.ref.png \
 	reference/text-rotate.base.argb32.ref.png \
 	reference/text-rotate.base.rgb24.ref.png \
 	reference/text-rotate.image16.ref.png \
@@ -2041,6 +2753,8 @@ REFERENCE_IMAGES = \
 	reference/text-rotate.quartz.ref.png \
 	reference/text-rotate.ref.png \
 	reference/text-rotate.svg.ref.png \
+	reference/text-rotate.traps.argb32.ref.png \
+	reference/text-rotate.traps.rgb24.ref.png \
 	reference/text-rotate.xlib-fallback.ref.png \
 	reference/text-rotate.xlib.ref.png \
 	reference/text-transform.base.argb32.ref.png \
@@ -2052,21 +2766,30 @@ REFERENCE_IMAGES = \
 	reference/text-transform.ps3.ref.png \
 	reference/text-transform.ref.png \
 	reference/text-transform.svg.ref.png \
+	reference/text-transform.traps.argb32.ref.png \
+	reference/text-transform.traps.rgb24.ref.png \
 	reference/tiger.base.argb32.ref.png \
 	reference/tiger.base.rgb24.ref.png \
 	reference/tiger.ref.png \
+	reference/tiger.traps.argb32.ref.png \
+	reference/tiger.traps.rgb24.ref.png \
 	reference/tighten-bounds.base.argb32.ref.png \
 	reference/tighten-bounds.base.rgb24.ref.png \
 	reference/tighten-bounds.ref.png \
+	reference/tighten-bounds.traps.argb32.ref.png \
 	reference/transforms.base.argb32.ref.png \
 	reference/transforms.base.rgb24.ref.png \
 	reference/transforms.image16.ref.png \
 	reference/transforms.ps2.ref.png \
 	reference/transforms.ps3.ref.png \
 	reference/transforms.ref.png \
+	reference/transforms.traps.argb32.ref.png \
+	reference/transforms.traps.rgb24.ref.png \
 	reference/translate-show-surface.base.argb32.ref.png \
 	reference/translate-show-surface.base.rgb24.ref.png \
 	reference/translate-show-surface.ref.png \
+	reference/translate-show-surface.traps.argb32.ref.png \
+	reference/translate-show-surface.traps.rgb24.ref.png \
 	reference/trap-clip.base.argb32.ref.png \
 	reference/trap-clip.base.rgb24.ref.png \
 	reference/trap-clip.image16.ref.png \
@@ -2079,26 +2802,36 @@ REFERENCE_IMAGES = \
 	reference/trap-clip.ref.png \
 	reference/trap-clip.rgb24.ref.png \
 	reference/trap-clip.test-paginated.argb32.ref.png \
+	reference/trap-clip.traps.argb32.ref.png \
+	reference/trap-clip.traps.rgb24.ref.png \
 	reference/trap-clip.xlib.ref.png \
 	reference/trap-clip.xlib.rgb24.ref.png \
 	reference/twin-antialias-gray.base.argb32.ref.png \
 	reference/twin-antialias-gray.base.rgb24.ref.png \
 	reference/twin-antialias-gray.image16.ref.png \
 	reference/twin-antialias-gray.ref.png \
+	reference/twin-antialias-gray.traps.argb32.ref.png \
+	reference/twin-antialias-gray.traps.rgb24.ref.png \
 	reference/twin-antialias-gray.xlib.ref.png \
 	reference/twin-antialias-mixed.base.argb32.ref.png \
 	reference/twin-antialias-mixed.base.rgb24.ref.png \
 	reference/twin-antialias-mixed.image16.ref.png \
 	reference/twin-antialias-mixed.ref.png \
+	reference/twin-antialias-mixed.traps.argb32.ref.png \
+	reference/twin-antialias-mixed.traps.rgb24.ref.png \
 	reference/twin-antialias-mixed.xlib.ref.png \
 	reference/twin-antialias-none.base.argb32.ref.png \
 	reference/twin-antialias-none.base.rgb24.ref.png \
 	reference/twin-antialias-none.ref.png \
+	reference/twin-antialias-none.traps.argb32.ref.png \
+	reference/twin-antialias-none.traps.rgb24.ref.png \
 	reference/twin-antialias-none.xlib.ref.png \
 	reference/twin-antialias-subpixel.base.argb32.ref.png \
 	reference/twin-antialias-subpixel.base.rgb24.ref.png \
 	reference/twin-antialias-subpixel.image16.ref.png \
 	reference/twin-antialias-subpixel.ref.png \
+	reference/twin-antialias-subpixel.traps.argb32.ref.png \
+	reference/twin-antialias-subpixel.traps.rgb24.ref.png \
 	reference/twin-antialias-subpixel.xlib.ref.png \
 	reference/twin.base.argb32.ref.png \
 	reference/twin.base.rgb24.ref.png \
@@ -2106,14 +2839,20 @@ REFERENCE_IMAGES = \
 	reference/twin.ps.ref.png \
 	reference/twin.ref.png \
 	reference/twin.svg.ref.png \
+	reference/twin.traps.argb32.ref.png \
+	reference/twin.traps.rgb24.ref.png \
 	reference/twin.xlib.ref.png \
 	reference/unaligned-box.base.argb32.ref.png \
 	reference/unaligned-box.base.rgb24.ref.png \
 	reference/unaligned-box.ref.png \
+	reference/unaligned-box.traps.argb32.ref.png \
+	reference/unaligned-box.traps.rgb24.ref.png \
 	reference/unantialiased-shapes.base.argb32.ref.png \
 	reference/unantialiased-shapes.base.rgb24.ref.png \
 	reference/unantialiased-shapes.quartz.ref.png \
 	reference/unantialiased-shapes.ref.png \
+	reference/unantialiased-shapes.traps.argb32.ref.png \
+	reference/unantialiased-shapes.traps.rgb24.ref.png \
 	reference/unbounded-operator.argb32.ref.png \
 	reference/unbounded-operator.base.argb32.ref.png \
 	reference/unbounded-operator.base.rgb24.ref.png \
@@ -2128,10 +2867,14 @@ REFERENCE_IMAGES = \
 	reference/unbounded-operator.rgb24.ref.png \
 	reference/unbounded-operator.svg12.argb32.ref.png \
 	reference/unbounded-operator.svg12.rgb24.xfail.png \
+	reference/unbounded-operator.traps.argb32.ref.png \
+	reference/unbounded-operator.traps.rgb24.ref.png \
 	reference/unbounded-operator.xlib.rgb24.ref.png \
 	reference/unclosed-strokes.base.argb32.ref.png \
 	reference/unclosed-strokes.base.rgb24.ref.png \
 	reference/unclosed-strokes.ref.png \
+	reference/unclosed-strokes.traps.argb32.ref.png \
+	reference/unclosed-strokes.traps.rgb24.ref.png \
 	reference/user-font-mask.base.argb32.ref.png \
 	reference/user-font-mask.base.rgb24.ref.png \
 	reference/user-font-mask.image16.ref.png \
@@ -2140,6 +2883,8 @@ REFERENCE_IMAGES = \
 	reference/user-font-mask.ps3.ref.png \
 	reference/user-font-mask.ref.png \
 	reference/user-font-mask.svg.ref.png \
+	reference/user-font-mask.traps.argb32.ref.png \
+	reference/user-font-mask.traps.rgb24.ref.png \
 	reference/user-font-proxy.base.argb32.ref.png \
 	reference/user-font-proxy.base.rgb24.ref.png \
 	reference/user-font-proxy.image16.ref.png \
@@ -2150,6 +2895,8 @@ REFERENCE_IMAGES = \
 	reference/user-font-proxy.quartz.ref.png \
 	reference/user-font-proxy.ref.png \
 	reference/user-font-proxy.svg.ref.png \
+	reference/user-font-proxy.traps.argb32.ref.png \
+	reference/user-font-proxy.traps.rgb24.ref.png \
 	reference/user-font-proxy.xlib.ref.png \
 	reference/user-font-rescale.base.argb32.ref.png \
 	reference/user-font-rescale.base.rgb24.ref.png \
@@ -2158,6 +2905,8 @@ REFERENCE_IMAGES = \
 	reference/user-font-rescale.quartz.ref.png \
 	reference/user-font-rescale.ref.png \
 	reference/user-font-rescale.svg.ref.png \
+	reference/user-font-rescale.traps.argb32.ref.png \
+	reference/user-font-rescale.traps.rgb24.ref.png \
 	reference/user-font.base.argb32.ref.png \
 	reference/user-font.base.rgb24.ref.png \
 	reference/user-font.image16.ref.png \
@@ -2166,31 +2915,47 @@ REFERENCE_IMAGES = \
 	reference/user-font.quartz.ref.png \
 	reference/user-font.ref.png \
 	reference/user-font.svg.ref.png \
+	reference/user-font.traps.argb32.ref.png \
+	reference/user-font.traps.rgb24.ref.png \
 	reference/user-font.xlib.ref.png \
 	reference/white-in-noop.base.argb32.ref.png \
 	reference/white-in-noop.base.rgb24.ref.png \
 	reference/white-in-noop.ref.png \
+	reference/white-in-noop.traps.argb32.ref.png \
+	reference/white-in-noop.traps.rgb24.ref.png \
 	reference/world-map-fill.base.argb32.ref.png \
 	reference/world-map-fill.base.rgb24.ref.png \
 	reference/world-map-fill.image16.ref.png \
 	reference/world-map-fill.ref.png \
+	reference/world-map-fill.traps.argb32.ref.png \
+	reference/world-map-fill.traps.rgb24.ref.png \
 	reference/world-map-stroke.base.argb32.ref.png \
 	reference/world-map-stroke.base.rgb24.ref.png \
 	reference/world-map-stroke.image16.ref.png \
 	reference/world-map-stroke.ref.png \
+	reference/world-map-stroke.traps.argb32.ref.png \
+	reference/world-map-stroke.traps.rgb24.ref.png \
 	reference/world-map.base.argb32.ref.png \
 	reference/world-map.base.rgb24.ref.png \
 	reference/world-map.image16.ref.png \
 	reference/world-map.ref.png \
+	reference/world-map.traps.argb32.ref.png \
+	reference/world-map.traps.rgb24.ref.png \
 	reference/xcb-huge-image-shm.base.argb32.ref.png \
 	reference/xcb-huge-image-shm.base.rgb24.ref.png \
 	reference/xcb-huge-image-shm.ref.png \
+	reference/xcb-huge-image-shm.traps.argb32.ref.png \
+	reference/xcb-huge-image-shm.traps.rgb24.ref.png \
 	reference/xcb-snapshot-assert.base.argb32.ref.png \
 	reference/xcb-snapshot-assert.base.rgb24.ref.png \
 	reference/xcb-snapshot-assert.ref.png \
+	reference/xcb-snapshot-assert.traps.argb32.ref.png \
+	reference/xcb-snapshot-assert.traps.rgb24.ref.png \
 	reference/xcb-stress-cache.base.argb32.ref.png \
 	reference/xcb-stress-cache.base.rgb24.ref.png \
 	reference/xcb-stress-cache.ref.png \
+	reference/xcb-stress-cache.traps.argb32.ref.png \
+	reference/xcb-stress-cache.traps.rgb24.ref.png \
 	reference/xcb-surface-source.argb32.ref.png \
 	reference/xcb-surface-source.base.argb32.ref.png \
 	reference/xcb-surface-source.base.rgb24.ref.png \
@@ -2198,16 +2963,22 @@ REFERENCE_IMAGES = \
 	reference/xcb-surface-source.ps.argb32.ref.png \
 	reference/xcb-surface-source.ps.rgb24.ref.png \
 	reference/xcb-surface-source.rgb24.ref.png \
+	reference/xcb-surface-source.traps.argb32.ref.png \
+	reference/xcb-surface-source.traps.rgb24.ref.png \
 	reference/xcomposite-projection.base.argb32.ref.png \
 	reference/xcomposite-projection.base.rgb24.ref.png \
 	reference/xcomposite-projection.image16.ref.png \
 	reference/xcomposite-projection.quartz.ref.png \
 	reference/xcomposite-projection.ref.png \
+	reference/xcomposite-projection.traps.argb32.ref.png \
+	reference/xcomposite-projection.traps.rgb24.ref.png \
 	reference/xlib-expose-event.base.argb32.ref.png \
 	reference/xlib-expose-event.base.rgb24.ref.png \
 	reference/xlib-expose-event.image16.ref.png \
 	reference/xlib-expose-event.ps.ref.png \
 	reference/xlib-expose-event.ref.png \
+	reference/xlib-expose-event.traps.argb32.ref.png \
+	reference/xlib-expose-event.traps.rgb24.ref.png \
 	reference/xlib-surface-source.argb32.ref.png \
 	reference/xlib-surface-source.base.argb32.ref.png \
 	reference/xlib-surface-source.base.rgb24.ref.png \
@@ -2217,11 +2988,17 @@ REFERENCE_IMAGES = \
 	reference/xlib-surface-source.rgb24.ref.png \
 	reference/xlib-surface-source.svg12.argb32.xfail.png \
 	reference/xlib-surface-source.svg12.rgb24.xfail.png \
+	reference/xlib-surface-source.traps.argb32.ref.png \
+	reference/xlib-surface-source.traps.rgb24.ref.png \
 	reference/zero-alpha.base.argb32.ref.png \
 	reference/zero-alpha.base.rgb24.ref.png \
 	reference/zero-alpha.ref.png \
+	reference/zero-alpha.traps.argb32.ref.png \
+	reference/zero-alpha.traps.rgb24.ref.png \
 	reference/zero-mask.base.argb32.ref.png \
 	reference/zero-mask.base.rgb24.ref.png \
 	reference/zero-mask.ref.png \
 	reference/zero-mask.rgb24.ref.png \
+	reference/zero-mask.traps.argb32.ref.png \
+	reference/zero-mask.traps.rgb24.ref.png \
 	$(NULL)
diff --git a/test/reference/a1-bug.traps.argb32.ref.png b/test/reference/a1-bug.traps.argb32.ref.png
new file mode 100644
index 0000000..4b08e06
Binary files /dev/null and b/test/reference/a1-bug.traps.argb32.ref.png differ
diff --git a/test/reference/a1-bug.traps.rgb24.ref.png b/test/reference/a1-bug.traps.rgb24.ref.png
new file mode 100644
index 0000000..4b08e06
Binary files /dev/null and b/test/reference/a1-bug.traps.rgb24.ref.png differ
diff --git a/test/reference/a1-clip-fill-equal.traps.argb32.ref.png b/test/reference/a1-clip-fill-equal.traps.argb32.ref.png
new file mode 100644
index 0000000..384ba4a
Binary files /dev/null and b/test/reference/a1-clip-fill-equal.traps.argb32.ref.png differ
diff --git a/test/reference/a1-clip-fill-equal.traps.rgb24.ref.png b/test/reference/a1-clip-fill-equal.traps.rgb24.ref.png
new file mode 100644
index 0000000..384ba4a
Binary files /dev/null and b/test/reference/a1-clip-fill-equal.traps.rgb24.ref.png differ
diff --git a/test/reference/a1-clip-fill-rule.traps.argb32.ref.png b/test/reference/a1-clip-fill-rule.traps.argb32.ref.png
new file mode 100644
index 0000000..c3ba9dd
Binary files /dev/null and b/test/reference/a1-clip-fill-rule.traps.argb32.ref.png differ
diff --git a/test/reference/a1-clip-fill-rule.traps.rgb24.ref.png b/test/reference/a1-clip-fill-rule.traps.rgb24.ref.png
new file mode 100644
index 0000000..6fe9346
Binary files /dev/null and b/test/reference/a1-clip-fill-rule.traps.rgb24.ref.png differ
diff --git a/test/reference/a1-clip-fill.traps.argb32.ref.png b/test/reference/a1-clip-fill.traps.argb32.ref.png
new file mode 100644
index 0000000..384ba4a
Binary files /dev/null and b/test/reference/a1-clip-fill.traps.argb32.ref.png differ
diff --git a/test/reference/a1-clip-fill.traps.rgb24.ref.png b/test/reference/a1-clip-fill.traps.rgb24.ref.png
new file mode 100644
index 0000000..384ba4a
Binary files /dev/null and b/test/reference/a1-clip-fill.traps.rgb24.ref.png differ
diff --git a/test/reference/a1-clip-paint.traps.argb32.ref.png b/test/reference/a1-clip-paint.traps.argb32.ref.png
new file mode 100644
index 0000000..384ba4a
Binary files /dev/null and b/test/reference/a1-clip-paint.traps.argb32.ref.png differ
diff --git a/test/reference/a1-clip-paint.traps.rgb24.ref.png b/test/reference/a1-clip-paint.traps.rgb24.ref.png
new file mode 100644
index 0000000..384ba4a
Binary files /dev/null and b/test/reference/a1-clip-paint.traps.rgb24.ref.png differ
diff --git a/test/reference/a1-clip-stroke.traps.argb32.ref.png b/test/reference/a1-clip-stroke.traps.argb32.ref.png
new file mode 100644
index 0000000..384ba4a
Binary files /dev/null and b/test/reference/a1-clip-stroke.traps.argb32.ref.png differ
diff --git a/test/reference/a1-clip-stroke.traps.rgb24.ref.png b/test/reference/a1-clip-stroke.traps.rgb24.ref.png
new file mode 100644
index 0000000..384ba4a
Binary files /dev/null and b/test/reference/a1-clip-stroke.traps.rgb24.ref.png differ
diff --git a/test/reference/a1-image-sample.traps.argb32.ref.png b/test/reference/a1-image-sample.traps.argb32.ref.png
new file mode 100644
index 0000000..b8fd457
Binary files /dev/null and b/test/reference/a1-image-sample.traps.argb32.ref.png differ
diff --git a/test/reference/a1-image-sample.traps.rgb24.ref.png b/test/reference/a1-image-sample.traps.rgb24.ref.png
new file mode 100644
index 0000000..b8fd457
Binary files /dev/null and b/test/reference/a1-image-sample.traps.rgb24.ref.png differ
diff --git a/test/reference/a1-line-width.traps.argb32.ref.png b/test/reference/a1-line-width.traps.argb32.ref.png
new file mode 100644
index 0000000..35d9cad
Binary files /dev/null and b/test/reference/a1-line-width.traps.argb32.ref.png differ
diff --git a/test/reference/a1-line-width.traps.rgb24.ref.png b/test/reference/a1-line-width.traps.rgb24.ref.png
new file mode 100644
index 0000000..35d9cad
Binary files /dev/null and b/test/reference/a1-line-width.traps.rgb24.ref.png differ
diff --git a/test/reference/a1-mask-sample.traps.argb32.ref.png b/test/reference/a1-mask-sample.traps.argb32.ref.png
new file mode 100644
index 0000000..b8fd457
Binary files /dev/null and b/test/reference/a1-mask-sample.traps.argb32.ref.png differ
diff --git a/test/reference/a1-mask-sample.traps.rgb24.ref.png b/test/reference/a1-mask-sample.traps.rgb24.ref.png
new file mode 100644
index 0000000..b8fd457
Binary files /dev/null and b/test/reference/a1-mask-sample.traps.rgb24.ref.png differ
diff --git a/test/reference/a1-mask.traps.argb32.ref.png b/test/reference/a1-mask.traps.argb32.ref.png
new file mode 100644
index 0000000..864fc10
Binary files /dev/null and b/test/reference/a1-mask.traps.argb32.ref.png differ
diff --git a/test/reference/a1-mask.traps.rgb24.ref.png b/test/reference/a1-mask.traps.rgb24.ref.png
new file mode 100644
index 0000000..864fc10
Binary files /dev/null and b/test/reference/a1-mask.traps.rgb24.ref.png differ
diff --git a/test/reference/a1-rasterisation-rectangles.traps.argb32.ref.png b/test/reference/a1-rasterisation-rectangles.traps.argb32.ref.png
new file mode 100644
index 0000000..784cf87
Binary files /dev/null and b/test/reference/a1-rasterisation-rectangles.traps.argb32.ref.png differ
diff --git a/test/reference/a1-rasterisation-rectangles.traps.rgb24.ref.png b/test/reference/a1-rasterisation-rectangles.traps.rgb24.ref.png
new file mode 100644
index 0000000..784cf87
Binary files /dev/null and b/test/reference/a1-rasterisation-rectangles.traps.rgb24.ref.png differ
diff --git a/test/reference/a1-rasterisation-triangles.traps.argb32.ref.png b/test/reference/a1-rasterisation-triangles.traps.argb32.ref.png
new file mode 100644
index 0000000..784cf87
Binary files /dev/null and b/test/reference/a1-rasterisation-triangles.traps.argb32.ref.png differ
diff --git a/test/reference/a1-rasterisation-triangles.traps.rgb24.ref.png b/test/reference/a1-rasterisation-triangles.traps.rgb24.ref.png
new file mode 100644
index 0000000..784cf87
Binary files /dev/null and b/test/reference/a1-rasterisation-triangles.traps.rgb24.ref.png differ
diff --git a/test/reference/a1-rectilinear-grid.traps.argb32.ref.png b/test/reference/a1-rectilinear-grid.traps.argb32.ref.png
new file mode 100644
index 0000000..2dfb85e
Binary files /dev/null and b/test/reference/a1-rectilinear-grid.traps.argb32.ref.png differ
diff --git a/test/reference/a1-rectilinear-grid.traps.rgb24.ref.png b/test/reference/a1-rectilinear-grid.traps.rgb24.ref.png
new file mode 100644
index 0000000..2dfb85e
Binary files /dev/null and b/test/reference/a1-rectilinear-grid.traps.rgb24.ref.png differ
diff --git a/test/reference/a1-sample.traps.argb32.ref.png b/test/reference/a1-sample.traps.argb32.ref.png
new file mode 100644
index 0000000..4c6131c
Binary files /dev/null and b/test/reference/a1-sample.traps.argb32.ref.png differ
diff --git a/test/reference/a1-sample.traps.rgb24.ref.png b/test/reference/a1-sample.traps.rgb24.ref.png
new file mode 100644
index 0000000..4c6131c
Binary files /dev/null and b/test/reference/a1-sample.traps.rgb24.ref.png differ
diff --git a/test/reference/a1-tiger.traps.argb32.ref.png b/test/reference/a1-tiger.traps.argb32.ref.png
new file mode 100644
index 0000000..3847282
Binary files /dev/null and b/test/reference/a1-tiger.traps.argb32.ref.png differ
diff --git a/test/reference/a1-tiger.traps.rgb24.ref.png b/test/reference/a1-tiger.traps.rgb24.ref.png
new file mode 100644
index 0000000..3847282
Binary files /dev/null and b/test/reference/a1-tiger.traps.rgb24.ref.png differ
diff --git a/test/reference/a1-traps-sample.traps.argb32.ref.png b/test/reference/a1-traps-sample.traps.argb32.ref.png
new file mode 100644
index 0000000..384ba4a
Binary files /dev/null and b/test/reference/a1-traps-sample.traps.argb32.ref.png differ
diff --git a/test/reference/a1-traps-sample.traps.rgb24.ref.png b/test/reference/a1-traps-sample.traps.rgb24.ref.png
new file mode 100644
index 0000000..384ba4a
Binary files /dev/null and b/test/reference/a1-traps-sample.traps.rgb24.ref.png differ
diff --git a/test/reference/a8-clear.traps.argb32.ref.png b/test/reference/a8-clear.traps.argb32.ref.png
new file mode 100644
index 0000000..5201080
Binary files /dev/null and b/test/reference/a8-clear.traps.argb32.ref.png differ
diff --git a/test/reference/a8-clear.traps.rgb24.ref.png b/test/reference/a8-clear.traps.rgb24.ref.png
new file mode 100644
index 0000000..5201080
Binary files /dev/null and b/test/reference/a8-clear.traps.rgb24.ref.png differ
diff --git a/test/reference/a8-mask.traps.argb32.ref.png b/test/reference/a8-mask.traps.argb32.ref.png
new file mode 100644
index 0000000..e0503d9
Binary files /dev/null and b/test/reference/a8-mask.traps.argb32.ref.png differ
diff --git a/test/reference/a8-mask.traps.rgb24.ref.png b/test/reference/a8-mask.traps.rgb24.ref.png
new file mode 100644
index 0000000..e0503d9
Binary files /dev/null and b/test/reference/a8-mask.traps.rgb24.ref.png differ
diff --git a/test/reference/aliasing.traps.argb32.ref.png b/test/reference/aliasing.traps.argb32.ref.png
new file mode 100644
index 0000000..a88dbe2
Binary files /dev/null and b/test/reference/aliasing.traps.argb32.ref.png differ
diff --git a/test/reference/aliasing.traps.rgb24.ref.png b/test/reference/aliasing.traps.rgb24.ref.png
new file mode 100644
index 0000000..a88dbe2
Binary files /dev/null and b/test/reference/aliasing.traps.rgb24.ref.png differ
diff --git a/test/reference/alpha-similar.traps.argb32.ref.png b/test/reference/alpha-similar.traps.argb32.ref.png
new file mode 100644
index 0000000..9e1bfaa
Binary files /dev/null and b/test/reference/alpha-similar.traps.argb32.ref.png differ
diff --git a/test/reference/alpha-similar.traps.rgb24.ref.png b/test/reference/alpha-similar.traps.rgb24.ref.png
new file mode 100644
index 0000000..a1f5280
Binary files /dev/null and b/test/reference/alpha-similar.traps.rgb24.ref.png differ
diff --git a/test/reference/api-special-cases.traps.argb32.ref.png b/test/reference/api-special-cases.traps.argb32.ref.png
new file mode 100644
index 0000000..56b88a9
Binary files /dev/null and b/test/reference/api-special-cases.traps.argb32.ref.png differ
diff --git a/test/reference/api-special-cases.traps.rgb24.ref.png b/test/reference/api-special-cases.traps.rgb24.ref.png
new file mode 100644
index 0000000..56b88a9
Binary files /dev/null and b/test/reference/api-special-cases.traps.rgb24.ref.png differ
diff --git a/test/reference/arc-infinite-loop.traps.argb32.ref.png b/test/reference/arc-infinite-loop.traps.argb32.ref.png
new file mode 100644
index 0000000..82d645f
Binary files /dev/null and b/test/reference/arc-infinite-loop.traps.argb32.ref.png differ
diff --git a/test/reference/arc-infinite-loop.traps.rgb24.ref.png b/test/reference/arc-infinite-loop.traps.rgb24.ref.png
new file mode 100644
index 0000000..82d645f
Binary files /dev/null and b/test/reference/arc-infinite-loop.traps.rgb24.ref.png differ
diff --git a/test/reference/arc-looping-dash.traps.argb32.ref.png b/test/reference/arc-looping-dash.traps.argb32.ref.png
new file mode 100644
index 0000000..9b717b8
Binary files /dev/null and b/test/reference/arc-looping-dash.traps.argb32.ref.png differ
diff --git a/test/reference/arc-looping-dash.traps.rgb24.ref.png b/test/reference/arc-looping-dash.traps.rgb24.ref.png
new file mode 100644
index 0000000..9b717b8
Binary files /dev/null and b/test/reference/arc-looping-dash.traps.rgb24.ref.png differ
diff --git a/test/reference/big-empty-box.traps.argb32.ref.png b/test/reference/big-empty-box.traps.argb32.ref.png
new file mode 100644
index 0000000..a88d3b6
Binary files /dev/null and b/test/reference/big-empty-box.traps.argb32.ref.png differ
diff --git a/test/reference/big-empty-box.traps.rgb24.ref.png b/test/reference/big-empty-box.traps.rgb24.ref.png
new file mode 100644
index 0000000..6c2ca32
Binary files /dev/null and b/test/reference/big-empty-box.traps.rgb24.ref.png differ
diff --git a/test/reference/big-empty-triangle.traps.argb32.ref.png b/test/reference/big-empty-triangle.traps.argb32.ref.png
new file mode 100644
index 0000000..a88d3b6
Binary files /dev/null and b/test/reference/big-empty-triangle.traps.argb32.ref.png differ
diff --git a/test/reference/big-empty-triangle.traps.rgb24.ref.png b/test/reference/big-empty-triangle.traps.rgb24.ref.png
new file mode 100644
index 0000000..6c2ca32
Binary files /dev/null and b/test/reference/big-empty-triangle.traps.rgb24.ref.png differ
diff --git a/test/reference/big-line.traps.argb32.ref.png b/test/reference/big-line.traps.argb32.ref.png
new file mode 100644
index 0000000..35d2e36
Binary files /dev/null and b/test/reference/big-line.traps.argb32.ref.png differ
diff --git a/test/reference/big-line.traps.rgb24.ref.png b/test/reference/big-line.traps.rgb24.ref.png
new file mode 100644
index 0000000..35d2e36
Binary files /dev/null and b/test/reference/big-line.traps.rgb24.ref.png differ
diff --git a/test/reference/big-little-box.traps.argb32.ref.png b/test/reference/big-little-box.traps.argb32.ref.png
new file mode 100644
index 0000000..928c5e6
Binary files /dev/null and b/test/reference/big-little-box.traps.argb32.ref.png differ
diff --git a/test/reference/big-little-box.traps.rgb24.ref.png b/test/reference/big-little-box.traps.rgb24.ref.png
new file mode 100644
index 0000000..c069d6f
Binary files /dev/null and b/test/reference/big-little-box.traps.rgb24.ref.png differ
diff --git a/test/reference/big-little-triangle.traps.argb32.ref.png b/test/reference/big-little-triangle.traps.argb32.ref.png
new file mode 100644
index 0000000..5308cce
Binary files /dev/null and b/test/reference/big-little-triangle.traps.argb32.ref.png differ
diff --git a/test/reference/big-little-triangle.traps.rgb24.ref.png b/test/reference/big-little-triangle.traps.rgb24.ref.png
new file mode 100644
index 0000000..9e4773b
Binary files /dev/null and b/test/reference/big-little-triangle.traps.rgb24.ref.png differ
diff --git a/test/reference/big-trap.traps.argb32.ref.png b/test/reference/big-trap.traps.argb32.ref.png
new file mode 100644
index 0000000..c0975c9
Binary files /dev/null and b/test/reference/big-trap.traps.argb32.ref.png differ
diff --git a/test/reference/big-trap.traps.rgb24.ref.png b/test/reference/big-trap.traps.rgb24.ref.png
new file mode 100644
index 0000000..c0975c9
Binary files /dev/null and b/test/reference/big-trap.traps.rgb24.ref.png differ
diff --git a/test/reference/bilevel-image.traps.argb32.ref.png b/test/reference/bilevel-image.traps.argb32.ref.png
new file mode 100644
index 0000000..3fb25c2
Binary files /dev/null and b/test/reference/bilevel-image.traps.argb32.ref.png differ
diff --git a/test/reference/bilevel-image.traps.rgb24.ref.png b/test/reference/bilevel-image.traps.rgb24.ref.png
new file mode 100644
index 0000000..3fb25c2
Binary files /dev/null and b/test/reference/bilevel-image.traps.rgb24.ref.png differ
diff --git a/test/reference/bitmap-font.traps.argb32.ref.png b/test/reference/bitmap-font.traps.argb32.ref.png
new file mode 100644
index 0000000..bc2bc52
Binary files /dev/null and b/test/reference/bitmap-font.traps.argb32.ref.png differ
diff --git a/test/reference/bitmap-font.traps.rgb24.ref.png b/test/reference/bitmap-font.traps.rgb24.ref.png
new file mode 100644
index 0000000..285d742
Binary files /dev/null and b/test/reference/bitmap-font.traps.rgb24.ref.png differ
diff --git a/test/reference/bug-40410.traps.argb32.ref.png b/test/reference/bug-40410.traps.argb32.ref.png
new file mode 100644
index 0000000..a315935
Binary files /dev/null and b/test/reference/bug-40410.traps.argb32.ref.png differ
diff --git a/test/reference/bug-40410.traps.rgb24.ref.png b/test/reference/bug-40410.traps.rgb24.ref.png
new file mode 100644
index 0000000..a315935
Binary files /dev/null and b/test/reference/bug-40410.traps.rgb24.ref.png differ
diff --git a/test/reference/bug-bo-rectangular.traps.argb32.ref.png b/test/reference/bug-bo-rectangular.traps.argb32.ref.png
new file mode 100644
index 0000000..ffa4ede
Binary files /dev/null and b/test/reference/bug-bo-rectangular.traps.argb32.ref.png differ
diff --git a/test/reference/bug-bo-rectangular.traps.rgb24.ref.png b/test/reference/bug-bo-rectangular.traps.rgb24.ref.png
new file mode 100644
index 0000000..ffa4ede
Binary files /dev/null and b/test/reference/bug-bo-rectangular.traps.rgb24.ref.png differ
diff --git a/test/reference/bug-extents.traps.argb32.ref.png b/test/reference/bug-extents.traps.argb32.ref.png
new file mode 100644
index 0000000..e07f8aa
Binary files /dev/null and b/test/reference/bug-extents.traps.argb32.ref.png differ
diff --git a/test/reference/bug-extents.traps.rgb24.ref.png b/test/reference/bug-extents.traps.rgb24.ref.png
new file mode 100644
index 0000000..e07f8aa
Binary files /dev/null and b/test/reference/bug-extents.traps.rgb24.ref.png differ
diff --git a/test/reference/bug-seams.traps.argb32.ref.png b/test/reference/bug-seams.traps.argb32.ref.png
new file mode 100644
index 0000000..ac80651
Binary files /dev/null and b/test/reference/bug-seams.traps.argb32.ref.png differ
diff --git a/test/reference/bug-seams.traps.rgb24.ref.png b/test/reference/bug-seams.traps.rgb24.ref.png
new file mode 100644
index 0000000..ac80651
Binary files /dev/null and b/test/reference/bug-seams.traps.rgb24.ref.png differ
diff --git a/test/reference/caps-joins-alpha.traps.argb32.ref.png b/test/reference/caps-joins-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..288a500
Binary files /dev/null and b/test/reference/caps-joins-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/caps-joins-alpha.traps.rgb24.ref.png b/test/reference/caps-joins-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..288a500
Binary files /dev/null and b/test/reference/caps-joins-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/caps-joins-curve.traps.argb32.ref.png b/test/reference/caps-joins-curve.traps.argb32.ref.png
new file mode 100644
index 0000000..13f877c
Binary files /dev/null and b/test/reference/caps-joins-curve.traps.argb32.ref.png differ
diff --git a/test/reference/caps-joins-curve.traps.rgb24.ref.png b/test/reference/caps-joins-curve.traps.rgb24.ref.png
new file mode 100644
index 0000000..13f877c
Binary files /dev/null and b/test/reference/caps-joins-curve.traps.rgb24.ref.png differ
diff --git a/test/reference/caps-joins.traps.argb32.ref.png b/test/reference/caps-joins.traps.argb32.ref.png
new file mode 100644
index 0000000..831cba4
Binary files /dev/null and b/test/reference/caps-joins.traps.argb32.ref.png differ
diff --git a/test/reference/caps-joins.traps.rgb24.ref.png b/test/reference/caps-joins.traps.rgb24.ref.png
new file mode 100644
index 0000000..831cba4
Binary files /dev/null and b/test/reference/caps-joins.traps.rgb24.ref.png differ
diff --git a/test/reference/caps-sub-paths.traps.argb32.ref.png b/test/reference/caps-sub-paths.traps.argb32.ref.png
new file mode 100644
index 0000000..1ffb2d9
Binary files /dev/null and b/test/reference/caps-sub-paths.traps.argb32.ref.png differ
diff --git a/test/reference/caps-sub-paths.traps.rgb24.ref.png b/test/reference/caps-sub-paths.traps.rgb24.ref.png
new file mode 100644
index 0000000..1ffb2d9
Binary files /dev/null and b/test/reference/caps-sub-paths.traps.rgb24.ref.png differ
diff --git a/test/reference/caps-tails-curve.traps.argb32.ref.png b/test/reference/caps-tails-curve.traps.argb32.ref.png
new file mode 100644
index 0000000..ccb8d65
Binary files /dev/null and b/test/reference/caps-tails-curve.traps.argb32.ref.png differ
diff --git a/test/reference/caps-tails-curve.traps.rgb24.ref.png b/test/reference/caps-tails-curve.traps.rgb24.ref.png
new file mode 100644
index 0000000..ccb8d65
Binary files /dev/null and b/test/reference/caps-tails-curve.traps.rgb24.ref.png differ
diff --git a/test/reference/caps.traps.argb32.ref.png b/test/reference/caps.traps.argb32.ref.png
new file mode 100644
index 0000000..a46e036
Binary files /dev/null and b/test/reference/caps.traps.argb32.ref.png differ
diff --git a/test/reference/caps.traps.rgb24.ref.png b/test/reference/caps.traps.rgb24.ref.png
new file mode 100644
index 0000000..a46e036
Binary files /dev/null and b/test/reference/caps.traps.rgb24.ref.png differ
diff --git a/test/reference/checkerboard.traps.argb32.ref.png b/test/reference/checkerboard.traps.argb32.ref.png
new file mode 100644
index 0000000..1444bc4
Binary files /dev/null and b/test/reference/checkerboard.traps.argb32.ref.png differ
diff --git a/test/reference/checkerboard.traps.rgb24.ref.png b/test/reference/checkerboard.traps.rgb24.ref.png
new file mode 100644
index 0000000..1444bc4
Binary files /dev/null and b/test/reference/checkerboard.traps.rgb24.ref.png differ
diff --git a/test/reference/clear-source.traps.argb32.ref.png b/test/reference/clear-source.traps.argb32.ref.png
new file mode 100644
index 0000000..b7e8025
Binary files /dev/null and b/test/reference/clear-source.traps.argb32.ref.png differ
diff --git a/test/reference/clear-source.traps.rgb24.ref.png b/test/reference/clear-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..b7e8025
Binary files /dev/null and b/test/reference/clear-source.traps.rgb24.ref.png differ
diff --git a/test/reference/clear.traps.argb32.ref.png b/test/reference/clear.traps.argb32.ref.png
new file mode 100644
index 0000000..1caca6d
Binary files /dev/null and b/test/reference/clear.traps.argb32.ref.png differ
diff --git a/test/reference/clear.traps.rgb24.ref.png b/test/reference/clear.traps.rgb24.ref.png
new file mode 100644
index 0000000..7d789b0
Binary files /dev/null and b/test/reference/clear.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-all.traps.argb32.ref.png b/test/reference/clip-all.traps.argb32.ref.png
new file mode 100644
index 0000000..1ed070c
Binary files /dev/null and b/test/reference/clip-all.traps.argb32.ref.png differ
diff --git a/test/reference/clip-all.traps.rgb24.ref.png b/test/reference/clip-all.traps.rgb24.ref.png
new file mode 100644
index 0000000..1ed070c
Binary files /dev/null and b/test/reference/clip-all.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-complex-shape-eo-aa.traps.argb32.ref.png b/test/reference/clip-complex-shape-eo-aa.traps.argb32.ref.png
new file mode 100644
index 0000000..bafbb8a
Binary files /dev/null and b/test/reference/clip-complex-shape-eo-aa.traps.argb32.ref.png differ
diff --git a/test/reference/clip-complex-shape-eo-aa.traps.rgb24.ref.png b/test/reference/clip-complex-shape-eo-aa.traps.rgb24.ref.png
new file mode 100644
index 0000000..bafbb8a
Binary files /dev/null and b/test/reference/clip-complex-shape-eo-aa.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-complex-shape-eo-mono.traps.argb32.ref.png b/test/reference/clip-complex-shape-eo-mono.traps.argb32.ref.png
new file mode 100644
index 0000000..bafbb8a
Binary files /dev/null and b/test/reference/clip-complex-shape-eo-mono.traps.argb32.ref.png differ
diff --git a/test/reference/clip-complex-shape-eo-mono.traps.rgb24.ref.png b/test/reference/clip-complex-shape-eo-mono.traps.rgb24.ref.png
new file mode 100644
index 0000000..bafbb8a
Binary files /dev/null and b/test/reference/clip-complex-shape-eo-mono.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-contexts.traps.argb32.ref.png b/test/reference/clip-contexts.traps.argb32.ref.png
new file mode 100644
index 0000000..0d575a6
Binary files /dev/null and b/test/reference/clip-contexts.traps.argb32.ref.png differ
diff --git a/test/reference/clip-contexts.traps.rgb24.ref.png b/test/reference/clip-contexts.traps.rgb24.ref.png
new file mode 100644
index 0000000..0d575a6
Binary files /dev/null and b/test/reference/clip-contexts.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-device-offset.traps.argb32.ref.png b/test/reference/clip-device-offset.traps.argb32.ref.png
new file mode 100644
index 0000000..06be985
Binary files /dev/null and b/test/reference/clip-device-offset.traps.argb32.ref.png differ
diff --git a/test/reference/clip-device-offset.traps.rgb24.ref.png b/test/reference/clip-device-offset.traps.rgb24.ref.png
new file mode 100644
index 0000000..2419384
Binary files /dev/null and b/test/reference/clip-device-offset.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-disjoint-hatching.traps.argb32.ref.png b/test/reference/clip-disjoint-hatching.traps.argb32.ref.png
new file mode 100644
index 0000000..6226d93
Binary files /dev/null and b/test/reference/clip-disjoint-hatching.traps.argb32.ref.png differ
diff --git a/test/reference/clip-disjoint-hatching.traps.rgb24.ref.png b/test/reference/clip-disjoint-hatching.traps.rgb24.ref.png
new file mode 100644
index 0000000..6226d93
Binary files /dev/null and b/test/reference/clip-disjoint-hatching.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-disjoint.traps.argb32.ref.png b/test/reference/clip-disjoint.traps.argb32.ref.png
new file mode 100644
index 0000000..74ae9d8
Binary files /dev/null and b/test/reference/clip-disjoint.traps.argb32.ref.png differ
diff --git a/test/reference/clip-disjoint.traps.rgb24.ref.png b/test/reference/clip-disjoint.traps.rgb24.ref.png
new file mode 100644
index 0000000..74ae9d8
Binary files /dev/null and b/test/reference/clip-disjoint.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-empty-group.traps.argb32.ref.png b/test/reference/clip-empty-group.traps.argb32.ref.png
new file mode 100644
index 0000000..a59ca47
Binary files /dev/null and b/test/reference/clip-empty-group.traps.argb32.ref.png differ
diff --git a/test/reference/clip-empty-group.traps.rgb24.ref.png b/test/reference/clip-empty-group.traps.rgb24.ref.png
new file mode 100644
index 0000000..a59ca47
Binary files /dev/null and b/test/reference/clip-empty-group.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-empty-save.traps.argb32.ref.png b/test/reference/clip-empty-save.traps.argb32.ref.png
new file mode 100644
index 0000000..1ed070c
Binary files /dev/null and b/test/reference/clip-empty-save.traps.argb32.ref.png differ
diff --git a/test/reference/clip-empty-save.traps.rgb24.ref.png b/test/reference/clip-empty-save.traps.rgb24.ref.png
new file mode 100644
index 0000000..1ed070c
Binary files /dev/null and b/test/reference/clip-empty-save.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-empty.traps.argb32.ref.png b/test/reference/clip-empty.traps.argb32.ref.png
new file mode 100644
index 0000000..1ed070c
Binary files /dev/null and b/test/reference/clip-empty.traps.argb32.ref.png differ
diff --git a/test/reference/clip-empty.traps.rgb24.ref.png b/test/reference/clip-empty.traps.rgb24.ref.png
new file mode 100644
index 0000000..1ed070c
Binary files /dev/null and b/test/reference/clip-empty.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-fill-eo-unbounded.traps.argb32.ref.png b/test/reference/clip-fill-eo-unbounded.traps.argb32.ref.png
new file mode 100644
index 0000000..19b9f09
Binary files /dev/null and b/test/reference/clip-fill-eo-unbounded.traps.argb32.ref.png differ
diff --git a/test/reference/clip-fill-no-op.traps.argb32.ref.png b/test/reference/clip-fill-no-op.traps.argb32.ref.png
new file mode 100644
index 0000000..2256461
Binary files /dev/null and b/test/reference/clip-fill-no-op.traps.argb32.ref.png differ
diff --git a/test/reference/clip-fill-no-op.traps.rgb24.ref.png b/test/reference/clip-fill-no-op.traps.rgb24.ref.png
new file mode 100644
index 0000000..2256461
Binary files /dev/null and b/test/reference/clip-fill-no-op.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-fill-nz-unbounded.traps.argb32.ref.png b/test/reference/clip-fill-nz-unbounded.traps.argb32.ref.png
new file mode 100644
index 0000000..19b9f09
Binary files /dev/null and b/test/reference/clip-fill-nz-unbounded.traps.argb32.ref.png differ
diff --git a/test/reference/clip-fill-rule-pixel-aligned.traps.argb32.ref.png b/test/reference/clip-fill-rule-pixel-aligned.traps.argb32.ref.png
new file mode 100644
index 0000000..9b82c4b
Binary files /dev/null and b/test/reference/clip-fill-rule-pixel-aligned.traps.argb32.ref.png differ
diff --git a/test/reference/clip-fill-rule-pixel-aligned.traps.rgb24.ref.png b/test/reference/clip-fill-rule-pixel-aligned.traps.rgb24.ref.png
new file mode 100644
index 0000000..0b4f068
Binary files /dev/null and b/test/reference/clip-fill-rule-pixel-aligned.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-fill-rule.traps.argb32.ref.png b/test/reference/clip-fill-rule.traps.argb32.ref.png
new file mode 100644
index 0000000..6b083a7
Binary files /dev/null and b/test/reference/clip-fill-rule.traps.argb32.ref.png differ
diff --git a/test/reference/clip-fill-rule.traps.rgb24.ref.png b/test/reference/clip-fill-rule.traps.rgb24.ref.png
new file mode 100644
index 0000000..d21472d
Binary files /dev/null and b/test/reference/clip-fill-rule.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-fill.traps.argb32.ref.png b/test/reference/clip-fill.traps.argb32.ref.png
new file mode 100644
index 0000000..d6e84a3
Binary files /dev/null and b/test/reference/clip-fill.traps.argb32.ref.png differ
diff --git a/test/reference/clip-fill.traps.rgb24.ref.png b/test/reference/clip-fill.traps.rgb24.ref.png
new file mode 100644
index 0000000..d6e84a3
Binary files /dev/null and b/test/reference/clip-fill.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-group-shapes-aligned-rectangles.traps.argb32.ref.png b/test/reference/clip-group-shapes-aligned-rectangles.traps.argb32.ref.png
new file mode 100644
index 0000000..cba7507
Binary files /dev/null and b/test/reference/clip-group-shapes-aligned-rectangles.traps.argb32.ref.png differ
diff --git a/test/reference/clip-group-shapes-aligned-rectangles.traps.rgb24.ref.png b/test/reference/clip-group-shapes-aligned-rectangles.traps.rgb24.ref.png
new file mode 100644
index 0000000..cba7507
Binary files /dev/null and b/test/reference/clip-group-shapes-aligned-rectangles.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-group-shapes-circles.traps.argb32.ref.png b/test/reference/clip-group-shapes-circles.traps.argb32.ref.png
new file mode 100644
index 0000000..3b81146
Binary files /dev/null and b/test/reference/clip-group-shapes-circles.traps.argb32.ref.png differ
diff --git a/test/reference/clip-group-shapes-circles.traps.rgb24.ref.png b/test/reference/clip-group-shapes-circles.traps.rgb24.ref.png
new file mode 100644
index 0000000..3b81146
Binary files /dev/null and b/test/reference/clip-group-shapes-circles.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-group-shapes-unaligned-rectangles.traps.argb32.ref.png b/test/reference/clip-group-shapes-unaligned-rectangles.traps.argb32.ref.png
new file mode 100644
index 0000000..877e78b
Binary files /dev/null and b/test/reference/clip-group-shapes-unaligned-rectangles.traps.argb32.ref.png differ
diff --git a/test/reference/clip-group-shapes-unaligned-rectangles.traps.rgb24.ref.png b/test/reference/clip-group-shapes-unaligned-rectangles.traps.rgb24.ref.png
new file mode 100644
index 0000000..877e78b
Binary files /dev/null and b/test/reference/clip-group-shapes-unaligned-rectangles.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-image.traps.argb32.ref.png b/test/reference/clip-image.traps.argb32.ref.png
new file mode 100644
index 0000000..062c721
Binary files /dev/null and b/test/reference/clip-image.traps.argb32.ref.png differ
diff --git a/test/reference/clip-image.traps.rgb24.ref.png b/test/reference/clip-image.traps.rgb24.ref.png
new file mode 100644
index 0000000..062c721
Binary files /dev/null and b/test/reference/clip-image.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-intersect.traps.argb32.ref.png b/test/reference/clip-intersect.traps.argb32.ref.png
new file mode 100644
index 0000000..2e97b54
Binary files /dev/null and b/test/reference/clip-intersect.traps.argb32.ref.png differ
diff --git a/test/reference/clip-intersect.traps.rgb24.ref.png b/test/reference/clip-intersect.traps.rgb24.ref.png
new file mode 100644
index 0000000..2e97b54
Binary files /dev/null and b/test/reference/clip-intersect.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-mixed-antialias.traps.argb32.ref.png b/test/reference/clip-mixed-antialias.traps.argb32.ref.png
new file mode 100644
index 0000000..982530c
Binary files /dev/null and b/test/reference/clip-mixed-antialias.traps.argb32.ref.png differ
diff --git a/test/reference/clip-mixed-antialias.traps.rgb24.ref.png b/test/reference/clip-mixed-antialias.traps.rgb24.ref.png
new file mode 100644
index 0000000..982530c
Binary files /dev/null and b/test/reference/clip-mixed-antialias.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-nesting.traps.argb32.ref.png b/test/reference/clip-nesting.traps.argb32.ref.png
new file mode 100644
index 0000000..01168df
Binary files /dev/null and b/test/reference/clip-nesting.traps.argb32.ref.png differ
diff --git a/test/reference/clip-nesting.traps.rgb24.ref.png b/test/reference/clip-nesting.traps.rgb24.ref.png
new file mode 100644
index 0000000..d087ab6
Binary files /dev/null and b/test/reference/clip-nesting.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-operator.traps.argb32.ref.png b/test/reference/clip-operator.traps.argb32.ref.png
new file mode 100644
index 0000000..1a562cd
Binary files /dev/null and b/test/reference/clip-operator.traps.argb32.ref.png differ
diff --git a/test/reference/clip-push-group.traps.argb32.ref.png b/test/reference/clip-push-group.traps.argb32.ref.png
new file mode 100644
index 0000000..de6ac63
Binary files /dev/null and b/test/reference/clip-push-group.traps.argb32.ref.png differ
diff --git a/test/reference/clip-push-group.traps.rgb24.ref.png b/test/reference/clip-push-group.traps.rgb24.ref.png
new file mode 100644
index 0000000..de6ac63
Binary files /dev/null and b/test/reference/clip-push-group.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-rotate-image-surface-paint.traps.argb32.ref.png b/test/reference/clip-rotate-image-surface-paint.traps.argb32.ref.png
new file mode 100644
index 0000000..1093804
Binary files /dev/null and b/test/reference/clip-rotate-image-surface-paint.traps.argb32.ref.png differ
diff --git a/test/reference/clip-rotate-image-surface-paint.traps.rgb24.ref.png b/test/reference/clip-rotate-image-surface-paint.traps.rgb24.ref.png
new file mode 100644
index 0000000..1093804
Binary files /dev/null and b/test/reference/clip-rotate-image-surface-paint.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-shape.traps.argb32.ref.png b/test/reference/clip-shape.traps.argb32.ref.png
new file mode 100644
index 0000000..362f24f
Binary files /dev/null and b/test/reference/clip-shape.traps.argb32.ref.png differ
diff --git a/test/reference/clip-shape.traps.rgb24.ref.png b/test/reference/clip-shape.traps.rgb24.ref.png
new file mode 100644
index 0000000..362f24f
Binary files /dev/null and b/test/reference/clip-shape.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-stroke-no-op.traps.argb32.ref.png b/test/reference/clip-stroke-no-op.traps.argb32.ref.png
new file mode 100644
index 0000000..2256461
Binary files /dev/null and b/test/reference/clip-stroke-no-op.traps.argb32.ref.png differ
diff --git a/test/reference/clip-stroke-no-op.traps.rgb24.ref.png b/test/reference/clip-stroke-no-op.traps.rgb24.ref.png
new file mode 100644
index 0000000..2256461
Binary files /dev/null and b/test/reference/clip-stroke-no-op.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-stroke-unbounded.traps.argb32.ref.png b/test/reference/clip-stroke-unbounded.traps.argb32.ref.png
new file mode 100644
index 0000000..aea8cba
Binary files /dev/null and b/test/reference/clip-stroke-unbounded.traps.argb32.ref.png differ
diff --git a/test/reference/clip-stroke.traps.argb32.ref.png b/test/reference/clip-stroke.traps.argb32.ref.png
new file mode 100644
index 0000000..36b113a
Binary files /dev/null and b/test/reference/clip-stroke.traps.argb32.ref.png differ
diff --git a/test/reference/clip-stroke.traps.rgb24.ref.png b/test/reference/clip-stroke.traps.rgb24.ref.png
new file mode 100644
index 0000000..36b113a
Binary files /dev/null and b/test/reference/clip-stroke.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-text.traps.argb32.ref.png b/test/reference/clip-text.traps.argb32.ref.png
new file mode 100644
index 0000000..eed421f
Binary files /dev/null and b/test/reference/clip-text.traps.argb32.ref.png differ
diff --git a/test/reference/clip-text.traps.rgb24.ref.png b/test/reference/clip-text.traps.rgb24.ref.png
new file mode 100644
index 0000000..eed421f
Binary files /dev/null and b/test/reference/clip-text.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-twice-rectangle.traps.argb32.ref.png b/test/reference/clip-twice-rectangle.traps.argb32.ref.png
new file mode 100644
index 0000000..d0e65ea
Binary files /dev/null and b/test/reference/clip-twice-rectangle.traps.argb32.ref.png differ
diff --git a/test/reference/clip-twice-rectangle.traps.rgb24.ref.png b/test/reference/clip-twice-rectangle.traps.rgb24.ref.png
new file mode 100644
index 0000000..d0e65ea
Binary files /dev/null and b/test/reference/clip-twice-rectangle.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-twice.traps.argb32.ref.png b/test/reference/clip-twice.traps.argb32.ref.png
new file mode 100644
index 0000000..057fc31
Binary files /dev/null and b/test/reference/clip-twice.traps.argb32.ref.png differ
diff --git a/test/reference/clip-twice.traps.rgb24.ref.png b/test/reference/clip-twice.traps.rgb24.ref.png
new file mode 100644
index 0000000..6002d34
Binary files /dev/null and b/test/reference/clip-twice.traps.rgb24.ref.png differ
diff --git a/test/reference/clip-unbounded.traps.argb32.ref.png b/test/reference/clip-unbounded.traps.argb32.ref.png
new file mode 100644
index 0000000..0b65905
Binary files /dev/null and b/test/reference/clip-unbounded.traps.argb32.ref.png differ
diff --git a/test/reference/clip-unbounded.traps.rgb24.ref.png b/test/reference/clip-unbounded.traps.rgb24.ref.png
new file mode 100644
index 0000000..2baf9f4
Binary files /dev/null and b/test/reference/clip-unbounded.traps.rgb24.ref.png differ
diff --git a/test/reference/clipped-group.traps.argb32.ref.png b/test/reference/clipped-group.traps.argb32.ref.png
new file mode 100644
index 0000000..b25c9f4
Binary files /dev/null and b/test/reference/clipped-group.traps.argb32.ref.png differ
diff --git a/test/reference/clipped-group.traps.rgb24.ref.png b/test/reference/clipped-group.traps.rgb24.ref.png
new file mode 100644
index 0000000..b25c9f4
Binary files /dev/null and b/test/reference/clipped-group.traps.rgb24.ref.png differ
diff --git a/test/reference/clipped-surface.traps.argb32.ref.png b/test/reference/clipped-surface.traps.argb32.ref.png
new file mode 100644
index 0000000..8e8b008
Binary files /dev/null and b/test/reference/clipped-surface.traps.argb32.ref.png differ
diff --git a/test/reference/clipped-surface.traps.rgb24.ref.png b/test/reference/clipped-surface.traps.rgb24.ref.png
new file mode 100644
index 0000000..8e8b008
Binary files /dev/null and b/test/reference/clipped-surface.traps.rgb24.ref.png differ
diff --git a/test/reference/close-path-current-point.traps.argb32.ref.png b/test/reference/close-path-current-point.traps.argb32.ref.png
new file mode 100644
index 0000000..f07aeba
Binary files /dev/null and b/test/reference/close-path-current-point.traps.argb32.ref.png differ
diff --git a/test/reference/close-path-current-point.traps.rgb24.ref.png b/test/reference/close-path-current-point.traps.rgb24.ref.png
new file mode 100644
index 0000000..f07aeba
Binary files /dev/null and b/test/reference/close-path-current-point.traps.rgb24.ref.png differ
diff --git a/test/reference/close-path.traps.argb32.ref.png b/test/reference/close-path.traps.argb32.ref.png
new file mode 100644
index 0000000..b53fab2
Binary files /dev/null and b/test/reference/close-path.traps.argb32.ref.png differ
diff --git a/test/reference/close-path.traps.rgb24.ref.png b/test/reference/close-path.traps.rgb24.ref.png
new file mode 100644
index 0000000..b53fab2
Binary files /dev/null and b/test/reference/close-path.traps.rgb24.ref.png differ
diff --git a/test/reference/composite-integer-translate-over-repeat.traps.argb32.ref.png b/test/reference/composite-integer-translate-over-repeat.traps.argb32.ref.png
new file mode 100644
index 0000000..c425749
Binary files /dev/null and b/test/reference/composite-integer-translate-over-repeat.traps.argb32.ref.png differ
diff --git a/test/reference/composite-integer-translate-over-repeat.traps.rgb24.ref.png b/test/reference/composite-integer-translate-over-repeat.traps.rgb24.ref.png
new file mode 100644
index 0000000..c425749
Binary files /dev/null and b/test/reference/composite-integer-translate-over-repeat.traps.rgb24.ref.png differ
diff --git a/test/reference/composite-integer-translate-over.traps.argb32.ref.png b/test/reference/composite-integer-translate-over.traps.argb32.ref.png
new file mode 100644
index 0000000..7ac3ddf
Binary files /dev/null and b/test/reference/composite-integer-translate-over.traps.argb32.ref.png differ
diff --git a/test/reference/composite-integer-translate-over.traps.rgb24.ref.png b/test/reference/composite-integer-translate-over.traps.rgb24.ref.png
new file mode 100644
index 0000000..7ac3ddf
Binary files /dev/null and b/test/reference/composite-integer-translate-over.traps.rgb24.ref.png differ
diff --git a/test/reference/composite-integer-translate-source.traps.argb32.ref.png b/test/reference/composite-integer-translate-source.traps.argb32.ref.png
new file mode 100644
index 0000000..7ac3ddf
Binary files /dev/null and b/test/reference/composite-integer-translate-source.traps.argb32.ref.png differ
diff --git a/test/reference/composite-integer-translate-source.traps.rgb24.ref.png b/test/reference/composite-integer-translate-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..7ac3ddf
Binary files /dev/null and b/test/reference/composite-integer-translate-source.traps.rgb24.ref.png differ
diff --git a/test/reference/copy-path.traps.argb32.ref.png b/test/reference/copy-path.traps.argb32.ref.png
new file mode 100644
index 0000000..6ca6f48
Binary files /dev/null and b/test/reference/copy-path.traps.argb32.ref.png differ
diff --git a/test/reference/copy-path.traps.rgb24.ref.png b/test/reference/copy-path.traps.rgb24.ref.png
new file mode 100644
index 0000000..6ca6f48
Binary files /dev/null and b/test/reference/copy-path.traps.rgb24.ref.png differ
diff --git a/test/reference/create-from-png-stream.traps.argb32.ref.png b/test/reference/create-from-png-stream.traps.argb32.ref.png
new file mode 100644
index 0000000..0a145d9
Binary files /dev/null and b/test/reference/create-from-png-stream.traps.argb32.ref.png differ
diff --git a/test/reference/create-from-png-stream.traps.rgb24.ref.png b/test/reference/create-from-png-stream.traps.rgb24.ref.png
new file mode 100644
index 0000000..0a145d9
Binary files /dev/null and b/test/reference/create-from-png-stream.traps.rgb24.ref.png differ
diff --git a/test/reference/culled-glyphs.traps.argb32.ref.png b/test/reference/culled-glyphs.traps.argb32.ref.png
new file mode 100644
index 0000000..08aad33
Binary files /dev/null and b/test/reference/culled-glyphs.traps.argb32.ref.png differ
diff --git a/test/reference/culled-glyphs.traps.rgb24.ref.png b/test/reference/culled-glyphs.traps.rgb24.ref.png
new file mode 100644
index 0000000..08aad33
Binary files /dev/null and b/test/reference/culled-glyphs.traps.rgb24.ref.png differ
diff --git a/test/reference/curve-to-as-line-to.traps.argb32.ref.png b/test/reference/curve-to-as-line-to.traps.argb32.ref.png
new file mode 100644
index 0000000..d3cf32e
Binary files /dev/null and b/test/reference/curve-to-as-line-to.traps.argb32.ref.png differ
diff --git a/test/reference/curve-to-as-line-to.traps.rgb24.ref.png b/test/reference/curve-to-as-line-to.traps.rgb24.ref.png
new file mode 100644
index 0000000..d3cf32e
Binary files /dev/null and b/test/reference/curve-to-as-line-to.traps.rgb24.ref.png differ
diff --git a/test/reference/dash-caps-joins.traps.argb32.ref.png b/test/reference/dash-caps-joins.traps.argb32.ref.png
new file mode 100644
index 0000000..94f72e3
Binary files /dev/null and b/test/reference/dash-caps-joins.traps.argb32.ref.png differ
diff --git a/test/reference/dash-caps-joins.traps.rgb24.ref.png b/test/reference/dash-caps-joins.traps.rgb24.ref.png
new file mode 100644
index 0000000..94f72e3
Binary files /dev/null and b/test/reference/dash-caps-joins.traps.rgb24.ref.png differ
diff --git a/test/reference/dash-curve.traps.argb32.ref.png b/test/reference/dash-curve.traps.argb32.ref.png
new file mode 100644
index 0000000..53976b7
Binary files /dev/null and b/test/reference/dash-curve.traps.argb32.ref.png differ
diff --git a/test/reference/dash-curve.traps.rgb24.ref.png b/test/reference/dash-curve.traps.rgb24.ref.png
new file mode 100644
index 0000000..53976b7
Binary files /dev/null and b/test/reference/dash-curve.traps.rgb24.ref.png differ
diff --git a/test/reference/dash-infinite-loop.traps.argb32.ref.png b/test/reference/dash-infinite-loop.traps.argb32.ref.png
new file mode 100644
index 0000000..a12aa94
Binary files /dev/null and b/test/reference/dash-infinite-loop.traps.argb32.ref.png differ
diff --git a/test/reference/dash-infinite-loop.traps.rgb24.ref.png b/test/reference/dash-infinite-loop.traps.rgb24.ref.png
new file mode 100644
index 0000000..a12aa94
Binary files /dev/null and b/test/reference/dash-infinite-loop.traps.rgb24.ref.png differ
diff --git a/test/reference/dash-no-dash.traps.argb32.ref.png b/test/reference/dash-no-dash.traps.argb32.ref.png
new file mode 100644
index 0000000..c150a4f
Binary files /dev/null and b/test/reference/dash-no-dash.traps.argb32.ref.png differ
diff --git a/test/reference/dash-no-dash.traps.rgb24.ref.png b/test/reference/dash-no-dash.traps.rgb24.ref.png
new file mode 100644
index 0000000..c150a4f
Binary files /dev/null and b/test/reference/dash-no-dash.traps.rgb24.ref.png differ
diff --git a/test/reference/dash-offset-negative.traps.argb32.ref.png b/test/reference/dash-offset-negative.traps.argb32.ref.png
new file mode 100644
index 0000000..77b9291
Binary files /dev/null and b/test/reference/dash-offset-negative.traps.argb32.ref.png differ
diff --git a/test/reference/dash-offset-negative.traps.rgb24.ref.png b/test/reference/dash-offset-negative.traps.rgb24.ref.png
new file mode 100644
index 0000000..77b9291
Binary files /dev/null and b/test/reference/dash-offset-negative.traps.rgb24.ref.png differ
diff --git a/test/reference/dash-offset.traps.argb32.ref.png b/test/reference/dash-offset.traps.argb32.ref.png
new file mode 100644
index 0000000..52600c4
Binary files /dev/null and b/test/reference/dash-offset.traps.argb32.ref.png differ
diff --git a/test/reference/dash-offset.traps.rgb24.ref.png b/test/reference/dash-offset.traps.rgb24.ref.png
new file mode 100644
index 0000000..52600c4
Binary files /dev/null and b/test/reference/dash-offset.traps.rgb24.ref.png differ
diff --git a/test/reference/dash-scale.traps.argb32.ref.png b/test/reference/dash-scale.traps.argb32.ref.png
new file mode 100644
index 0000000..46fe785
Binary files /dev/null and b/test/reference/dash-scale.traps.argb32.ref.png differ
diff --git a/test/reference/dash-scale.traps.rgb24.ref.png b/test/reference/dash-scale.traps.rgb24.ref.png
new file mode 100644
index 0000000..46fe785
Binary files /dev/null and b/test/reference/dash-scale.traps.rgb24.ref.png differ
diff --git a/test/reference/dash-state.traps.argb32.ref.png b/test/reference/dash-state.traps.argb32.ref.png
new file mode 100644
index 0000000..04c2eb0
Binary files /dev/null and b/test/reference/dash-state.traps.argb32.ref.png differ
diff --git a/test/reference/dash-state.traps.rgb24.ref.png b/test/reference/dash-state.traps.rgb24.ref.png
new file mode 100644
index 0000000..04c2eb0
Binary files /dev/null and b/test/reference/dash-state.traps.rgb24.ref.png differ
diff --git a/test/reference/dash-zero-length.traps.argb32.ref.png b/test/reference/dash-zero-length.traps.argb32.ref.png
new file mode 100644
index 0000000..3ed0c85
Binary files /dev/null and b/test/reference/dash-zero-length.traps.argb32.ref.png differ
diff --git a/test/reference/dash-zero-length.traps.rgb24.ref.png b/test/reference/dash-zero-length.traps.rgb24.ref.png
new file mode 100644
index 0000000..0aae369
Binary files /dev/null and b/test/reference/dash-zero-length.traps.rgb24.ref.png differ
diff --git a/test/reference/degenerate-arc.traps.argb32.ref.png b/test/reference/degenerate-arc.traps.argb32.ref.png
new file mode 100644
index 0000000..73d41af
Binary files /dev/null and b/test/reference/degenerate-arc.traps.argb32.ref.png differ
diff --git a/test/reference/degenerate-arc.traps.rgb24.ref.png b/test/reference/degenerate-arc.traps.rgb24.ref.png
new file mode 100644
index 0000000..73d41af
Binary files /dev/null and b/test/reference/degenerate-arc.traps.rgb24.ref.png differ
diff --git a/test/reference/degenerate-arcs.traps.argb32.ref.png b/test/reference/degenerate-arcs.traps.argb32.ref.png
new file mode 100644
index 0000000..fc1869d
Binary files /dev/null and b/test/reference/degenerate-arcs.traps.argb32.ref.png differ
diff --git a/test/reference/degenerate-arcs.traps.rgb24.ref.png b/test/reference/degenerate-arcs.traps.rgb24.ref.png
new file mode 100644
index 0000000..fc1869d
Binary files /dev/null and b/test/reference/degenerate-arcs.traps.rgb24.ref.png differ
diff --git a/test/reference/degenerate-curve-to.traps.argb32.ref.png b/test/reference/degenerate-curve-to.traps.argb32.ref.png
new file mode 100644
index 0000000..fc26b00
Binary files /dev/null and b/test/reference/degenerate-curve-to.traps.argb32.ref.png differ
diff --git a/test/reference/degenerate-curve-to.traps.rgb24.ref.png b/test/reference/degenerate-curve-to.traps.rgb24.ref.png
new file mode 100644
index 0000000..fc26b00
Binary files /dev/null and b/test/reference/degenerate-curve-to.traps.rgb24.ref.png differ
diff --git a/test/reference/degenerate-dash.traps.argb32.ref.png b/test/reference/degenerate-dash.traps.argb32.ref.png
new file mode 100644
index 0000000..4f9a5a0
Binary files /dev/null and b/test/reference/degenerate-dash.traps.argb32.ref.png differ
diff --git a/test/reference/degenerate-dash.traps.rgb24.ref.png b/test/reference/degenerate-dash.traps.rgb24.ref.png
new file mode 100644
index 0000000..4f9a5a0
Binary files /dev/null and b/test/reference/degenerate-dash.traps.rgb24.ref.png differ
diff --git a/test/reference/degenerate-linear-gradient.traps.argb32.ref.png b/test/reference/degenerate-linear-gradient.traps.argb32.ref.png
new file mode 100644
index 0000000..ceed48a
Binary files /dev/null and b/test/reference/degenerate-linear-gradient.traps.argb32.ref.png differ
diff --git a/test/reference/degenerate-linear-gradient.traps.rgb24.ref.png b/test/reference/degenerate-linear-gradient.traps.rgb24.ref.png
new file mode 100644
index 0000000..ceed48a
Binary files /dev/null and b/test/reference/degenerate-linear-gradient.traps.rgb24.ref.png differ
diff --git a/test/reference/degenerate-path.traps.argb32.ref.png b/test/reference/degenerate-path.traps.argb32.ref.png
new file mode 100644
index 0000000..42363ea
Binary files /dev/null and b/test/reference/degenerate-path.traps.argb32.ref.png differ
diff --git a/test/reference/degenerate-path.traps.rgb24.ref.png b/test/reference/degenerate-path.traps.rgb24.ref.png
new file mode 100644
index 0000000..45497d7
Binary files /dev/null and b/test/reference/degenerate-path.traps.rgb24.ref.png differ
diff --git a/test/reference/degenerate-pen.traps.argb32.ref.png b/test/reference/degenerate-pen.traps.argb32.ref.png
new file mode 100644
index 0000000..103b858
Binary files /dev/null and b/test/reference/degenerate-pen.traps.argb32.ref.png differ
diff --git a/test/reference/degenerate-pen.traps.rgb24.ref.png b/test/reference/degenerate-pen.traps.rgb24.ref.png
new file mode 100644
index 0000000..103b858
Binary files /dev/null and b/test/reference/degenerate-pen.traps.rgb24.ref.png differ
diff --git a/test/reference/degenerate-radial-gradient.traps.argb32.ref.png b/test/reference/degenerate-radial-gradient.traps.argb32.ref.png
new file mode 100644
index 0000000..9a5213b
Binary files /dev/null and b/test/reference/degenerate-radial-gradient.traps.argb32.ref.png differ
diff --git a/test/reference/degenerate-radial-gradient.traps.rgb24.ref.png b/test/reference/degenerate-radial-gradient.traps.rgb24.ref.png
new file mode 100644
index 0000000..9a5213b
Binary files /dev/null and b/test/reference/degenerate-radial-gradient.traps.rgb24.ref.png differ
diff --git a/test/reference/degenerate-rel-curve-to.traps.argb32.ref.png b/test/reference/degenerate-rel-curve-to.traps.argb32.ref.png
new file mode 100644
index 0000000..73ad25c
Binary files /dev/null and b/test/reference/degenerate-rel-curve-to.traps.argb32.ref.png differ
diff --git a/test/reference/degenerate-rel-curve-to.traps.rgb24.ref.png b/test/reference/degenerate-rel-curve-to.traps.rgb24.ref.png
new file mode 100644
index 0000000..73ad25c
Binary files /dev/null and b/test/reference/degenerate-rel-curve-to.traps.rgb24.ref.png differ
diff --git a/test/reference/device-offset-fractional.traps.argb32.ref.png b/test/reference/device-offset-fractional.traps.argb32.ref.png
new file mode 100644
index 0000000..b1eef5f
Binary files /dev/null and b/test/reference/device-offset-fractional.traps.argb32.ref.png differ
diff --git a/test/reference/device-offset-fractional.traps.rgb24.ref.png b/test/reference/device-offset-fractional.traps.rgb24.ref.png
new file mode 100644
index 0000000..b1eef5f
Binary files /dev/null and b/test/reference/device-offset-fractional.traps.rgb24.ref.png differ
diff --git a/test/reference/device-offset-positive.traps.argb32.ref.png b/test/reference/device-offset-positive.traps.argb32.ref.png
new file mode 100644
index 0000000..1115bca
Binary files /dev/null and b/test/reference/device-offset-positive.traps.argb32.ref.png differ
diff --git a/test/reference/device-offset-positive.traps.rgb24.ref.png b/test/reference/device-offset-positive.traps.rgb24.ref.png
new file mode 100644
index 0000000..dcdd332
Binary files /dev/null and b/test/reference/device-offset-positive.traps.rgb24.ref.png differ
diff --git a/test/reference/device-offset-scale.traps.argb32.ref.png b/test/reference/device-offset-scale.traps.argb32.ref.png
new file mode 100644
index 0000000..fdffbf3
Binary files /dev/null and b/test/reference/device-offset-scale.traps.argb32.ref.png differ
diff --git a/test/reference/device-offset-scale.traps.rgb24.ref.png b/test/reference/device-offset-scale.traps.rgb24.ref.png
new file mode 100644
index 0000000..fdffbf3
Binary files /dev/null and b/test/reference/device-offset-scale.traps.rgb24.ref.png differ
diff --git a/test/reference/device-offset.traps.argb32.ref.png b/test/reference/device-offset.traps.argb32.ref.png
new file mode 100644
index 0000000..43ced46
Binary files /dev/null and b/test/reference/device-offset.traps.argb32.ref.png differ
diff --git a/test/reference/device-offset.traps.rgb24.ref.png b/test/reference/device-offset.traps.rgb24.ref.png
new file mode 100644
index 0000000..f19acba
Binary files /dev/null and b/test/reference/device-offset.traps.rgb24.ref.png differ
diff --git a/test/reference/drunkard-tails.traps.argb32.ref.png b/test/reference/drunkard-tails.traps.argb32.ref.png
new file mode 100644
index 0000000..71cb9af
Binary files /dev/null and b/test/reference/drunkard-tails.traps.argb32.ref.png differ
diff --git a/test/reference/drunkard-tails.traps.rgb24.ref.png b/test/reference/drunkard-tails.traps.rgb24.ref.png
new file mode 100644
index 0000000..71cb9af
Binary files /dev/null and b/test/reference/drunkard-tails.traps.rgb24.ref.png differ
diff --git a/test/reference/extend-pad-border.traps.argb32.ref.png b/test/reference/extend-pad-border.traps.argb32.ref.png
new file mode 100644
index 0000000..f4fc524
Binary files /dev/null and b/test/reference/extend-pad-border.traps.argb32.ref.png differ
diff --git a/test/reference/extend-pad-border.traps.rgb24.ref.png b/test/reference/extend-pad-border.traps.rgb24.ref.png
new file mode 100644
index 0000000..f4fc524
Binary files /dev/null and b/test/reference/extend-pad-border.traps.rgb24.ref.png differ
diff --git a/test/reference/extend-pad-similar.traps.argb32.ref.png b/test/reference/extend-pad-similar.traps.argb32.ref.png
new file mode 100644
index 0000000..9345221
Binary files /dev/null and b/test/reference/extend-pad-similar.traps.argb32.ref.png differ
diff --git a/test/reference/extend-pad-similar.traps.rgb24.ref.png b/test/reference/extend-pad-similar.traps.rgb24.ref.png
new file mode 100644
index 0000000..9345221
Binary files /dev/null and b/test/reference/extend-pad-similar.traps.rgb24.ref.png differ
diff --git a/test/reference/extend-pad.traps.argb32.ref.png b/test/reference/extend-pad.traps.argb32.ref.png
new file mode 100644
index 0000000..9345221
Binary files /dev/null and b/test/reference/extend-pad.traps.argb32.ref.png differ
diff --git a/test/reference/extend-pad.traps.rgb24.ref.png b/test/reference/extend-pad.traps.rgb24.ref.png
new file mode 100644
index 0000000..9345221
Binary files /dev/null and b/test/reference/extend-pad.traps.rgb24.ref.png differ
diff --git a/test/reference/extend-reflect-similar.traps.argb32.ref.png b/test/reference/extend-reflect-similar.traps.argb32.ref.png
new file mode 100644
index 0000000..5fc3448
Binary files /dev/null and b/test/reference/extend-reflect-similar.traps.argb32.ref.png differ
diff --git a/test/reference/extend-reflect-similar.traps.rgb24.ref.png b/test/reference/extend-reflect-similar.traps.rgb24.ref.png
new file mode 100644
index 0000000..5fc3448
Binary files /dev/null and b/test/reference/extend-reflect-similar.traps.rgb24.ref.png differ
diff --git a/test/reference/extend-reflect.traps.argb32.ref.png b/test/reference/extend-reflect.traps.argb32.ref.png
new file mode 100644
index 0000000..5fc3448
Binary files /dev/null and b/test/reference/extend-reflect.traps.argb32.ref.png differ
diff --git a/test/reference/extend-reflect.traps.rgb24.ref.png b/test/reference/extend-reflect.traps.rgb24.ref.png
new file mode 100644
index 0000000..5fc3448
Binary files /dev/null and b/test/reference/extend-reflect.traps.rgb24.ref.png differ
diff --git a/test/reference/extend-repeat-similar.traps.argb32.ref.png b/test/reference/extend-repeat-similar.traps.argb32.ref.png
new file mode 100644
index 0000000..81f0503
Binary files /dev/null and b/test/reference/extend-repeat-similar.traps.argb32.ref.png differ
diff --git a/test/reference/extend-repeat-similar.traps.rgb24.ref.png b/test/reference/extend-repeat-similar.traps.rgb24.ref.png
new file mode 100644
index 0000000..81f0503
Binary files /dev/null and b/test/reference/extend-repeat-similar.traps.rgb24.ref.png differ
diff --git a/test/reference/extend-repeat.traps.argb32.ref.png b/test/reference/extend-repeat.traps.argb32.ref.png
new file mode 100644
index 0000000..81f0503
Binary files /dev/null and b/test/reference/extend-repeat.traps.argb32.ref.png differ
diff --git a/test/reference/extend-repeat.traps.rgb24.ref.png b/test/reference/extend-repeat.traps.rgb24.ref.png
new file mode 100644
index 0000000..81f0503
Binary files /dev/null and b/test/reference/extend-repeat.traps.rgb24.ref.png differ
diff --git a/test/reference/extended-blend-alpha-mask.traps.argb32.ref.png b/test/reference/extended-blend-alpha-mask.traps.argb32.ref.png
new file mode 100644
index 0000000..a1dd2a9
Binary files /dev/null and b/test/reference/extended-blend-alpha-mask.traps.argb32.ref.png differ
diff --git a/test/reference/extended-blend-alpha-mask.traps.rgb24.ref.png b/test/reference/extended-blend-alpha-mask.traps.rgb24.ref.png
new file mode 100644
index 0000000..b5f12f1
Binary files /dev/null and b/test/reference/extended-blend-alpha-mask.traps.rgb24.ref.png differ
diff --git a/test/reference/extended-blend-alpha.traps.argb32.ref.png b/test/reference/extended-blend-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..4d56a21
Binary files /dev/null and b/test/reference/extended-blend-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/extended-blend-alpha.traps.rgb24.ref.png b/test/reference/extended-blend-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..86d0e2d
Binary files /dev/null and b/test/reference/extended-blend-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/extended-blend-mask.traps.argb32.ref.png b/test/reference/extended-blend-mask.traps.argb32.ref.png
new file mode 100644
index 0000000..5fa78e4
Binary files /dev/null and b/test/reference/extended-blend-mask.traps.argb32.ref.png differ
diff --git a/test/reference/extended-blend-mask.traps.rgb24.ref.png b/test/reference/extended-blend-mask.traps.rgb24.ref.png
new file mode 100644
index 0000000..1c85474
Binary files /dev/null and b/test/reference/extended-blend-mask.traps.rgb24.ref.png differ
diff --git a/test/reference/extended-blend-solid-alpha.traps.argb32.ref.png b/test/reference/extended-blend-solid-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..4d56a21
Binary files /dev/null and b/test/reference/extended-blend-solid-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/extended-blend-solid-alpha.traps.rgb24.ref.png b/test/reference/extended-blend-solid-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..86d0e2d
Binary files /dev/null and b/test/reference/extended-blend-solid-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/extended-blend-solid.traps.argb32.ref.png b/test/reference/extended-blend-solid.traps.argb32.ref.png
new file mode 100644
index 0000000..902ef88
Binary files /dev/null and b/test/reference/extended-blend-solid.traps.argb32.ref.png differ
diff --git a/test/reference/extended-blend-solid.traps.rgb24.ref.png b/test/reference/extended-blend-solid.traps.rgb24.ref.png
new file mode 100644
index 0000000..4580e0d
Binary files /dev/null and b/test/reference/extended-blend-solid.traps.rgb24.ref.png differ
diff --git a/test/reference/extended-blend.traps.argb32.ref.png b/test/reference/extended-blend.traps.argb32.ref.png
new file mode 100644
index 0000000..902ef88
Binary files /dev/null and b/test/reference/extended-blend.traps.argb32.ref.png differ
diff --git a/test/reference/extended-blend.traps.rgb24.ref.png b/test/reference/extended-blend.traps.rgb24.ref.png
new file mode 100644
index 0000000..4580e0d
Binary files /dev/null and b/test/reference/extended-blend.traps.rgb24.ref.png differ
diff --git a/test/reference/fill-alpha-pattern.traps.argb32.ref.png b/test/reference/fill-alpha-pattern.traps.argb32.ref.png
new file mode 100644
index 0000000..4dafb83
Binary files /dev/null and b/test/reference/fill-alpha-pattern.traps.argb32.ref.png differ
diff --git a/test/reference/fill-alpha-pattern.traps.rgb24.ref.png b/test/reference/fill-alpha-pattern.traps.rgb24.ref.png
new file mode 100644
index 0000000..4dafb83
Binary files /dev/null and b/test/reference/fill-alpha-pattern.traps.rgb24.ref.png differ
diff --git a/test/reference/fill-alpha.traps.argb32.ref.png b/test/reference/fill-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..85df919
Binary files /dev/null and b/test/reference/fill-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/fill-alpha.traps.rgb24.ref.png b/test/reference/fill-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..85df919
Binary files /dev/null and b/test/reference/fill-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/fill-and-stroke-alpha-add.traps.argb32.ref.png b/test/reference/fill-and-stroke-alpha-add.traps.argb32.ref.png
new file mode 100644
index 0000000..71d2b22
Binary files /dev/null and b/test/reference/fill-and-stroke-alpha-add.traps.argb32.ref.png differ
diff --git a/test/reference/fill-and-stroke-alpha-add.traps.rgb24.ref.png b/test/reference/fill-and-stroke-alpha-add.traps.rgb24.ref.png
new file mode 100644
index 0000000..71d2b22
Binary files /dev/null and b/test/reference/fill-and-stroke-alpha-add.traps.rgb24.ref.png differ
diff --git a/test/reference/fill-and-stroke-alpha.traps.argb32.ref.png b/test/reference/fill-and-stroke-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..c85b933
Binary files /dev/null and b/test/reference/fill-and-stroke-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/fill-and-stroke-alpha.traps.rgb24.ref.png b/test/reference/fill-and-stroke-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..c85b933
Binary files /dev/null and b/test/reference/fill-and-stroke-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/fill-and-stroke.traps.argb32.ref.png b/test/reference/fill-and-stroke.traps.argb32.ref.png
new file mode 100644
index 0000000..3f32060
Binary files /dev/null and b/test/reference/fill-and-stroke.traps.argb32.ref.png differ
diff --git a/test/reference/fill-and-stroke.traps.rgb24.ref.png b/test/reference/fill-and-stroke.traps.rgb24.ref.png
new file mode 100644
index 0000000..2797921
Binary files /dev/null and b/test/reference/fill-and-stroke.traps.rgb24.ref.png differ
diff --git a/test/reference/fill-degenerate-sort-order.traps.argb32.ref.png b/test/reference/fill-degenerate-sort-order.traps.argb32.ref.png
new file mode 100644
index 0000000..860ee1b
Binary files /dev/null and b/test/reference/fill-degenerate-sort-order.traps.argb32.ref.png differ
diff --git a/test/reference/fill-degenerate-sort-order.traps.rgb24.ref.png b/test/reference/fill-degenerate-sort-order.traps.rgb24.ref.png
new file mode 100644
index 0000000..18b08fc
Binary files /dev/null and b/test/reference/fill-degenerate-sort-order.traps.rgb24.ref.png differ
diff --git a/test/reference/fill-empty.traps.argb32.ref.png b/test/reference/fill-empty.traps.argb32.ref.png
new file mode 100644
index 0000000..8c26f7e
Binary files /dev/null and b/test/reference/fill-empty.traps.argb32.ref.png differ
diff --git a/test/reference/fill-empty.traps.rgb24.ref.png b/test/reference/fill-empty.traps.rgb24.ref.png
new file mode 100644
index 0000000..dc7a8a0
Binary files /dev/null and b/test/reference/fill-empty.traps.rgb24.ref.png differ
diff --git a/test/reference/fill-image.traps.argb32.ref.png b/test/reference/fill-image.traps.argb32.ref.png
new file mode 100644
index 0000000..b94ed91
Binary files /dev/null and b/test/reference/fill-image.traps.argb32.ref.png differ
diff --git a/test/reference/fill-image.traps.rgb24.ref.png b/test/reference/fill-image.traps.rgb24.ref.png
new file mode 100644
index 0000000..b94ed91
Binary files /dev/null and b/test/reference/fill-image.traps.rgb24.ref.png differ
diff --git a/test/reference/fill-missed-stop.traps.argb32.ref.png b/test/reference/fill-missed-stop.traps.argb32.ref.png
new file mode 100644
index 0000000..223fb36
Binary files /dev/null and b/test/reference/fill-missed-stop.traps.argb32.ref.png differ
diff --git a/test/reference/fill-missed-stop.traps.rgb24.ref.png b/test/reference/fill-missed-stop.traps.rgb24.ref.png
new file mode 100644
index 0000000..f56b4b2
Binary files /dev/null and b/test/reference/fill-missed-stop.traps.rgb24.ref.png differ
diff --git a/test/reference/fill-rule.traps.argb32.ref.png b/test/reference/fill-rule.traps.argb32.ref.png
new file mode 100644
index 0000000..e2e10d4
Binary files /dev/null and b/test/reference/fill-rule.traps.argb32.ref.png differ
diff --git a/test/reference/fill-rule.traps.rgb24.ref.png b/test/reference/fill-rule.traps.rgb24.ref.png
new file mode 100644
index 0000000..49fb39c
Binary files /dev/null and b/test/reference/fill-rule.traps.rgb24.ref.png differ
diff --git a/test/reference/filter-bilinear-extents.traps.argb32.ref.png b/test/reference/filter-bilinear-extents.traps.argb32.ref.png
new file mode 100644
index 0000000..797e798
Binary files /dev/null and b/test/reference/filter-bilinear-extents.traps.argb32.ref.png differ
diff --git a/test/reference/filter-bilinear-extents.traps.rgb24.ref.png b/test/reference/filter-bilinear-extents.traps.rgb24.ref.png
new file mode 100644
index 0000000..797e798
Binary files /dev/null and b/test/reference/filter-bilinear-extents.traps.rgb24.ref.png differ
diff --git a/test/reference/filter-nearest-offset.traps.argb32.ref.png b/test/reference/filter-nearest-offset.traps.argb32.ref.png
new file mode 100644
index 0000000..8cca9a1
Binary files /dev/null and b/test/reference/filter-nearest-offset.traps.argb32.ref.png differ
diff --git a/test/reference/filter-nearest-offset.traps.rgb24.ref.png b/test/reference/filter-nearest-offset.traps.rgb24.ref.png
new file mode 100644
index 0000000..8cca9a1
Binary files /dev/null and b/test/reference/filter-nearest-offset.traps.rgb24.ref.png differ
diff --git a/test/reference/filter-nearest-transformed.traps.argb32.ref.png b/test/reference/filter-nearest-transformed.traps.argb32.ref.png
new file mode 100644
index 0000000..24adf8b
Binary files /dev/null and b/test/reference/filter-nearest-transformed.traps.argb32.ref.png differ
diff --git a/test/reference/filter-nearest-transformed.traps.rgb24.ref.png b/test/reference/filter-nearest-transformed.traps.rgb24.ref.png
new file mode 100644
index 0000000..24adf8b
Binary files /dev/null and b/test/reference/filter-nearest-transformed.traps.rgb24.ref.png differ
diff --git a/test/reference/finer-grained-fallbacks.traps.argb32.ref.png b/test/reference/finer-grained-fallbacks.traps.argb32.ref.png
new file mode 100644
index 0000000..accb01b
Binary files /dev/null and b/test/reference/finer-grained-fallbacks.traps.argb32.ref.png differ
diff --git a/test/reference/finer-grained-fallbacks.traps.rgb24.ref.png b/test/reference/finer-grained-fallbacks.traps.rgb24.ref.png
new file mode 100644
index 0000000..0e6094c
Binary files /dev/null and b/test/reference/finer-grained-fallbacks.traps.rgb24.ref.png differ
diff --git a/test/reference/font-matrix-translation.traps.argb32.ref.png b/test/reference/font-matrix-translation.traps.argb32.ref.png
new file mode 100644
index 0000000..dd5faba
Binary files /dev/null and b/test/reference/font-matrix-translation.traps.argb32.ref.png differ
diff --git a/test/reference/font-matrix-translation.traps.rgb24.ref.png b/test/reference/font-matrix-translation.traps.rgb24.ref.png
new file mode 100644
index 0000000..dd5faba
Binary files /dev/null and b/test/reference/font-matrix-translation.traps.rgb24.ref.png differ
diff --git a/test/reference/ft-show-glyphs-positioning.traps.argb32.ref.png b/test/reference/ft-show-glyphs-positioning.traps.argb32.ref.png
new file mode 100644
index 0000000..b49ed47
Binary files /dev/null and b/test/reference/ft-show-glyphs-positioning.traps.argb32.ref.png differ
diff --git a/test/reference/ft-show-glyphs-positioning.traps.rgb24.ref.png b/test/reference/ft-show-glyphs-positioning.traps.rgb24.ref.png
new file mode 100644
index 0000000..b49ed47
Binary files /dev/null and b/test/reference/ft-show-glyphs-positioning.traps.rgb24.ref.png differ
diff --git a/test/reference/ft-show-glyphs-table.traps.argb32.ref.png b/test/reference/ft-show-glyphs-table.traps.argb32.ref.png
new file mode 100644
index 0000000..c762dc7
Binary files /dev/null and b/test/reference/ft-show-glyphs-table.traps.argb32.ref.png differ
diff --git a/test/reference/ft-show-glyphs-table.traps.rgb24.ref.png b/test/reference/ft-show-glyphs-table.traps.rgb24.ref.png
new file mode 100644
index 0000000..c762dc7
Binary files /dev/null and b/test/reference/ft-show-glyphs-table.traps.rgb24.ref.png differ
diff --git a/test/reference/ft-text-antialias-none.traps.argb32.ref.png b/test/reference/ft-text-antialias-none.traps.argb32.ref.png
new file mode 100644
index 0000000..c638c9e
Binary files /dev/null and b/test/reference/ft-text-antialias-none.traps.argb32.ref.png differ
diff --git a/test/reference/ft-text-antialias-none.traps.rgb24.ref.png b/test/reference/ft-text-antialias-none.traps.rgb24.ref.png
new file mode 100644
index 0000000..c638c9e
Binary files /dev/null and b/test/reference/ft-text-antialias-none.traps.rgb24.ref.png differ
diff --git a/test/reference/ft-text-vertical-layout-type1.traps.argb32.ref.png b/test/reference/ft-text-vertical-layout-type1.traps.argb32.ref.png
new file mode 100644
index 0000000..09c4cbb
Binary files /dev/null and b/test/reference/ft-text-vertical-layout-type1.traps.argb32.ref.png differ
diff --git a/test/reference/ft-text-vertical-layout-type1.traps.rgb24.ref.png b/test/reference/ft-text-vertical-layout-type1.traps.rgb24.ref.png
new file mode 100644
index 0000000..09c4cbb
Binary files /dev/null and b/test/reference/ft-text-vertical-layout-type1.traps.rgb24.ref.png differ
diff --git a/test/reference/ft-text-vertical-layout-type3.traps.argb32.ref.png b/test/reference/ft-text-vertical-layout-type3.traps.argb32.ref.png
new file mode 100644
index 0000000..82374b7
Binary files /dev/null and b/test/reference/ft-text-vertical-layout-type3.traps.argb32.ref.png differ
diff --git a/test/reference/ft-text-vertical-layout-type3.traps.rgb24.ref.png b/test/reference/ft-text-vertical-layout-type3.traps.rgb24.ref.png
new file mode 100644
index 0000000..82374b7
Binary files /dev/null and b/test/reference/ft-text-vertical-layout-type3.traps.rgb24.ref.png differ
diff --git a/test/reference/get-group-target.traps.argb32.ref.png b/test/reference/get-group-target.traps.argb32.ref.png
new file mode 100644
index 0000000..d162775
Binary files /dev/null and b/test/reference/get-group-target.traps.argb32.ref.png differ
diff --git a/test/reference/get-group-target.traps.rgb24.ref.png b/test/reference/get-group-target.traps.rgb24.ref.png
new file mode 100644
index 0000000..d162775
Binary files /dev/null and b/test/reference/get-group-target.traps.rgb24.ref.png differ
diff --git a/test/reference/glyph-cache-pressure.traps.argb32.ref.png b/test/reference/glyph-cache-pressure.traps.argb32.ref.png
new file mode 100644
index 0000000..14182f1
Binary files /dev/null and b/test/reference/glyph-cache-pressure.traps.argb32.ref.png differ
diff --git a/test/reference/glyph-cache-pressure.traps.rgb24.ref.png b/test/reference/glyph-cache-pressure.traps.rgb24.ref.png
new file mode 100644
index 0000000..14182f1
Binary files /dev/null and b/test/reference/glyph-cache-pressure.traps.rgb24.ref.png differ
diff --git a/test/reference/gradient-alpha.traps.argb32.ref.png b/test/reference/gradient-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..f64b26a
Binary files /dev/null and b/test/reference/gradient-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/gradient-alpha.traps.rgb24.ref.png b/test/reference/gradient-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..3c7258d
Binary files /dev/null and b/test/reference/gradient-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/gradient-constant-alpha.traps.argb32.ref.png b/test/reference/gradient-constant-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..7f49e2c
Binary files /dev/null and b/test/reference/gradient-constant-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/gradient-constant-alpha.traps.rgb24.ref.png b/test/reference/gradient-constant-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..69cd596
Binary files /dev/null and b/test/reference/gradient-constant-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/gradient-zero-stops-mask.traps.argb32.ref.png b/test/reference/gradient-zero-stops-mask.traps.argb32.ref.png
new file mode 100644
index 0000000..0a50f4c
Binary files /dev/null and b/test/reference/gradient-zero-stops-mask.traps.argb32.ref.png differ
diff --git a/test/reference/gradient-zero-stops-mask.traps.rgb24.ref.png b/test/reference/gradient-zero-stops-mask.traps.rgb24.ref.png
new file mode 100644
index 0000000..21465ce
Binary files /dev/null and b/test/reference/gradient-zero-stops-mask.traps.rgb24.ref.png differ
diff --git a/test/reference/gradient-zero-stops.traps.argb32.ref.png b/test/reference/gradient-zero-stops.traps.argb32.ref.png
new file mode 100644
index 0000000..0a50f4c
Binary files /dev/null and b/test/reference/gradient-zero-stops.traps.argb32.ref.png differ
diff --git a/test/reference/gradient-zero-stops.traps.rgb24.ref.png b/test/reference/gradient-zero-stops.traps.rgb24.ref.png
new file mode 100644
index 0000000..21465ce
Binary files /dev/null and b/test/reference/gradient-zero-stops.traps.rgb24.ref.png differ
diff --git a/test/reference/group-clip.traps.argb32.ref.png b/test/reference/group-clip.traps.argb32.ref.png
new file mode 100644
index 0000000..7b8a753
Binary files /dev/null and b/test/reference/group-clip.traps.argb32.ref.png differ
diff --git a/test/reference/group-clip.traps.rgb24.ref.png b/test/reference/group-clip.traps.rgb24.ref.png
new file mode 100644
index 0000000..7b8a753
Binary files /dev/null and b/test/reference/group-clip.traps.rgb24.ref.png differ
diff --git a/test/reference/group-paint.traps.argb32.ref.png b/test/reference/group-paint.traps.argb32.ref.png
new file mode 100644
index 0000000..1ed070c
Binary files /dev/null and b/test/reference/group-paint.traps.argb32.ref.png differ
diff --git a/test/reference/group-paint.traps.rgb24.ref.png b/test/reference/group-paint.traps.rgb24.ref.png
new file mode 100644
index 0000000..1ed070c
Binary files /dev/null and b/test/reference/group-paint.traps.rgb24.ref.png differ
diff --git a/test/reference/group-unaligned.traps.argb32.ref.png b/test/reference/group-unaligned.traps.argb32.ref.png
new file mode 100644
index 0000000..451e171
Binary files /dev/null and b/test/reference/group-unaligned.traps.argb32.ref.png differ
diff --git a/test/reference/group-unaligned.traps.rgb24.ref.png b/test/reference/group-unaligned.traps.rgb24.ref.png
new file mode 100644
index 0000000..451e171
Binary files /dev/null and b/test/reference/group-unaligned.traps.rgb24.ref.png differ
diff --git a/test/reference/halo-transform.traps.argb32.ref.png b/test/reference/halo-transform.traps.argb32.ref.png
new file mode 100644
index 0000000..ac314b0
Binary files /dev/null and b/test/reference/halo-transform.traps.argb32.ref.png differ
diff --git a/test/reference/halo-transform.traps.rgb24.ref.png b/test/reference/halo-transform.traps.rgb24.ref.png
new file mode 100644
index 0000000..ac314b0
Binary files /dev/null and b/test/reference/halo-transform.traps.rgb24.ref.png differ
diff --git a/test/reference/halo.traps.argb32.ref.png b/test/reference/halo.traps.argb32.ref.png
new file mode 100644
index 0000000..bc971d8
Binary files /dev/null and b/test/reference/halo.traps.argb32.ref.png differ
diff --git a/test/reference/halo.traps.rgb24.ref.png b/test/reference/halo.traps.rgb24.ref.png
new file mode 100644
index 0000000..bc971d8
Binary files /dev/null and b/test/reference/halo.traps.rgb24.ref.png differ
diff --git a/test/reference/hatchings.traps.argb32.ref.png b/test/reference/hatchings.traps.argb32.ref.png
new file mode 100644
index 0000000..3b72949
Binary files /dev/null and b/test/reference/hatchings.traps.argb32.ref.png differ
diff --git a/test/reference/horizontal-clip.traps.argb32.ref.png b/test/reference/horizontal-clip.traps.argb32.ref.png
new file mode 100644
index 0000000..43dd07f
Binary files /dev/null and b/test/reference/horizontal-clip.traps.argb32.ref.png differ
diff --git a/test/reference/horizontal-clip.traps.rgb24.ref.png b/test/reference/horizontal-clip.traps.rgb24.ref.png
new file mode 100644
index 0000000..43dd07f
Binary files /dev/null and b/test/reference/horizontal-clip.traps.rgb24.ref.png differ
diff --git a/test/reference/huge-linear.traps.argb32.ref.png b/test/reference/huge-linear.traps.argb32.ref.png
new file mode 100644
index 0000000..f89217b
Binary files /dev/null and b/test/reference/huge-linear.traps.argb32.ref.png differ
diff --git a/test/reference/huge-linear.traps.rgb24.ref.png b/test/reference/huge-linear.traps.rgb24.ref.png
new file mode 100644
index 0000000..f89217b
Binary files /dev/null and b/test/reference/huge-linear.traps.rgb24.ref.png differ
diff --git a/test/reference/huge-radial.traps.argb32.ref.png b/test/reference/huge-radial.traps.argb32.ref.png
new file mode 100644
index 0000000..541bb30
Binary files /dev/null and b/test/reference/huge-radial.traps.argb32.ref.png differ
diff --git a/test/reference/huge-radial.traps.rgb24.ref.png b/test/reference/huge-radial.traps.rgb24.ref.png
new file mode 100644
index 0000000..541bb30
Binary files /dev/null and b/test/reference/huge-radial.traps.rgb24.ref.png differ
diff --git a/test/reference/image-bug-710072-aligned.traps.argb32.ref.png b/test/reference/image-bug-710072-aligned.traps.argb32.ref.png
new file mode 100644
index 0000000..42abd20
Binary files /dev/null and b/test/reference/image-bug-710072-aligned.traps.argb32.ref.png differ
diff --git a/test/reference/image-bug-710072-aligned.traps.rgb24.ref.png b/test/reference/image-bug-710072-aligned.traps.rgb24.ref.png
new file mode 100644
index 0000000..42abd20
Binary files /dev/null and b/test/reference/image-bug-710072-aligned.traps.rgb24.ref.png differ
diff --git a/test/reference/image-bug-710072-unaligned.traps.argb32.ref.png b/test/reference/image-bug-710072-unaligned.traps.argb32.ref.png
new file mode 100644
index 0000000..0a5a6e6
Binary files /dev/null and b/test/reference/image-bug-710072-unaligned.traps.argb32.ref.png differ
diff --git a/test/reference/image-bug-710072-unaligned.traps.rgb24.ref.png b/test/reference/image-bug-710072-unaligned.traps.rgb24.ref.png
new file mode 100644
index 0000000..0a5a6e6
Binary files /dev/null and b/test/reference/image-bug-710072-unaligned.traps.rgb24.ref.png differ
diff --git a/test/reference/image-surface-source.traps.argb32.ref.png b/test/reference/image-surface-source.traps.argb32.ref.png
new file mode 100644
index 0000000..0182972
Binary files /dev/null and b/test/reference/image-surface-source.traps.argb32.ref.png differ
diff --git a/test/reference/image-surface-source.traps.rgb24.ref.png b/test/reference/image-surface-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..0d68a82
Binary files /dev/null and b/test/reference/image-surface-source.traps.rgb24.ref.png differ
diff --git a/test/reference/implicit-close.traps.argb32.ref.png b/test/reference/implicit-close.traps.argb32.ref.png
new file mode 100644
index 0000000..fdd7561
Binary files /dev/null and b/test/reference/implicit-close.traps.argb32.ref.png differ
diff --git a/test/reference/implicit-close.traps.rgb24.ref.png b/test/reference/implicit-close.traps.rgb24.ref.png
new file mode 100644
index 0000000..fdd7561
Binary files /dev/null and b/test/reference/implicit-close.traps.rgb24.ref.png differ
diff --git a/test/reference/infinite-join.traps.argb32.ref.png b/test/reference/infinite-join.traps.argb32.ref.png
new file mode 100644
index 0000000..9e7572b
Binary files /dev/null and b/test/reference/infinite-join.traps.argb32.ref.png differ
diff --git a/test/reference/infinite-join.traps.rgb24.ref.png b/test/reference/infinite-join.traps.rgb24.ref.png
new file mode 100644
index 0000000..9e7572b
Binary files /dev/null and b/test/reference/infinite-join.traps.rgb24.ref.png differ
diff --git a/test/reference/inverse-text.traps.argb32.ref.png b/test/reference/inverse-text.traps.argb32.ref.png
new file mode 100644
index 0000000..40defe6
Binary files /dev/null and b/test/reference/inverse-text.traps.argb32.ref.png differ
diff --git a/test/reference/inverse-text.traps.rgb24.ref.png b/test/reference/inverse-text.traps.rgb24.ref.png
new file mode 100644
index 0000000..40defe6
Binary files /dev/null and b/test/reference/inverse-text.traps.rgb24.ref.png differ
diff --git a/test/reference/joins-loop.traps.argb32.ref.png b/test/reference/joins-loop.traps.argb32.ref.png
new file mode 100644
index 0000000..d1d3cff
Binary files /dev/null and b/test/reference/joins-loop.traps.argb32.ref.png differ
diff --git a/test/reference/joins-loop.traps.rgb24.ref.png b/test/reference/joins-loop.traps.rgb24.ref.png
new file mode 100644
index 0000000..d1d3cff
Binary files /dev/null and b/test/reference/joins-loop.traps.rgb24.ref.png differ
diff --git a/test/reference/joins-retrace.traps.argb32.ref.png b/test/reference/joins-retrace.traps.argb32.ref.png
new file mode 100644
index 0000000..a2e8bca
Binary files /dev/null and b/test/reference/joins-retrace.traps.argb32.ref.png differ
diff --git a/test/reference/joins-retrace.traps.rgb24.ref.png b/test/reference/joins-retrace.traps.rgb24.ref.png
new file mode 100644
index 0000000..a2e8bca
Binary files /dev/null and b/test/reference/joins-retrace.traps.rgb24.ref.png differ
diff --git a/test/reference/joins-star.traps.argb32.ref.png b/test/reference/joins-star.traps.argb32.ref.png
new file mode 100644
index 0000000..595f96a
Binary files /dev/null and b/test/reference/joins-star.traps.argb32.ref.png differ
diff --git a/test/reference/joins-star.traps.rgb24.ref.png b/test/reference/joins-star.traps.rgb24.ref.png
new file mode 100644
index 0000000..595f96a
Binary files /dev/null and b/test/reference/joins-star.traps.rgb24.ref.png differ
diff --git a/test/reference/joins.traps.argb32.ref.png b/test/reference/joins.traps.argb32.ref.png
new file mode 100644
index 0000000..a0d632b
Binary files /dev/null and b/test/reference/joins.traps.argb32.ref.png differ
diff --git a/test/reference/joins.traps.rgb24.ref.png b/test/reference/joins.traps.rgb24.ref.png
new file mode 100644
index 0000000..a0d632b
Binary files /dev/null and b/test/reference/joins.traps.rgb24.ref.png differ
diff --git a/test/reference/large-clip.traps.argb32.ref.png b/test/reference/large-clip.traps.argb32.ref.png
new file mode 100644
index 0000000..3c3464b
Binary files /dev/null and b/test/reference/large-clip.traps.argb32.ref.png differ
diff --git a/test/reference/large-clip.traps.rgb24.ref.png b/test/reference/large-clip.traps.rgb24.ref.png
new file mode 100644
index 0000000..3c3464b
Binary files /dev/null and b/test/reference/large-clip.traps.rgb24.ref.png differ
diff --git a/test/reference/large-font.traps.argb32.ref.png b/test/reference/large-font.traps.argb32.ref.png
new file mode 100644
index 0000000..503061a
Binary files /dev/null and b/test/reference/large-font.traps.argb32.ref.png differ
diff --git a/test/reference/large-font.traps.rgb24.ref.png b/test/reference/large-font.traps.rgb24.ref.png
new file mode 100644
index 0000000..503061a
Binary files /dev/null and b/test/reference/large-font.traps.rgb24.ref.png differ
diff --git a/test/reference/large-source-roi.traps.argb32.ref.png b/test/reference/large-source-roi.traps.argb32.ref.png
new file mode 100644
index 0000000..216a065
Binary files /dev/null and b/test/reference/large-source-roi.traps.argb32.ref.png differ
diff --git a/test/reference/large-source-roi.traps.rgb24.ref.png b/test/reference/large-source-roi.traps.rgb24.ref.png
new file mode 100644
index 0000000..216a065
Binary files /dev/null and b/test/reference/large-source-roi.traps.rgb24.ref.png differ
diff --git a/test/reference/large-source.traps.argb32.ref.png b/test/reference/large-source.traps.argb32.ref.png
new file mode 100644
index 0000000..a54455f
Binary files /dev/null and b/test/reference/large-source.traps.argb32.ref.png differ
diff --git a/test/reference/large-source.traps.rgb24.ref.png b/test/reference/large-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..a54455f
Binary files /dev/null and b/test/reference/large-source.traps.rgb24.ref.png differ
diff --git a/test/reference/large-twin-antialias-mixed.traps.argb32.ref.png b/test/reference/large-twin-antialias-mixed.traps.argb32.ref.png
new file mode 100644
index 0000000..456e81d
Binary files /dev/null and b/test/reference/large-twin-antialias-mixed.traps.argb32.ref.png differ
diff --git a/test/reference/large-twin-antialias-mixed.traps.rgb24.ref.png b/test/reference/large-twin-antialias-mixed.traps.rgb24.ref.png
new file mode 100644
index 0000000..456e81d
Binary files /dev/null and b/test/reference/large-twin-antialias-mixed.traps.rgb24.ref.png differ
diff --git a/test/reference/leaky-dash.traps.argb32.ref.png b/test/reference/leaky-dash.traps.argb32.ref.png
new file mode 100644
index 0000000..0973ece
Binary files /dev/null and b/test/reference/leaky-dash.traps.argb32.ref.png differ
diff --git a/test/reference/leaky-dash.traps.rgb24.ref.png b/test/reference/leaky-dash.traps.rgb24.ref.png
new file mode 100644
index 0000000..0973ece
Binary files /dev/null and b/test/reference/leaky-dash.traps.rgb24.ref.png differ
diff --git a/test/reference/leaky-dashed-rectangle.traps.argb32.ref.png b/test/reference/leaky-dashed-rectangle.traps.argb32.ref.png
new file mode 100644
index 0000000..8f9a65d
Binary files /dev/null and b/test/reference/leaky-dashed-rectangle.traps.argb32.ref.png differ
diff --git a/test/reference/leaky-dashed-rectangle.traps.rgb24.ref.png b/test/reference/leaky-dashed-rectangle.traps.rgb24.ref.png
new file mode 100644
index 0000000..8f9a65d
Binary files /dev/null and b/test/reference/leaky-dashed-rectangle.traps.rgb24.ref.png differ
diff --git a/test/reference/leaky-dashed-stroke.traps.argb32.ref.png b/test/reference/leaky-dashed-stroke.traps.argb32.ref.png
new file mode 100644
index 0000000..da6807f
Binary files /dev/null and b/test/reference/leaky-dashed-stroke.traps.argb32.ref.png differ
diff --git a/test/reference/leaky-dashed-stroke.traps.rgb24.ref.png b/test/reference/leaky-dashed-stroke.traps.rgb24.ref.png
new file mode 100644
index 0000000..da6807f
Binary files /dev/null and b/test/reference/leaky-dashed-stroke.traps.rgb24.ref.png differ
diff --git a/test/reference/leaky-polygon.traps.argb32.ref.png b/test/reference/leaky-polygon.traps.argb32.ref.png
new file mode 100644
index 0000000..1cb7a3c
Binary files /dev/null and b/test/reference/leaky-polygon.traps.argb32.ref.png differ
diff --git a/test/reference/leaky-polygon.traps.rgb24.ref.png b/test/reference/leaky-polygon.traps.rgb24.ref.png
new file mode 100644
index 0000000..1cb7a3c
Binary files /dev/null and b/test/reference/leaky-polygon.traps.rgb24.ref.png differ
diff --git a/test/reference/line-width-overlap-dashed.traps.argb32.ref.png b/test/reference/line-width-overlap-dashed.traps.argb32.ref.png
new file mode 100644
index 0000000..0de187d
Binary files /dev/null and b/test/reference/line-width-overlap-dashed.traps.argb32.ref.png differ
diff --git a/test/reference/line-width-overlap-dashed.traps.rgb24.ref.png b/test/reference/line-width-overlap-dashed.traps.rgb24.ref.png
new file mode 100644
index 0000000..0de187d
Binary files /dev/null and b/test/reference/line-width-overlap-dashed.traps.rgb24.ref.png differ
diff --git a/test/reference/line-width-overlap-flipped.traps.argb32.ref.png b/test/reference/line-width-overlap-flipped.traps.argb32.ref.png
new file mode 100644
index 0000000..13d70c8
Binary files /dev/null and b/test/reference/line-width-overlap-flipped.traps.argb32.ref.png differ
diff --git a/test/reference/line-width-overlap-flipped.traps.rgb24.ref.png b/test/reference/line-width-overlap-flipped.traps.rgb24.ref.png
new file mode 100644
index 0000000..13d70c8
Binary files /dev/null and b/test/reference/line-width-overlap-flipped.traps.rgb24.ref.png differ
diff --git a/test/reference/line-width-overlap-flopped.traps.argb32.ref.png b/test/reference/line-width-overlap-flopped.traps.argb32.ref.png
new file mode 100644
index 0000000..13d70c8
Binary files /dev/null and b/test/reference/line-width-overlap-flopped.traps.argb32.ref.png differ
diff --git a/test/reference/line-width-overlap-flopped.traps.rgb24.ref.png b/test/reference/line-width-overlap-flopped.traps.rgb24.ref.png
new file mode 100644
index 0000000..13d70c8
Binary files /dev/null and b/test/reference/line-width-overlap-flopped.traps.rgb24.ref.png differ
diff --git a/test/reference/line-width-overlap-offset.traps.argb32.ref.png b/test/reference/line-width-overlap-offset.traps.argb32.ref.png
new file mode 100644
index 0000000..cf8495b
Binary files /dev/null and b/test/reference/line-width-overlap-offset.traps.argb32.ref.png differ
diff --git a/test/reference/line-width-overlap-offset.traps.rgb24.ref.png b/test/reference/line-width-overlap-offset.traps.rgb24.ref.png
new file mode 100644
index 0000000..cf8495b
Binary files /dev/null and b/test/reference/line-width-overlap-offset.traps.rgb24.ref.png differ
diff --git a/test/reference/line-width-overlap-rotated.traps.argb32.ref.png b/test/reference/line-width-overlap-rotated.traps.argb32.ref.png
new file mode 100644
index 0000000..fa7290d
Binary files /dev/null and b/test/reference/line-width-overlap-rotated.traps.argb32.ref.png differ
diff --git a/test/reference/line-width-overlap-rotated.traps.rgb24.ref.png b/test/reference/line-width-overlap-rotated.traps.rgb24.ref.png
new file mode 100644
index 0000000..fa7290d
Binary files /dev/null and b/test/reference/line-width-overlap-rotated.traps.rgb24.ref.png differ
diff --git a/test/reference/line-width-overlap.traps.argb32.ref.png b/test/reference/line-width-overlap.traps.argb32.ref.png
new file mode 100644
index 0000000..13d70c8
Binary files /dev/null and b/test/reference/line-width-overlap.traps.argb32.ref.png differ
diff --git a/test/reference/line-width-overlap.traps.rgb24.ref.png b/test/reference/line-width-overlap.traps.rgb24.ref.png
new file mode 100644
index 0000000..13d70c8
Binary files /dev/null and b/test/reference/line-width-overlap.traps.rgb24.ref.png differ
diff --git a/test/reference/line-width-scale.traps.argb32.ref.png b/test/reference/line-width-scale.traps.argb32.ref.png
new file mode 100644
index 0000000..41d55b0
Binary files /dev/null and b/test/reference/line-width-scale.traps.argb32.ref.png differ
diff --git a/test/reference/line-width-scale.traps.rgb24.ref.png b/test/reference/line-width-scale.traps.rgb24.ref.png
new file mode 100644
index 0000000..41d55b0
Binary files /dev/null and b/test/reference/line-width-scale.traps.rgb24.ref.png differ
diff --git a/test/reference/line-width-tolerance.traps.argb32.ref.png b/test/reference/line-width-tolerance.traps.argb32.ref.png
new file mode 100644
index 0000000..f890a52
Binary files /dev/null and b/test/reference/line-width-tolerance.traps.argb32.ref.png differ
diff --git a/test/reference/line-width-tolerance.traps.rgb24.ref.png b/test/reference/line-width-tolerance.traps.rgb24.ref.png
new file mode 100644
index 0000000..f890a52
Binary files /dev/null and b/test/reference/line-width-tolerance.traps.rgb24.ref.png differ
diff --git a/test/reference/line-width.traps.argb32.ref.png b/test/reference/line-width.traps.argb32.ref.png
new file mode 100644
index 0000000..208d170
Binary files /dev/null and b/test/reference/line-width.traps.argb32.ref.png differ
diff --git a/test/reference/line-width.traps.rgb24.ref.png b/test/reference/line-width.traps.rgb24.ref.png
new file mode 100644
index 0000000..208d170
Binary files /dev/null and b/test/reference/line-width.traps.rgb24.ref.png differ
diff --git a/test/reference/linear-gradient-extend.traps.argb32.ref.png b/test/reference/linear-gradient-extend.traps.argb32.ref.png
new file mode 100644
index 0000000..79ce747
Binary files /dev/null and b/test/reference/linear-gradient-extend.traps.argb32.ref.png differ
diff --git a/test/reference/linear-gradient-extend.traps.rgb24.ref.png b/test/reference/linear-gradient-extend.traps.rgb24.ref.png
new file mode 100644
index 0000000..79ce747
Binary files /dev/null and b/test/reference/linear-gradient-extend.traps.rgb24.ref.png differ
diff --git a/test/reference/linear-gradient-large.traps.argb32.ref.png b/test/reference/linear-gradient-large.traps.argb32.ref.png
new file mode 100644
index 0000000..f1f37ab
Binary files /dev/null and b/test/reference/linear-gradient-large.traps.argb32.ref.png differ
diff --git a/test/reference/linear-gradient-large.traps.rgb24.ref.png b/test/reference/linear-gradient-large.traps.rgb24.ref.png
new file mode 100644
index 0000000..f1f37ab
Binary files /dev/null and b/test/reference/linear-gradient-large.traps.rgb24.ref.png differ
diff --git a/test/reference/linear-gradient-one-stop.traps.argb32.ref.png b/test/reference/linear-gradient-one-stop.traps.argb32.ref.png
new file mode 100644
index 0000000..da02fda
Binary files /dev/null and b/test/reference/linear-gradient-one-stop.traps.argb32.ref.png differ
diff --git a/test/reference/linear-gradient-one-stop.traps.rgb24.ref.png b/test/reference/linear-gradient-one-stop.traps.rgb24.ref.png
new file mode 100644
index 0000000..efc12ee
Binary files /dev/null and b/test/reference/linear-gradient-one-stop.traps.rgb24.ref.png differ
diff --git a/test/reference/linear-gradient-reflect.traps.argb32.ref.png b/test/reference/linear-gradient-reflect.traps.argb32.ref.png
new file mode 100644
index 0000000..b68dccb
Binary files /dev/null and b/test/reference/linear-gradient-reflect.traps.argb32.ref.png differ
diff --git a/test/reference/linear-gradient-reflect.traps.rgb24.ref.png b/test/reference/linear-gradient-reflect.traps.rgb24.ref.png
new file mode 100644
index 0000000..b68dccb
Binary files /dev/null and b/test/reference/linear-gradient-reflect.traps.rgb24.ref.png differ
diff --git a/test/reference/linear-gradient-subset.traps.argb32.ref.png b/test/reference/linear-gradient-subset.traps.argb32.ref.png
new file mode 100644
index 0000000..e03d3d6
Binary files /dev/null and b/test/reference/linear-gradient-subset.traps.argb32.ref.png differ
diff --git a/test/reference/linear-gradient-subset.traps.rgb24.ref.png b/test/reference/linear-gradient-subset.traps.rgb24.ref.png
new file mode 100644
index 0000000..e03d3d6
Binary files /dev/null and b/test/reference/linear-gradient-subset.traps.rgb24.ref.png differ
diff --git a/test/reference/linear-gradient.traps.argb32.ref.png b/test/reference/linear-gradient.traps.argb32.ref.png
new file mode 100644
index 0000000..083a9b8
Binary files /dev/null and b/test/reference/linear-gradient.traps.argb32.ref.png differ
diff --git a/test/reference/linear-gradient.traps.rgb24.ref.png b/test/reference/linear-gradient.traps.rgb24.ref.png
new file mode 100644
index 0000000..083a9b8
Binary files /dev/null and b/test/reference/linear-gradient.traps.rgb24.ref.png differ
diff --git a/test/reference/linear-step-function.traps.argb32.ref.png b/test/reference/linear-step-function.traps.argb32.ref.png
new file mode 100644
index 0000000..0ed126e
Binary files /dev/null and b/test/reference/linear-step-function.traps.argb32.ref.png differ
diff --git a/test/reference/linear-step-function.traps.rgb24.ref.png b/test/reference/linear-step-function.traps.rgb24.ref.png
new file mode 100644
index 0000000..0ed126e
Binary files /dev/null and b/test/reference/linear-step-function.traps.rgb24.ref.png differ
diff --git a/test/reference/linear-uniform.traps.argb32.ref.png b/test/reference/linear-uniform.traps.argb32.ref.png
new file mode 100644
index 0000000..94ca336
Binary files /dev/null and b/test/reference/linear-uniform.traps.argb32.ref.png differ
diff --git a/test/reference/linear-uniform.traps.rgb24.ref.png b/test/reference/linear-uniform.traps.rgb24.ref.png
new file mode 100644
index 0000000..94ca336
Binary files /dev/null and b/test/reference/linear-uniform.traps.rgb24.ref.png differ
diff --git a/test/reference/long-dashed-lines.traps.argb32.ref.png b/test/reference/long-dashed-lines.traps.argb32.ref.png
new file mode 100644
index 0000000..45fdcc0
Binary files /dev/null and b/test/reference/long-dashed-lines.traps.argb32.ref.png differ
diff --git a/test/reference/long-dashed-lines.traps.rgb24.ref.png b/test/reference/long-dashed-lines.traps.rgb24.ref.png
new file mode 100644
index 0000000..45fdcc0
Binary files /dev/null and b/test/reference/long-dashed-lines.traps.rgb24.ref.png differ
diff --git a/test/reference/long-lines.traps.argb32.ref.png b/test/reference/long-lines.traps.argb32.ref.png
new file mode 100644
index 0000000..fe91163
Binary files /dev/null and b/test/reference/long-lines.traps.argb32.ref.png differ
diff --git a/test/reference/long-lines.traps.rgb24.ref.png b/test/reference/long-lines.traps.rgb24.ref.png
new file mode 100644
index 0000000..fe91163
Binary files /dev/null and b/test/reference/long-lines.traps.rgb24.ref.png differ
diff --git a/test/reference/map-all-to-image.traps.argb32.ref.png b/test/reference/map-all-to-image.traps.argb32.ref.png
new file mode 100644
index 0000000..c56d969
Binary files /dev/null and b/test/reference/map-all-to-image.traps.argb32.ref.png differ
diff --git a/test/reference/map-all-to-image.traps.rgb24.ref.png b/test/reference/map-all-to-image.traps.rgb24.ref.png
new file mode 100644
index 0000000..c56d969
Binary files /dev/null and b/test/reference/map-all-to-image.traps.rgb24.ref.png differ
diff --git a/test/reference/map-bit-to-image.traps.argb32.ref.png b/test/reference/map-bit-to-image.traps.argb32.ref.png
new file mode 100644
index 0000000..b42dcb6
Binary files /dev/null and b/test/reference/map-bit-to-image.traps.argb32.ref.png differ
diff --git a/test/reference/map-bit-to-image.traps.rgb24.ref.png b/test/reference/map-bit-to-image.traps.rgb24.ref.png
new file mode 100644
index 0000000..b42dcb6
Binary files /dev/null and b/test/reference/map-bit-to-image.traps.rgb24.ref.png differ
diff --git a/test/reference/map-to-image-fill.traps.argb32.ref.png b/test/reference/map-to-image-fill.traps.argb32.ref.png
new file mode 100644
index 0000000..c2893e0
Binary files /dev/null and b/test/reference/map-to-image-fill.traps.argb32.ref.png differ
diff --git a/test/reference/map-to-image-fill.traps.rgb24.ref.png b/test/reference/map-to-image-fill.traps.rgb24.ref.png
new file mode 100644
index 0000000..c2893e0
Binary files /dev/null and b/test/reference/map-to-image-fill.traps.rgb24.ref.png differ
diff --git a/test/reference/mask-alpha.traps.argb32.ref.png b/test/reference/mask-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..a0b9017
Binary files /dev/null and b/test/reference/mask-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/mask-alpha.traps.rgb24.ref.png b/test/reference/mask-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..d8f4b8f
Binary files /dev/null and b/test/reference/mask-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/mask-ctm.traps.argb32.ref.png b/test/reference/mask-ctm.traps.argb32.ref.png
new file mode 100644
index 0000000..07d903d
Binary files /dev/null and b/test/reference/mask-ctm.traps.argb32.ref.png differ
diff --git a/test/reference/mask-ctm.traps.rgb24.ref.png b/test/reference/mask-ctm.traps.rgb24.ref.png
new file mode 100644
index 0000000..de3fa09
Binary files /dev/null and b/test/reference/mask-ctm.traps.rgb24.ref.png differ
diff --git a/test/reference/mask-surface-ctm.traps.argb32.ref.png b/test/reference/mask-surface-ctm.traps.argb32.ref.png
new file mode 100644
index 0000000..07d903d
Binary files /dev/null and b/test/reference/mask-surface-ctm.traps.argb32.ref.png differ
diff --git a/test/reference/mask-surface-ctm.traps.rgb24.ref.png b/test/reference/mask-surface-ctm.traps.rgb24.ref.png
new file mode 100644
index 0000000..de3fa09
Binary files /dev/null and b/test/reference/mask-surface-ctm.traps.rgb24.ref.png differ
diff --git a/test/reference/mask-transformed-image.traps.argb32.ref.png b/test/reference/mask-transformed-image.traps.argb32.ref.png
new file mode 100644
index 0000000..af84b39
Binary files /dev/null and b/test/reference/mask-transformed-image.traps.argb32.ref.png differ
diff --git a/test/reference/mask-transformed-image.traps.rgb24.ref.png b/test/reference/mask-transformed-image.traps.rgb24.ref.png
new file mode 100644
index 0000000..af84b39
Binary files /dev/null and b/test/reference/mask-transformed-image.traps.rgb24.ref.png differ
diff --git a/test/reference/mask-transformed-similar.traps.argb32.ref.png b/test/reference/mask-transformed-similar.traps.argb32.ref.png
new file mode 100644
index 0000000..af84b39
Binary files /dev/null and b/test/reference/mask-transformed-similar.traps.argb32.ref.png differ
diff --git a/test/reference/mask-transformed-similar.traps.rgb24.ref.png b/test/reference/mask-transformed-similar.traps.rgb24.ref.png
new file mode 100644
index 0000000..af84b39
Binary files /dev/null and b/test/reference/mask-transformed-similar.traps.rgb24.ref.png differ
diff --git a/test/reference/mask.traps.argb32.ref.png b/test/reference/mask.traps.argb32.ref.png
new file mode 100644
index 0000000..3286ce6
Binary files /dev/null and b/test/reference/mask.traps.argb32.ref.png differ
diff --git a/test/reference/mask.traps.rgb24.ref.png b/test/reference/mask.traps.rgb24.ref.png
new file mode 100644
index 0000000..edcabaf
Binary files /dev/null and b/test/reference/mask.traps.rgb24.ref.png differ
diff --git a/test/reference/mesh-pattern-accuracy.traps.argb32.ref.png b/test/reference/mesh-pattern-accuracy.traps.argb32.ref.png
new file mode 100644
index 0000000..dfc19ff
Binary files /dev/null and b/test/reference/mesh-pattern-accuracy.traps.argb32.ref.png differ
diff --git a/test/reference/mesh-pattern-accuracy.traps.rgb24.ref.png b/test/reference/mesh-pattern-accuracy.traps.rgb24.ref.png
new file mode 100644
index 0000000..dfc19ff
Binary files /dev/null and b/test/reference/mesh-pattern-accuracy.traps.rgb24.ref.png differ
diff --git a/test/reference/mesh-pattern-conical.traps.argb32.ref.png b/test/reference/mesh-pattern-conical.traps.argb32.ref.png
new file mode 100644
index 0000000..f5dc21d
Binary files /dev/null and b/test/reference/mesh-pattern-conical.traps.argb32.ref.png differ
diff --git a/test/reference/mesh-pattern-conical.traps.rgb24.ref.png b/test/reference/mesh-pattern-conical.traps.rgb24.ref.png
new file mode 100644
index 0000000..f5dc21d
Binary files /dev/null and b/test/reference/mesh-pattern-conical.traps.rgb24.ref.png differ
diff --git a/test/reference/mesh-pattern-control-points.traps.argb32.ref.png b/test/reference/mesh-pattern-control-points.traps.argb32.ref.png
new file mode 100644
index 0000000..841fc3e
Binary files /dev/null and b/test/reference/mesh-pattern-control-points.traps.argb32.ref.png differ
diff --git a/test/reference/mesh-pattern-control-points.traps.rgb24.ref.png b/test/reference/mesh-pattern-control-points.traps.rgb24.ref.png
new file mode 100644
index 0000000..841fc3e
Binary files /dev/null and b/test/reference/mesh-pattern-control-points.traps.rgb24.ref.png differ
diff --git a/test/reference/mesh-pattern-fold.traps.argb32.ref.png b/test/reference/mesh-pattern-fold.traps.argb32.ref.png
new file mode 100644
index 0000000..6275b82
Binary files /dev/null and b/test/reference/mesh-pattern-fold.traps.argb32.ref.png differ
diff --git a/test/reference/mesh-pattern-fold.traps.rgb24.ref.png b/test/reference/mesh-pattern-fold.traps.rgb24.ref.png
new file mode 100644
index 0000000..6275b82
Binary files /dev/null and b/test/reference/mesh-pattern-fold.traps.rgb24.ref.png differ
diff --git a/test/reference/mesh-pattern-overlap.traps.argb32.ref.png b/test/reference/mesh-pattern-overlap.traps.argb32.ref.png
new file mode 100644
index 0000000..1394c9e
Binary files /dev/null and b/test/reference/mesh-pattern-overlap.traps.argb32.ref.png differ
diff --git a/test/reference/mesh-pattern-overlap.traps.rgb24.ref.png b/test/reference/mesh-pattern-overlap.traps.rgb24.ref.png
new file mode 100644
index 0000000..1394c9e
Binary files /dev/null and b/test/reference/mesh-pattern-overlap.traps.rgb24.ref.png differ
diff --git a/test/reference/mesh-pattern-transformed.traps.argb32.ref.png b/test/reference/mesh-pattern-transformed.traps.argb32.ref.png
new file mode 100644
index 0000000..9aa482f
Binary files /dev/null and b/test/reference/mesh-pattern-transformed.traps.argb32.ref.png differ
diff --git a/test/reference/mesh-pattern-transformed.traps.rgb24.ref.png b/test/reference/mesh-pattern-transformed.traps.rgb24.ref.png
new file mode 100644
index 0000000..9aa482f
Binary files /dev/null and b/test/reference/mesh-pattern-transformed.traps.rgb24.ref.png differ
diff --git a/test/reference/mesh-pattern.traps.argb32.ref.png b/test/reference/mesh-pattern.traps.argb32.ref.png
new file mode 100644
index 0000000..1f76639
Binary files /dev/null and b/test/reference/mesh-pattern.traps.argb32.ref.png differ
diff --git a/test/reference/mesh-pattern.traps.rgb24.ref.png b/test/reference/mesh-pattern.traps.rgb24.ref.png
new file mode 100644
index 0000000..1f76639
Binary files /dev/null and b/test/reference/mesh-pattern.traps.rgb24.ref.png differ
diff --git a/test/reference/mime-data.traps.argb32.ref.png b/test/reference/mime-data.traps.argb32.ref.png
new file mode 100644
index 0000000..3a912c5
Binary files /dev/null and b/test/reference/mime-data.traps.argb32.ref.png differ
diff --git a/test/reference/mime-data.traps.rgb24.ref.png b/test/reference/mime-data.traps.rgb24.ref.png
new file mode 100644
index 0000000..3a912c5
Binary files /dev/null and b/test/reference/mime-data.traps.rgb24.ref.png differ
diff --git a/test/reference/mime-surface.traps.argb32.ref.png b/test/reference/mime-surface.traps.argb32.ref.png
new file mode 100644
index 0000000..ac5e560
Binary files /dev/null and b/test/reference/mime-surface.traps.argb32.ref.png differ
diff --git a/test/reference/mime-surface.traps.rgb24.ref.png b/test/reference/mime-surface.traps.rgb24.ref.png
new file mode 100644
index 0000000..ac5e560
Binary files /dev/null and b/test/reference/mime-surface.traps.rgb24.ref.png differ
diff --git a/test/reference/miter-precision.traps.argb32.ref.png b/test/reference/miter-precision.traps.argb32.ref.png
new file mode 100644
index 0000000..b9eee8a
Binary files /dev/null and b/test/reference/miter-precision.traps.argb32.ref.png differ
diff --git a/test/reference/miter-precision.traps.rgb24.ref.png b/test/reference/miter-precision.traps.rgb24.ref.png
new file mode 100644
index 0000000..b9eee8a
Binary files /dev/null and b/test/reference/miter-precision.traps.rgb24.ref.png differ
diff --git a/test/reference/move-to-show-surface.traps.argb32.ref.png b/test/reference/move-to-show-surface.traps.argb32.ref.png
new file mode 100644
index 0000000..0a145d9
Binary files /dev/null and b/test/reference/move-to-show-surface.traps.argb32.ref.png differ
diff --git a/test/reference/move-to-show-surface.traps.rgb24.ref.png b/test/reference/move-to-show-surface.traps.rgb24.ref.png
new file mode 100644
index 0000000..0a145d9
Binary files /dev/null and b/test/reference/move-to-show-surface.traps.rgb24.ref.png differ
diff --git a/test/reference/new-sub-path.traps.argb32.ref.png b/test/reference/new-sub-path.traps.argb32.ref.png
new file mode 100644
index 0000000..13e0675
Binary files /dev/null and b/test/reference/new-sub-path.traps.argb32.ref.png differ
diff --git a/test/reference/new-sub-path.traps.rgb24.ref.png b/test/reference/new-sub-path.traps.rgb24.ref.png
new file mode 100644
index 0000000..b69e4ab
Binary files /dev/null and b/test/reference/new-sub-path.traps.rgb24.ref.png differ
diff --git a/test/reference/nil-surface.traps.argb32.ref.png b/test/reference/nil-surface.traps.argb32.ref.png
new file mode 100644
index 0000000..50e35a2
Binary files /dev/null and b/test/reference/nil-surface.traps.argb32.ref.png differ
diff --git a/test/reference/nil-surface.traps.rgb24.ref.png b/test/reference/nil-surface.traps.rgb24.ref.png
new file mode 100644
index 0000000..7d5589c
Binary files /dev/null and b/test/reference/nil-surface.traps.rgb24.ref.png differ
diff --git a/test/reference/operator-alpha-alpha.traps.argb32.ref.png b/test/reference/operator-alpha-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..695d0d0
Binary files /dev/null and b/test/reference/operator-alpha-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/operator-alpha-alpha.traps.rgb24.ref.png b/test/reference/operator-alpha-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..695d0d0
Binary files /dev/null and b/test/reference/operator-alpha-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/operator-alpha.traps.argb32.ref.png b/test/reference/operator-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..b4f3b71
Binary files /dev/null and b/test/reference/operator-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/operator-alpha.traps.rgb24.ref.png b/test/reference/operator-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..bc7be3a
Binary files /dev/null and b/test/reference/operator-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/operator-clear.traps.argb32.ref.png b/test/reference/operator-clear.traps.argb32.ref.png
new file mode 100644
index 0000000..235db6b
Binary files /dev/null and b/test/reference/operator-clear.traps.argb32.ref.png differ
diff --git a/test/reference/operator-clear.traps.rgb24.ref.png b/test/reference/operator-clear.traps.rgb24.ref.png
new file mode 100644
index 0000000..fa07d4a
Binary files /dev/null and b/test/reference/operator-clear.traps.rgb24.ref.png differ
diff --git a/test/reference/operator-source.traps.argb32.ref.png b/test/reference/operator-source.traps.argb32.ref.png
new file mode 100644
index 0000000..1a8711d
Binary files /dev/null and b/test/reference/operator-source.traps.argb32.ref.png differ
diff --git a/test/reference/operator-source.traps.rgb24.ref.png b/test/reference/operator-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..8f31453
Binary files /dev/null and b/test/reference/operator-source.traps.rgb24.ref.png differ
diff --git a/test/reference/operator.traps.argb32.ref.png b/test/reference/operator.traps.argb32.ref.png
new file mode 100644
index 0000000..34fce98
Binary files /dev/null and b/test/reference/operator.traps.argb32.ref.png differ
diff --git a/test/reference/operator.traps.rgb24.ref.png b/test/reference/operator.traps.rgb24.ref.png
new file mode 100644
index 0000000..aa6103d
Binary files /dev/null and b/test/reference/operator.traps.rgb24.ref.png differ
diff --git a/test/reference/over-above-source.traps.argb32.ref.png b/test/reference/over-above-source.traps.argb32.ref.png
new file mode 100644
index 0000000..8a0183a
Binary files /dev/null and b/test/reference/over-above-source.traps.argb32.ref.png differ
diff --git a/test/reference/over-above-source.traps.rgb24.ref.png b/test/reference/over-above-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..85c1997
Binary files /dev/null and b/test/reference/over-above-source.traps.rgb24.ref.png differ
diff --git a/test/reference/over-around-source.traps.argb32.ref.png b/test/reference/over-around-source.traps.argb32.ref.png
new file mode 100644
index 0000000..fca7505
Binary files /dev/null and b/test/reference/over-around-source.traps.argb32.ref.png differ
diff --git a/test/reference/over-around-source.traps.rgb24.ref.png b/test/reference/over-around-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..aeac942
Binary files /dev/null and b/test/reference/over-around-source.traps.rgb24.ref.png differ
diff --git a/test/reference/over-below-source.traps.argb32.ref.png b/test/reference/over-below-source.traps.argb32.ref.png
new file mode 100644
index 0000000..c659363
Binary files /dev/null and b/test/reference/over-below-source.traps.argb32.ref.png differ
diff --git a/test/reference/over-below-source.traps.rgb24.ref.png b/test/reference/over-below-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..ae26dbe
Binary files /dev/null and b/test/reference/over-below-source.traps.rgb24.ref.png differ
diff --git a/test/reference/over-between-source.traps.argb32.ref.png b/test/reference/over-between-source.traps.argb32.ref.png
new file mode 100644
index 0000000..a8fe66a
Binary files /dev/null and b/test/reference/over-between-source.traps.argb32.ref.png differ
diff --git a/test/reference/over-between-source.traps.rgb24.ref.png b/test/reference/over-between-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..4aa2492
Binary files /dev/null and b/test/reference/over-between-source.traps.rgb24.ref.png differ
diff --git a/test/reference/overlapping-boxes.traps.argb32.ref.png b/test/reference/overlapping-boxes.traps.argb32.ref.png
new file mode 100644
index 0000000..278e62a
Binary files /dev/null and b/test/reference/overlapping-boxes.traps.argb32.ref.png differ
diff --git a/test/reference/overlapping-boxes.traps.rgb24.ref.png b/test/reference/overlapping-boxes.traps.rgb24.ref.png
new file mode 100644
index 0000000..fddcc05
Binary files /dev/null and b/test/reference/overlapping-boxes.traps.rgb24.ref.png differ
diff --git a/test/reference/overlapping-dash-caps.traps.argb32.ref.png b/test/reference/overlapping-dash-caps.traps.argb32.ref.png
new file mode 100644
index 0000000..d3d6729
Binary files /dev/null and b/test/reference/overlapping-dash-caps.traps.argb32.ref.png differ
diff --git a/test/reference/overlapping-dash-caps.traps.rgb24.ref.png b/test/reference/overlapping-dash-caps.traps.rgb24.ref.png
new file mode 100644
index 0000000..d3d6729
Binary files /dev/null and b/test/reference/overlapping-dash-caps.traps.rgb24.ref.png differ
diff --git a/test/reference/overlapping-glyphs.traps.argb32.ref.png b/test/reference/overlapping-glyphs.traps.argb32.ref.png
new file mode 100644
index 0000000..0dc6fdb
Binary files /dev/null and b/test/reference/overlapping-glyphs.traps.argb32.ref.png differ
diff --git a/test/reference/overlapping-glyphs.traps.rgb24.ref.png b/test/reference/overlapping-glyphs.traps.rgb24.ref.png
new file mode 100644
index 0000000..9702cc2
Binary files /dev/null and b/test/reference/overlapping-glyphs.traps.rgb24.ref.png differ
diff --git a/test/reference/paint-clip-fill-aa.traps.argb32.ref.png b/test/reference/paint-clip-fill-aa.traps.argb32.ref.png
new file mode 100644
index 0000000..768322a
Binary files /dev/null and b/test/reference/paint-clip-fill-aa.traps.argb32.ref.png differ
diff --git a/test/reference/paint-clip-fill-aa.traps.rgb24.ref.png b/test/reference/paint-clip-fill-aa.traps.rgb24.ref.png
new file mode 100644
index 0000000..768322a
Binary files /dev/null and b/test/reference/paint-clip-fill-aa.traps.rgb24.ref.png differ
diff --git a/test/reference/paint-clip-fill-mono.traps.argb32.ref.png b/test/reference/paint-clip-fill-mono.traps.argb32.ref.png
new file mode 100644
index 0000000..768322a
Binary files /dev/null and b/test/reference/paint-clip-fill-mono.traps.argb32.ref.png differ
diff --git a/test/reference/paint-clip-fill-mono.traps.rgb24.ref.png b/test/reference/paint-clip-fill-mono.traps.rgb24.ref.png
new file mode 100644
index 0000000..768322a
Binary files /dev/null and b/test/reference/paint-clip-fill-mono.traps.rgb24.ref.png differ
diff --git a/test/reference/paint-repeat.traps.argb32.ref.png b/test/reference/paint-repeat.traps.argb32.ref.png
new file mode 100644
index 0000000..8cdd9b4
Binary files /dev/null and b/test/reference/paint-repeat.traps.argb32.ref.png differ
diff --git a/test/reference/paint-repeat.traps.rgb24.ref.png b/test/reference/paint-repeat.traps.rgb24.ref.png
new file mode 100644
index 0000000..8cdd9b4
Binary files /dev/null and b/test/reference/paint-repeat.traps.rgb24.ref.png differ
diff --git a/test/reference/paint-source-alpha.traps.argb32.ref.png b/test/reference/paint-source-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..65d9c17
Binary files /dev/null and b/test/reference/paint-source-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/paint-source-alpha.traps.rgb24.ref.png b/test/reference/paint-source-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..65d9c17
Binary files /dev/null and b/test/reference/paint-source-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/paint-with-alpha-clip-mask.traps.argb32.ref.png b/test/reference/paint-with-alpha-clip-mask.traps.argb32.ref.png
new file mode 100644
index 0000000..201bd0d
Binary files /dev/null and b/test/reference/paint-with-alpha-clip-mask.traps.argb32.ref.png differ
diff --git a/test/reference/paint-with-alpha-clip-mask.traps.rgb24.ref.png b/test/reference/paint-with-alpha-clip-mask.traps.rgb24.ref.png
new file mode 100644
index 0000000..201bd0d
Binary files /dev/null and b/test/reference/paint-with-alpha-clip-mask.traps.rgb24.ref.png differ
diff --git a/test/reference/paint-with-alpha-clip.traps.argb32.ref.png b/test/reference/paint-with-alpha-clip.traps.argb32.ref.png
new file mode 100644
index 0000000..c1da67e
Binary files /dev/null and b/test/reference/paint-with-alpha-clip.traps.argb32.ref.png differ
diff --git a/test/reference/paint-with-alpha-clip.traps.rgb24.ref.png b/test/reference/paint-with-alpha-clip.traps.rgb24.ref.png
new file mode 100644
index 0000000..c1da67e
Binary files /dev/null and b/test/reference/paint-with-alpha-clip.traps.rgb24.ref.png differ
diff --git a/test/reference/paint-with-alpha-solid-clip.traps.argb32.ref.png b/test/reference/paint-with-alpha-solid-clip.traps.argb32.ref.png
new file mode 100644
index 0000000..2cd2df2
Binary files /dev/null and b/test/reference/paint-with-alpha-solid-clip.traps.argb32.ref.png differ
diff --git a/test/reference/paint-with-alpha-solid-clip.traps.rgb24.ref.png b/test/reference/paint-with-alpha-solid-clip.traps.rgb24.ref.png
new file mode 100644
index 0000000..2cd2df2
Binary files /dev/null and b/test/reference/paint-with-alpha-solid-clip.traps.rgb24.ref.png differ
diff --git a/test/reference/paint-with-alpha.traps.argb32.ref.png b/test/reference/paint-with-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..65d9c17
Binary files /dev/null and b/test/reference/paint-with-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/paint-with-alpha.traps.rgb24.ref.png b/test/reference/paint-with-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..65d9c17
Binary files /dev/null and b/test/reference/paint-with-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/paint.traps.argb32.ref.png b/test/reference/paint.traps.argb32.ref.png
new file mode 100644
index 0000000..22cc7a1
Binary files /dev/null and b/test/reference/paint.traps.argb32.ref.png differ
diff --git a/test/reference/paint.traps.rgb24.ref.png b/test/reference/paint.traps.rgb24.ref.png
new file mode 100644
index 0000000..22cc7a1
Binary files /dev/null and b/test/reference/paint.traps.rgb24.ref.png differ
diff --git a/test/reference/partial-clip-text-bottom.traps.argb32.ref.png b/test/reference/partial-clip-text-bottom.traps.argb32.ref.png
new file mode 100644
index 0000000..7a03fad
Binary files /dev/null and b/test/reference/partial-clip-text-bottom.traps.argb32.ref.png differ
diff --git a/test/reference/partial-clip-text-bottom.traps.rgb24.ref.png b/test/reference/partial-clip-text-bottom.traps.rgb24.ref.png
new file mode 100644
index 0000000..7a03fad
Binary files /dev/null and b/test/reference/partial-clip-text-bottom.traps.rgb24.ref.png differ
diff --git a/test/reference/partial-clip-text-left.traps.argb32.ref.png b/test/reference/partial-clip-text-left.traps.argb32.ref.png
new file mode 100644
index 0000000..95c07f4
Binary files /dev/null and b/test/reference/partial-clip-text-left.traps.argb32.ref.png differ
diff --git a/test/reference/partial-clip-text-left.traps.rgb24.ref.png b/test/reference/partial-clip-text-left.traps.rgb24.ref.png
new file mode 100644
index 0000000..95c07f4
Binary files /dev/null and b/test/reference/partial-clip-text-left.traps.rgb24.ref.png differ
diff --git a/test/reference/partial-clip-text-right.traps.argb32.ref.png b/test/reference/partial-clip-text-right.traps.argb32.ref.png
new file mode 100644
index 0000000..3e69ca9
Binary files /dev/null and b/test/reference/partial-clip-text-right.traps.argb32.ref.png differ
diff --git a/test/reference/partial-clip-text-right.traps.rgb24.ref.png b/test/reference/partial-clip-text-right.traps.rgb24.ref.png
new file mode 100644
index 0000000..3e69ca9
Binary files /dev/null and b/test/reference/partial-clip-text-right.traps.rgb24.ref.png differ
diff --git a/test/reference/partial-clip-text-top.traps.argb32.ref.png b/test/reference/partial-clip-text-top.traps.argb32.ref.png
new file mode 100644
index 0000000..afe2d3e
Binary files /dev/null and b/test/reference/partial-clip-text-top.traps.argb32.ref.png differ
diff --git a/test/reference/partial-clip-text-top.traps.rgb24.ref.png b/test/reference/partial-clip-text-top.traps.rgb24.ref.png
new file mode 100644
index 0000000..afe2d3e
Binary files /dev/null and b/test/reference/partial-clip-text-top.traps.rgb24.ref.png differ
diff --git a/test/reference/partial-coverage-half-reference.traps.argb32.ref.png b/test/reference/partial-coverage-half-reference.traps.argb32.ref.png
new file mode 100644
index 0000000..17f4ff0
Binary files /dev/null and b/test/reference/partial-coverage-half-reference.traps.argb32.ref.png differ
diff --git a/test/reference/partial-coverage-half-reference.traps.rgb24.ref.png b/test/reference/partial-coverage-half-reference.traps.rgb24.ref.png
new file mode 100644
index 0000000..17f4ff0
Binary files /dev/null and b/test/reference/partial-coverage-half-reference.traps.rgb24.ref.png differ
diff --git a/test/reference/partial-coverage-reference.traps.argb32.ref.png b/test/reference/partial-coverage-reference.traps.argb32.ref.png
new file mode 100644
index 0000000..9e4a6fe
Binary files /dev/null and b/test/reference/partial-coverage-reference.traps.argb32.ref.png differ
diff --git a/test/reference/partial-coverage-reference.traps.rgb24.ref.png b/test/reference/partial-coverage-reference.traps.rgb24.ref.png
new file mode 100644
index 0000000..9e4a6fe
Binary files /dev/null and b/test/reference/partial-coverage-reference.traps.rgb24.ref.png differ
diff --git a/test/reference/partial-coverage-three-quarter-reference.traps.argb32.ref.png b/test/reference/partial-coverage-three-quarter-reference.traps.argb32.ref.png
new file mode 100644
index 0000000..ea16dc4
Binary files /dev/null and b/test/reference/partial-coverage-three-quarter-reference.traps.argb32.ref.png differ
diff --git a/test/reference/partial-coverage-three-quarter-reference.traps.rgb24.ref.png b/test/reference/partial-coverage-three-quarter-reference.traps.rgb24.ref.png
new file mode 100644
index 0000000..ea16dc4
Binary files /dev/null and b/test/reference/partial-coverage-three-quarter-reference.traps.rgb24.ref.png differ
diff --git a/test/reference/path-append.traps.argb32.ref.png b/test/reference/path-append.traps.argb32.ref.png
new file mode 100644
index 0000000..6fb6b2a
Binary files /dev/null and b/test/reference/path-append.traps.argb32.ref.png differ
diff --git a/test/reference/path-append.traps.rgb24.ref.png b/test/reference/path-append.traps.rgb24.ref.png
new file mode 100644
index 0000000..6fb6b2a
Binary files /dev/null and b/test/reference/path-append.traps.rgb24.ref.png differ
diff --git a/test/reference/path-stroke-twice.traps.argb32.ref.png b/test/reference/path-stroke-twice.traps.argb32.ref.png
new file mode 100644
index 0000000..48dd2c7
Binary files /dev/null and b/test/reference/path-stroke-twice.traps.argb32.ref.png differ
diff --git a/test/reference/path-stroke-twice.traps.rgb24.ref.png b/test/reference/path-stroke-twice.traps.rgb24.ref.png
new file mode 100644
index 0000000..48dd2c7
Binary files /dev/null and b/test/reference/path-stroke-twice.traps.rgb24.ref.png differ
diff --git a/test/reference/pattern-getters.traps.argb32.ref.png b/test/reference/pattern-getters.traps.argb32.ref.png
new file mode 100644
index 0000000..3cc39a8
Binary files /dev/null and b/test/reference/pattern-getters.traps.argb32.ref.png differ
diff --git a/test/reference/pattern-getters.traps.rgb24.ref.png b/test/reference/pattern-getters.traps.rgb24.ref.png
new file mode 100644
index 0000000..3cc39a8
Binary files /dev/null and b/test/reference/pattern-getters.traps.rgb24.ref.png differ
diff --git a/test/reference/pdf-surface-source.traps.argb32.ref.png b/test/reference/pdf-surface-source.traps.argb32.ref.png
new file mode 100644
index 0000000..0182972
Binary files /dev/null and b/test/reference/pdf-surface-source.traps.argb32.ref.png differ
diff --git a/test/reference/pdf-surface-source.traps.rgb24.ref.png b/test/reference/pdf-surface-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..0d68a82
Binary files /dev/null and b/test/reference/pdf-surface-source.traps.rgb24.ref.png differ
diff --git a/test/reference/pixman-rotate.traps.argb32.ref.png b/test/reference/pixman-rotate.traps.argb32.ref.png
new file mode 100644
index 0000000..7e47a4d
Binary files /dev/null and b/test/reference/pixman-rotate.traps.argb32.ref.png differ
diff --git a/test/reference/pixman-rotate.traps.rgb24.ref.png b/test/reference/pixman-rotate.traps.rgb24.ref.png
new file mode 100644
index 0000000..397acbe
Binary files /dev/null and b/test/reference/pixman-rotate.traps.rgb24.ref.png differ
diff --git a/test/reference/ps-surface-source.traps.argb32.ref.png b/test/reference/ps-surface-source.traps.argb32.ref.png
new file mode 100644
index 0000000..0182972
Binary files /dev/null and b/test/reference/ps-surface-source.traps.argb32.ref.png differ
diff --git a/test/reference/ps-surface-source.traps.rgb24.ref.png b/test/reference/ps-surface-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..0d68a82
Binary files /dev/null and b/test/reference/ps-surface-source.traps.rgb24.ref.png differ
diff --git a/test/reference/pthread-same-source.traps.argb32.ref.png b/test/reference/pthread-same-source.traps.argb32.ref.png
new file mode 100644
index 0000000..cfb519d
Binary files /dev/null and b/test/reference/pthread-same-source.traps.argb32.ref.png differ
diff --git a/test/reference/pthread-same-source.traps.rgb24.ref.png b/test/reference/pthread-same-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..cfb519d
Binary files /dev/null and b/test/reference/pthread-same-source.traps.rgb24.ref.png differ
diff --git a/test/reference/pthread-show-text.traps.argb32.ref.png b/test/reference/pthread-show-text.traps.argb32.ref.png
new file mode 100644
index 0000000..efa5fe9
Binary files /dev/null and b/test/reference/pthread-show-text.traps.argb32.ref.png differ
diff --git a/test/reference/pthread-show-text.traps.rgb24.ref.png b/test/reference/pthread-show-text.traps.rgb24.ref.png
new file mode 100644
index 0000000..efa5fe9
Binary files /dev/null and b/test/reference/pthread-show-text.traps.rgb24.ref.png differ
diff --git a/test/reference/pthread-similar.traps.argb32.ref.png b/test/reference/pthread-similar.traps.argb32.ref.png
new file mode 100644
index 0000000..a22210d
Binary files /dev/null and b/test/reference/pthread-similar.traps.argb32.ref.png differ
diff --git a/test/reference/pthread-similar.traps.rgb24.ref.png b/test/reference/pthread-similar.traps.rgb24.ref.png
new file mode 100644
index 0000000..a22210d
Binary files /dev/null and b/test/reference/pthread-similar.traps.rgb24.ref.png differ
diff --git a/test/reference/push-group-color.traps.argb32.ref.png b/test/reference/push-group-color.traps.argb32.ref.png
new file mode 100644
index 0000000..11b1014
Binary files /dev/null and b/test/reference/push-group-color.traps.argb32.ref.png differ
diff --git a/test/reference/push-group-color.traps.rgb24.ref.png b/test/reference/push-group-color.traps.rgb24.ref.png
new file mode 100644
index 0000000..11b1014
Binary files /dev/null and b/test/reference/push-group-color.traps.rgb24.ref.png differ
diff --git a/test/reference/push-group-path-offset.traps.argb32.ref.png b/test/reference/push-group-path-offset.traps.argb32.ref.png
new file mode 100644
index 0000000..b836a91
Binary files /dev/null and b/test/reference/push-group-path-offset.traps.argb32.ref.png differ
diff --git a/test/reference/push-group-path-offset.traps.rgb24.ref.png b/test/reference/push-group-path-offset.traps.rgb24.ref.png
new file mode 100644
index 0000000..b836a91
Binary files /dev/null and b/test/reference/push-group-path-offset.traps.rgb24.ref.png differ
diff --git a/test/reference/push-group.traps.argb32.ref.png b/test/reference/push-group.traps.argb32.ref.png
new file mode 100644
index 0000000..9d27f45
Binary files /dev/null and b/test/reference/push-group.traps.argb32.ref.png differ
diff --git a/test/reference/push-group.traps.rgb24.ref.png b/test/reference/push-group.traps.rgb24.ref.png
new file mode 100644
index 0000000..e19694f
Binary files /dev/null and b/test/reference/push-group.traps.rgb24.ref.png differ
diff --git a/test/reference/radial-gradient-extend.traps.argb32.ref.png b/test/reference/radial-gradient-extend.traps.argb32.ref.png
new file mode 100644
index 0000000..3d7de5e
Binary files /dev/null and b/test/reference/radial-gradient-extend.traps.argb32.ref.png differ
diff --git a/test/reference/radial-gradient-extend.traps.rgb24.ref.png b/test/reference/radial-gradient-extend.traps.rgb24.ref.png
new file mode 100644
index 0000000..3d7de5e
Binary files /dev/null and b/test/reference/radial-gradient-extend.traps.rgb24.ref.png differ
diff --git a/test/reference/radial-gradient-mask-source.rgb24.ref.png b/test/reference/radial-gradient-mask-source.rgb24.ref.png
deleted file mode 100644
index 5533519..0000000
Binary files a/test/reference/radial-gradient-mask-source.rgb24.ref.png and /dev/null differ
diff --git a/test/reference/radial-gradient-mask-source.traps.argb32.ref.png b/test/reference/radial-gradient-mask-source.traps.argb32.ref.png
new file mode 100644
index 0000000..2bf65b3
Binary files /dev/null and b/test/reference/radial-gradient-mask-source.traps.argb32.ref.png differ
diff --git a/test/reference/radial-gradient-mask-source.traps.rgb24.ref.png b/test/reference/radial-gradient-mask-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..5748d82
Binary files /dev/null and b/test/reference/radial-gradient-mask-source.traps.rgb24.ref.png differ
diff --git a/test/reference/radial-gradient-mask.traps.argb32.ref.png b/test/reference/radial-gradient-mask.traps.argb32.ref.png
new file mode 100644
index 0000000..4db39aa
Binary files /dev/null and b/test/reference/radial-gradient-mask.traps.argb32.ref.png differ
diff --git a/test/reference/radial-gradient-mask.traps.rgb24.ref.png b/test/reference/radial-gradient-mask.traps.rgb24.ref.png
new file mode 100644
index 0000000..4db39aa
Binary files /dev/null and b/test/reference/radial-gradient-mask.traps.rgb24.ref.png differ
diff --git a/test/reference/radial-gradient-one-stop.traps.argb32.ref.png b/test/reference/radial-gradient-one-stop.traps.argb32.ref.png
new file mode 100644
index 0000000..fb35be6
Binary files /dev/null and b/test/reference/radial-gradient-one-stop.traps.argb32.ref.png differ
diff --git a/test/reference/radial-gradient-one-stop.traps.rgb24.ref.png b/test/reference/radial-gradient-one-stop.traps.rgb24.ref.png
new file mode 100644
index 0000000..fb35be6
Binary files /dev/null and b/test/reference/radial-gradient-one-stop.traps.rgb24.ref.png differ
diff --git a/test/reference/radial-gradient-source.traps.argb32.ref.png b/test/reference/radial-gradient-source.traps.argb32.ref.png
new file mode 100644
index 0000000..4ab4796
Binary files /dev/null and b/test/reference/radial-gradient-source.traps.argb32.ref.png differ
diff --git a/test/reference/radial-gradient-source.traps.rgb24.ref.png b/test/reference/radial-gradient-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..afaa241
Binary files /dev/null and b/test/reference/radial-gradient-source.traps.rgb24.ref.png differ
diff --git a/test/reference/radial-gradient.traps.argb32.ref.png b/test/reference/radial-gradient.traps.argb32.ref.png
new file mode 100644
index 0000000..a2cbbc8
Binary files /dev/null and b/test/reference/radial-gradient.traps.argb32.ref.png differ
diff --git a/test/reference/radial-gradient.traps.rgb24.ref.png b/test/reference/radial-gradient.traps.rgb24.ref.png
new file mode 100644
index 0000000..a2cbbc8
Binary files /dev/null and b/test/reference/radial-gradient.traps.rgb24.ref.png differ
diff --git a/test/reference/random-clip.traps.argb32.ref.png b/test/reference/random-clip.traps.argb32.ref.png
new file mode 100644
index 0000000..573d638
Binary files /dev/null and b/test/reference/random-clip.traps.argb32.ref.png differ
diff --git a/test/reference/random-clip.traps.rgb24.ref.png b/test/reference/random-clip.traps.rgb24.ref.png
new file mode 100644
index 0000000..573d638
Binary files /dev/null and b/test/reference/random-clip.traps.rgb24.ref.png differ
diff --git a/test/reference/random-intersections-curves-eo.traps.argb32.ref.png b/test/reference/random-intersections-curves-eo.traps.argb32.ref.png
new file mode 100644
index 0000000..ee10cb4
Binary files /dev/null and b/test/reference/random-intersections-curves-eo.traps.argb32.ref.png differ
diff --git a/test/reference/random-intersections-curves-eo.traps.rgb24.ref.png b/test/reference/random-intersections-curves-eo.traps.rgb24.ref.png
new file mode 100644
index 0000000..ee10cb4
Binary files /dev/null and b/test/reference/random-intersections-curves-eo.traps.rgb24.ref.png differ
diff --git a/test/reference/random-intersections-curves-nz.traps.argb32.ref.png b/test/reference/random-intersections-curves-nz.traps.argb32.ref.png
new file mode 100644
index 0000000..77f8129
Binary files /dev/null and b/test/reference/random-intersections-curves-nz.traps.argb32.ref.png differ
diff --git a/test/reference/random-intersections-curves-nz.traps.rgb24.ref.png b/test/reference/random-intersections-curves-nz.traps.rgb24.ref.png
new file mode 100644
index 0000000..77f8129
Binary files /dev/null and b/test/reference/random-intersections-curves-nz.traps.rgb24.ref.png differ
diff --git a/test/reference/random-intersections-eo.traps.argb32.ref.png b/test/reference/random-intersections-eo.traps.argb32.ref.png
new file mode 100644
index 0000000..037f926
Binary files /dev/null and b/test/reference/random-intersections-eo.traps.argb32.ref.png differ
diff --git a/test/reference/random-intersections-eo.traps.rgb24.ref.png b/test/reference/random-intersections-eo.traps.rgb24.ref.png
new file mode 100644
index 0000000..037f926
Binary files /dev/null and b/test/reference/random-intersections-eo.traps.rgb24.ref.png differ
diff --git a/test/reference/random-intersections-nonzero.traps.argb32.ref.png b/test/reference/random-intersections-nonzero.traps.argb32.ref.png
new file mode 100644
index 0000000..7eb9a0a
Binary files /dev/null and b/test/reference/random-intersections-nonzero.traps.argb32.ref.png differ
diff --git a/test/reference/random-intersections-nonzero.traps.rgb24.ref.png b/test/reference/random-intersections-nonzero.traps.rgb24.ref.png
new file mode 100644
index 0000000..7eb9a0a
Binary files /dev/null and b/test/reference/random-intersections-nonzero.traps.rgb24.ref.png differ
diff --git a/test/reference/record-extend-none-similar.traps.argb32.ref.png b/test/reference/record-extend-none-similar.traps.argb32.ref.png
new file mode 100644
index 0000000..d63c31c
Binary files /dev/null and b/test/reference/record-extend-none-similar.traps.argb32.ref.png differ
diff --git a/test/reference/record-extend-none-similar.traps.rgb24.ref.png b/test/reference/record-extend-none-similar.traps.rgb24.ref.png
new file mode 100644
index 0000000..d63c31c
Binary files /dev/null and b/test/reference/record-extend-none-similar.traps.rgb24.ref.png differ
diff --git a/test/reference/record-extend-none.traps.argb32.ref.png b/test/reference/record-extend-none.traps.argb32.ref.png
new file mode 100644
index 0000000..d63c31c
Binary files /dev/null and b/test/reference/record-extend-none.traps.argb32.ref.png differ
diff --git a/test/reference/record-extend-none.traps.rgb24.ref.png b/test/reference/record-extend-none.traps.rgb24.ref.png
new file mode 100644
index 0000000..d63c31c
Binary files /dev/null and b/test/reference/record-extend-none.traps.rgb24.ref.png differ
diff --git a/test/reference/record-extend-pad-similar.traps.argb32.ref.png b/test/reference/record-extend-pad-similar.traps.argb32.ref.png
new file mode 100644
index 0000000..1291525
Binary files /dev/null and b/test/reference/record-extend-pad-similar.traps.argb32.ref.png differ
diff --git a/test/reference/record-extend-pad-similar.traps.rgb24.ref.png b/test/reference/record-extend-pad-similar.traps.rgb24.ref.png
new file mode 100644
index 0000000..1291525
Binary files /dev/null and b/test/reference/record-extend-pad-similar.traps.rgb24.ref.png differ
diff --git a/test/reference/record-extend-pad.traps.argb32.ref.png b/test/reference/record-extend-pad.traps.argb32.ref.png
new file mode 100644
index 0000000..1291525
Binary files /dev/null and b/test/reference/record-extend-pad.traps.argb32.ref.png differ
diff --git a/test/reference/record-extend-pad.traps.rgb24.ref.png b/test/reference/record-extend-pad.traps.rgb24.ref.png
new file mode 100644
index 0000000..1291525
Binary files /dev/null and b/test/reference/record-extend-pad.traps.rgb24.ref.png differ
diff --git a/test/reference/record-extend-reflect-similar.traps.argb32.ref.png b/test/reference/record-extend-reflect-similar.traps.argb32.ref.png
new file mode 100644
index 0000000..aec5c94
Binary files /dev/null and b/test/reference/record-extend-reflect-similar.traps.argb32.ref.png differ
diff --git a/test/reference/record-extend-reflect-similar.traps.rgb24.ref.png b/test/reference/record-extend-reflect-similar.traps.rgb24.ref.png
new file mode 100644
index 0000000..aec5c94
Binary files /dev/null and b/test/reference/record-extend-reflect-similar.traps.rgb24.ref.png differ
diff --git a/test/reference/record-extend-reflect.traps.argb32.ref.png b/test/reference/record-extend-reflect.traps.argb32.ref.png
new file mode 100644
index 0000000..aec5c94
Binary files /dev/null and b/test/reference/record-extend-reflect.traps.argb32.ref.png differ
diff --git a/test/reference/record-extend-reflect.traps.rgb24.ref.png b/test/reference/record-extend-reflect.traps.rgb24.ref.png
new file mode 100644
index 0000000..aec5c94
Binary files /dev/null and b/test/reference/record-extend-reflect.traps.rgb24.ref.png differ
diff --git a/test/reference/record-extend-repeat-similar.traps.argb32.ref.png b/test/reference/record-extend-repeat-similar.traps.argb32.ref.png
new file mode 100644
index 0000000..d4db9bf
Binary files /dev/null and b/test/reference/record-extend-repeat-similar.traps.argb32.ref.png differ
diff --git a/test/reference/record-extend-repeat-similar.traps.rgb24.ref.png b/test/reference/record-extend-repeat-similar.traps.rgb24.ref.png
new file mode 100644
index 0000000..d4db9bf
Binary files /dev/null and b/test/reference/record-extend-repeat-similar.traps.rgb24.ref.png differ
diff --git a/test/reference/record-extend-repeat.traps.argb32.ref.png b/test/reference/record-extend-repeat.traps.argb32.ref.png
new file mode 100644
index 0000000..d4db9bf
Binary files /dev/null and b/test/reference/record-extend-repeat.traps.argb32.ref.png differ
diff --git a/test/reference/record-extend-repeat.traps.rgb24.ref.png b/test/reference/record-extend-repeat.traps.rgb24.ref.png
new file mode 100644
index 0000000..d4db9bf
Binary files /dev/null and b/test/reference/record-extend-repeat.traps.rgb24.ref.png differ
diff --git a/test/reference/record-fill-alpha.traps.argb32.ref.png b/test/reference/record-fill-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..85df919
Binary files /dev/null and b/test/reference/record-fill-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/record-fill-alpha.traps.rgb24.ref.png b/test/reference/record-fill-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..85df919
Binary files /dev/null and b/test/reference/record-fill-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/record-mesh.traps.argb32.ref.png b/test/reference/record-mesh.traps.argb32.ref.png
new file mode 100644
index 0000000..4921ba3
Binary files /dev/null and b/test/reference/record-mesh.traps.argb32.ref.png differ
diff --git a/test/reference/record-mesh.traps.rgb24.ref.png b/test/reference/record-mesh.traps.rgb24.ref.png
new file mode 100644
index 0000000..4921ba3
Binary files /dev/null and b/test/reference/record-mesh.traps.rgb24.ref.png differ
diff --git a/test/reference/record-paint-alpha-clip-mask.traps.argb32.ref.png b/test/reference/record-paint-alpha-clip-mask.traps.argb32.ref.png
new file mode 100644
index 0000000..201bd0d
Binary files /dev/null and b/test/reference/record-paint-alpha-clip-mask.traps.argb32.ref.png differ
diff --git a/test/reference/record-paint-alpha-clip-mask.traps.rgb24.ref.png b/test/reference/record-paint-alpha-clip-mask.traps.rgb24.ref.png
new file mode 100644
index 0000000..201bd0d
Binary files /dev/null and b/test/reference/record-paint-alpha-clip-mask.traps.rgb24.ref.png differ
diff --git a/test/reference/record-paint-alpha-clip.traps.argb32.ref.png b/test/reference/record-paint-alpha-clip.traps.argb32.ref.png
new file mode 100644
index 0000000..c1da67e
Binary files /dev/null and b/test/reference/record-paint-alpha-clip.traps.argb32.ref.png differ
diff --git a/test/reference/record-paint-alpha-clip.traps.rgb24.ref.png b/test/reference/record-paint-alpha-clip.traps.rgb24.ref.png
new file mode 100644
index 0000000..c1da67e
Binary files /dev/null and b/test/reference/record-paint-alpha-clip.traps.rgb24.ref.png differ
diff --git a/test/reference/record-paint-alpha-solid-clip.traps.argb32.ref.png b/test/reference/record-paint-alpha-solid-clip.traps.argb32.ref.png
new file mode 100644
index 0000000..2cd2df2
Binary files /dev/null and b/test/reference/record-paint-alpha-solid-clip.traps.argb32.ref.png differ
diff --git a/test/reference/record-paint-alpha-solid-clip.traps.rgb24.ref.png b/test/reference/record-paint-alpha-solid-clip.traps.rgb24.ref.png
new file mode 100644
index 0000000..2cd2df2
Binary files /dev/null and b/test/reference/record-paint-alpha-solid-clip.traps.rgb24.ref.png differ
diff --git a/test/reference/record-paint-alpha.traps.argb32.ref.png b/test/reference/record-paint-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..65d9c17
Binary files /dev/null and b/test/reference/record-paint-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/record-paint-alpha.traps.rgb24.ref.png b/test/reference/record-paint-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..65d9c17
Binary files /dev/null and b/test/reference/record-paint-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/record-paint.traps.argb32.ref.png b/test/reference/record-paint.traps.argb32.ref.png
new file mode 100644
index 0000000..22cc7a1
Binary files /dev/null and b/test/reference/record-paint.traps.argb32.ref.png differ
diff --git a/test/reference/record-paint.traps.rgb24.ref.png b/test/reference/record-paint.traps.rgb24.ref.png
new file mode 100644
index 0000000..22cc7a1
Binary files /dev/null and b/test/reference/record-paint.traps.rgb24.ref.png differ
diff --git a/test/reference/recording-surface-extend-none.traps.argb32.ref.png b/test/reference/recording-surface-extend-none.traps.argb32.ref.png
new file mode 100644
index 0000000..d612250
Binary files /dev/null and b/test/reference/recording-surface-extend-none.traps.argb32.ref.png differ
diff --git a/test/reference/recording-surface-extend-none.traps.rgb24.ref.png b/test/reference/recording-surface-extend-none.traps.rgb24.ref.png
new file mode 100644
index 0000000..0a57b44
Binary files /dev/null and b/test/reference/recording-surface-extend-none.traps.rgb24.ref.png differ
diff --git a/test/reference/recording-surface-extend-pad.traps.argb32.ref.png b/test/reference/recording-surface-extend-pad.traps.argb32.ref.png
new file mode 100644
index 0000000..7ec94c5
Binary files /dev/null and b/test/reference/recording-surface-extend-pad.traps.argb32.ref.png differ
diff --git a/test/reference/recording-surface-extend-pad.traps.rgb24.ref.png b/test/reference/recording-surface-extend-pad.traps.rgb24.ref.png
new file mode 100644
index 0000000..8a064cd
Binary files /dev/null and b/test/reference/recording-surface-extend-pad.traps.rgb24.ref.png differ
diff --git a/test/reference/recording-surface-extend-reflect.traps.argb32.ref.png b/test/reference/recording-surface-extend-reflect.traps.argb32.ref.png
new file mode 100644
index 0000000..4699d42
Binary files /dev/null and b/test/reference/recording-surface-extend-reflect.traps.argb32.ref.png differ
diff --git a/test/reference/recording-surface-extend-reflect.traps.rgb24.ref.png b/test/reference/recording-surface-extend-reflect.traps.rgb24.ref.png
new file mode 100644
index 0000000..4975d75
Binary files /dev/null and b/test/reference/recording-surface-extend-reflect.traps.rgb24.ref.png differ
diff --git a/test/reference/recording-surface-extend-repeat.traps.argb32.ref.png b/test/reference/recording-surface-extend-repeat.traps.argb32.ref.png
new file mode 100644
index 0000000..305c022
Binary files /dev/null and b/test/reference/recording-surface-extend-repeat.traps.argb32.ref.png differ
diff --git a/test/reference/recording-surface-extend-repeat.traps.rgb24.ref.png b/test/reference/recording-surface-extend-repeat.traps.rgb24.ref.png
new file mode 100644
index 0000000..c3e296c
Binary files /dev/null and b/test/reference/recording-surface-extend-repeat.traps.rgb24.ref.png differ
diff --git a/test/reference/recording-surface-over.traps.argb32.ref.png b/test/reference/recording-surface-over.traps.argb32.ref.png
new file mode 100644
index 0000000..d612250
Binary files /dev/null and b/test/reference/recording-surface-over.traps.argb32.ref.png differ
diff --git a/test/reference/recording-surface-over.traps.rgb24.ref.png b/test/reference/recording-surface-over.traps.rgb24.ref.png
new file mode 100644
index 0000000..0a57b44
Binary files /dev/null and b/test/reference/recording-surface-over.traps.rgb24.ref.png differ
diff --git a/test/reference/recording-surface-source.traps.argb32.ref.png b/test/reference/recording-surface-source.traps.argb32.ref.png
new file mode 100644
index 0000000..3fe1057
Binary files /dev/null and b/test/reference/recording-surface-source.traps.argb32.ref.png differ
diff --git a/test/reference/recording-surface-source.traps.rgb24.ref.png b/test/reference/recording-surface-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..d2605bd
Binary files /dev/null and b/test/reference/recording-surface-source.traps.rgb24.ref.png differ
diff --git a/test/reference/rectangle-rounding-error.traps.argb32.ref.png b/test/reference/rectangle-rounding-error.traps.argb32.ref.png
new file mode 100644
index 0000000..6cc1b21
Binary files /dev/null and b/test/reference/rectangle-rounding-error.traps.argb32.ref.png differ
diff --git a/test/reference/rectangle-rounding-error.traps.rgb24.ref.png b/test/reference/rectangle-rounding-error.traps.rgb24.ref.png
new file mode 100644
index 0000000..6cc1b21
Binary files /dev/null and b/test/reference/rectangle-rounding-error.traps.rgb24.ref.png differ
diff --git a/test/reference/rectilinear-dash.traps.argb32.ref.png b/test/reference/rectilinear-dash.traps.argb32.ref.png
new file mode 100644
index 0000000..33e7851
Binary files /dev/null and b/test/reference/rectilinear-dash.traps.argb32.ref.png differ
diff --git a/test/reference/rectilinear-dash.traps.rgb24.ref.png b/test/reference/rectilinear-dash.traps.rgb24.ref.png
new file mode 100644
index 0000000..33e7851
Binary files /dev/null and b/test/reference/rectilinear-dash.traps.rgb24.ref.png differ
diff --git a/test/reference/rectilinear-fill.traps.argb32.ref.png b/test/reference/rectilinear-fill.traps.argb32.ref.png
new file mode 100644
index 0000000..dbaf383
Binary files /dev/null and b/test/reference/rectilinear-fill.traps.argb32.ref.png differ
diff --git a/test/reference/rectilinear-fill.traps.rgb24.ref.png b/test/reference/rectilinear-fill.traps.rgb24.ref.png
new file mode 100644
index 0000000..dbaf383
Binary files /dev/null and b/test/reference/rectilinear-fill.traps.rgb24.ref.png differ
diff --git a/test/reference/rectilinear-grid.traps.argb32.ref.png b/test/reference/rectilinear-grid.traps.argb32.ref.png
new file mode 100644
index 0000000..7176cb4
Binary files /dev/null and b/test/reference/rectilinear-grid.traps.argb32.ref.png differ
diff --git a/test/reference/rectilinear-grid.traps.rgb24.ref.png b/test/reference/rectilinear-grid.traps.rgb24.ref.png
new file mode 100644
index 0000000..7176cb4
Binary files /dev/null and b/test/reference/rectilinear-grid.traps.rgb24.ref.png differ
diff --git a/test/reference/rectilinear-miter-limit.traps.argb32.ref.png b/test/reference/rectilinear-miter-limit.traps.argb32.ref.png
new file mode 100644
index 0000000..ddf7570
Binary files /dev/null and b/test/reference/rectilinear-miter-limit.traps.argb32.ref.png differ
diff --git a/test/reference/rectilinear-miter-limit.traps.rgb24.ref.png b/test/reference/rectilinear-miter-limit.traps.rgb24.ref.png
new file mode 100644
index 0000000..ddf7570
Binary files /dev/null and b/test/reference/rectilinear-miter-limit.traps.rgb24.ref.png differ
diff --git a/test/reference/rectilinear-stroke.traps.argb32.ref.png b/test/reference/rectilinear-stroke.traps.argb32.ref.png
new file mode 100644
index 0000000..260909b
Binary files /dev/null and b/test/reference/rectilinear-stroke.traps.argb32.ref.png differ
diff --git a/test/reference/rectilinear-stroke.traps.rgb24.ref.png b/test/reference/rectilinear-stroke.traps.rgb24.ref.png
new file mode 100644
index 0000000..260909b
Binary files /dev/null and b/test/reference/rectilinear-stroke.traps.rgb24.ref.png differ
diff --git a/test/reference/reflected-stroke.traps.argb32.ref.png b/test/reference/reflected-stroke.traps.argb32.ref.png
new file mode 100644
index 0000000..c7112d2
Binary files /dev/null and b/test/reference/reflected-stroke.traps.argb32.ref.png differ
diff --git a/test/reference/reflected-stroke.traps.rgb24.ref.png b/test/reference/reflected-stroke.traps.rgb24.ref.png
new file mode 100644
index 0000000..c7112d2
Binary files /dev/null and b/test/reference/reflected-stroke.traps.rgb24.ref.png differ
diff --git a/test/reference/rel-path.traps.argb32.ref.png b/test/reference/rel-path.traps.argb32.ref.png
new file mode 100644
index 0000000..5c9cf21
Binary files /dev/null and b/test/reference/rel-path.traps.argb32.ref.png differ
diff --git a/test/reference/rel-path.traps.rgb24.ref.png b/test/reference/rel-path.traps.rgb24.ref.png
new file mode 100644
index 0000000..72e975a
Binary files /dev/null and b/test/reference/rel-path.traps.rgb24.ref.png differ
diff --git a/test/reference/rgb24-ignore-alpha.traps.argb32.ref.png b/test/reference/rgb24-ignore-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..922eddd
Binary files /dev/null and b/test/reference/rgb24-ignore-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/rgb24-ignore-alpha.traps.rgb24.ref.png b/test/reference/rgb24-ignore-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..922eddd
Binary files /dev/null and b/test/reference/rgb24-ignore-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/rotate-clip-image-surface-paint.traps.argb32.ref.png b/test/reference/rotate-clip-image-surface-paint.traps.argb32.ref.png
new file mode 100644
index 0000000..9d991d9
Binary files /dev/null and b/test/reference/rotate-clip-image-surface-paint.traps.argb32.ref.png differ
diff --git a/test/reference/rotate-clip-image-surface-paint.traps.rgb24.ref.png b/test/reference/rotate-clip-image-surface-paint.traps.rgb24.ref.png
new file mode 100644
index 0000000..9d991d9
Binary files /dev/null and b/test/reference/rotate-clip-image-surface-paint.traps.rgb24.ref.png differ
diff --git a/test/reference/rotate-image-surface-paint.traps.argb32.ref.png b/test/reference/rotate-image-surface-paint.traps.argb32.ref.png
new file mode 100644
index 0000000..06a4820
Binary files /dev/null and b/test/reference/rotate-image-surface-paint.traps.argb32.ref.png differ
diff --git a/test/reference/rotate-image-surface-paint.traps.rgb24.ref.png b/test/reference/rotate-image-surface-paint.traps.rgb24.ref.png
new file mode 100644
index 0000000..06a4820
Binary files /dev/null and b/test/reference/rotate-image-surface-paint.traps.rgb24.ref.png differ
diff --git a/test/reference/rotated-clip.traps.argb32.ref.png b/test/reference/rotated-clip.traps.argb32.ref.png
new file mode 100644
index 0000000..ca0f0af
Binary files /dev/null and b/test/reference/rotated-clip.traps.argb32.ref.png differ
diff --git a/test/reference/rotated-clip.traps.rgb24.ref.png b/test/reference/rotated-clip.traps.rgb24.ref.png
new file mode 100644
index 0000000..ca0f0af
Binary files /dev/null and b/test/reference/rotated-clip.traps.rgb24.ref.png differ
diff --git a/test/reference/rounded-rectangle-fill.traps.argb32.ref.png b/test/reference/rounded-rectangle-fill.traps.argb32.ref.png
new file mode 100644
index 0000000..52a355d
Binary files /dev/null and b/test/reference/rounded-rectangle-fill.traps.argb32.ref.png differ
diff --git a/test/reference/rounded-rectangle-fill.traps.rgb24.ref.png b/test/reference/rounded-rectangle-fill.traps.rgb24.ref.png
new file mode 100644
index 0000000..52a355d
Binary files /dev/null and b/test/reference/rounded-rectangle-fill.traps.rgb24.ref.png differ
diff --git a/test/reference/rounded-rectangle-stroke.traps.argb32.ref.png b/test/reference/rounded-rectangle-stroke.traps.argb32.ref.png
new file mode 100644
index 0000000..02651dc
Binary files /dev/null and b/test/reference/rounded-rectangle-stroke.traps.argb32.ref.png differ
diff --git a/test/reference/rounded-rectangle-stroke.traps.rgb24.ref.png b/test/reference/rounded-rectangle-stroke.traps.rgb24.ref.png
new file mode 100644
index 0000000..02651dc
Binary files /dev/null and b/test/reference/rounded-rectangle-stroke.traps.rgb24.ref.png differ
diff --git a/test/reference/scale-down-source-surface-paint.traps.argb32.ref.png b/test/reference/scale-down-source-surface-paint.traps.argb32.ref.png
new file mode 100644
index 0000000..7477094
Binary files /dev/null and b/test/reference/scale-down-source-surface-paint.traps.argb32.ref.png differ
diff --git a/test/reference/scale-down-source-surface-paint.traps.rgb24.ref.png b/test/reference/scale-down-source-surface-paint.traps.rgb24.ref.png
new file mode 100644
index 0000000..7477094
Binary files /dev/null and b/test/reference/scale-down-source-surface-paint.traps.rgb24.ref.png differ
diff --git a/test/reference/scale-offset-image.traps.argb32.ref.png b/test/reference/scale-offset-image.traps.argb32.ref.png
new file mode 100644
index 0000000..19cd614
Binary files /dev/null and b/test/reference/scale-offset-image.traps.argb32.ref.png differ
diff --git a/test/reference/scale-offset-image.traps.rgb24.ref.png b/test/reference/scale-offset-image.traps.rgb24.ref.png
new file mode 100644
index 0000000..19cd614
Binary files /dev/null and b/test/reference/scale-offset-image.traps.rgb24.ref.png differ
diff --git a/test/reference/scale-offset-similar.traps.argb32.ref.png b/test/reference/scale-offset-similar.traps.argb32.ref.png
new file mode 100644
index 0000000..19cd614
Binary files /dev/null and b/test/reference/scale-offset-similar.traps.argb32.ref.png differ
diff --git a/test/reference/scale-offset-similar.traps.rgb24.ref.png b/test/reference/scale-offset-similar.traps.rgb24.ref.png
new file mode 100644
index 0000000..19cd614
Binary files /dev/null and b/test/reference/scale-offset-similar.traps.rgb24.ref.png differ
diff --git a/test/reference/scale-source-surface-paint.traps.argb32.ref.png b/test/reference/scale-source-surface-paint.traps.argb32.ref.png
new file mode 100644
index 0000000..e159d15
Binary files /dev/null and b/test/reference/scale-source-surface-paint.traps.argb32.ref.png differ
diff --git a/test/reference/scale-source-surface-paint.traps.rgb24.ref.png b/test/reference/scale-source-surface-paint.traps.rgb24.ref.png
new file mode 100644
index 0000000..3491a7c
Binary files /dev/null and b/test/reference/scale-source-surface-paint.traps.rgb24.ref.png differ
diff --git a/test/reference/select-font-face.traps.argb32.ref.png b/test/reference/select-font-face.traps.argb32.ref.png
new file mode 100644
index 0000000..be89d71
Binary files /dev/null and b/test/reference/select-font-face.traps.argb32.ref.png differ
diff --git a/test/reference/select-font-face.traps.rgb24.ref.png b/test/reference/select-font-face.traps.rgb24.ref.png
new file mode 100644
index 0000000..be89d71
Binary files /dev/null and b/test/reference/select-font-face.traps.rgb24.ref.png differ
diff --git a/test/reference/self-copy-overlap.traps.argb32.ref.png b/test/reference/self-copy-overlap.traps.argb32.ref.png
new file mode 100644
index 0000000..a70e819
Binary files /dev/null and b/test/reference/self-copy-overlap.traps.argb32.ref.png differ
diff --git a/test/reference/self-copy-overlap.traps.rgb24.ref.png b/test/reference/self-copy-overlap.traps.rgb24.ref.png
new file mode 100644
index 0000000..e9cd7b5
Binary files /dev/null and b/test/reference/self-copy-overlap.traps.rgb24.ref.png differ
diff --git a/test/reference/self-copy.traps.argb32.ref.png b/test/reference/self-copy.traps.argb32.ref.png
new file mode 100644
index 0000000..daa4dcb
Binary files /dev/null and b/test/reference/self-copy.traps.argb32.ref.png differ
diff --git a/test/reference/self-copy.traps.rgb24.ref.png b/test/reference/self-copy.traps.rgb24.ref.png
new file mode 100644
index 0000000..daa4dcb
Binary files /dev/null and b/test/reference/self-copy.traps.rgb24.ref.png differ
diff --git a/test/reference/self-intersecting.traps.argb32.ref.png b/test/reference/self-intersecting.traps.argb32.ref.png
new file mode 100644
index 0000000..f0068e6
Binary files /dev/null and b/test/reference/self-intersecting.traps.argb32.ref.png differ
diff --git a/test/reference/self-intersecting.traps.rgb24.ref.png b/test/reference/self-intersecting.traps.rgb24.ref.png
new file mode 100644
index 0000000..f0068e6
Binary files /dev/null and b/test/reference/self-intersecting.traps.rgb24.ref.png differ
diff --git a/test/reference/set-source.traps.argb32.ref.png b/test/reference/set-source.traps.argb32.ref.png
new file mode 100644
index 0000000..222b372
Binary files /dev/null and b/test/reference/set-source.traps.argb32.ref.png differ
diff --git a/test/reference/set-source.traps.rgb24.ref.png b/test/reference/set-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..5e13c82
Binary files /dev/null and b/test/reference/set-source.traps.rgb24.ref.png differ
diff --git a/test/reference/shape-general-convex.traps.argb32.ref.png b/test/reference/shape-general-convex.traps.argb32.ref.png
new file mode 100644
index 0000000..fc2d3f0
Binary files /dev/null and b/test/reference/shape-general-convex.traps.argb32.ref.png differ
diff --git a/test/reference/shape-general-convex.traps.rgb24.ref.png b/test/reference/shape-general-convex.traps.rgb24.ref.png
new file mode 100644
index 0000000..fc2d3f0
Binary files /dev/null and b/test/reference/shape-general-convex.traps.rgb24.ref.png differ
diff --git a/test/reference/shape-sierpinski.traps.argb32.ref.png b/test/reference/shape-sierpinski.traps.argb32.ref.png
new file mode 100644
index 0000000..69755d2
Binary files /dev/null and b/test/reference/shape-sierpinski.traps.argb32.ref.png differ
diff --git a/test/reference/shape-sierpinski.traps.rgb24.ref.png b/test/reference/shape-sierpinski.traps.rgb24.ref.png
new file mode 100644
index 0000000..69755d2
Binary files /dev/null and b/test/reference/shape-sierpinski.traps.rgb24.ref.png differ
diff --git a/test/reference/show-glyphs-advance.traps.argb32.ref.png b/test/reference/show-glyphs-advance.traps.argb32.ref.png
new file mode 100644
index 0000000..e784099
Binary files /dev/null and b/test/reference/show-glyphs-advance.traps.argb32.ref.png differ
diff --git a/test/reference/show-glyphs-advance.traps.rgb24.ref.png b/test/reference/show-glyphs-advance.traps.rgb24.ref.png
new file mode 100644
index 0000000..e784099
Binary files /dev/null and b/test/reference/show-glyphs-advance.traps.rgb24.ref.png differ
diff --git a/test/reference/show-glyphs-many.traps.argb32.ref.png b/test/reference/show-glyphs-many.traps.argb32.ref.png
new file mode 100644
index 0000000..b638015
Binary files /dev/null and b/test/reference/show-glyphs-many.traps.argb32.ref.png differ
diff --git a/test/reference/show-glyphs-many.traps.rgb24.ref.png b/test/reference/show-glyphs-many.traps.rgb24.ref.png
new file mode 100644
index 0000000..b638015
Binary files /dev/null and b/test/reference/show-glyphs-many.traps.rgb24.ref.png differ
diff --git a/test/reference/show-text-current-point.traps.argb32.ref.png b/test/reference/show-text-current-point.traps.argb32.ref.png
new file mode 100644
index 0000000..b2ee5b2
Binary files /dev/null and b/test/reference/show-text-current-point.traps.argb32.ref.png differ
diff --git a/test/reference/show-text-current-point.traps.rgb24.ref.png b/test/reference/show-text-current-point.traps.rgb24.ref.png
new file mode 100644
index 0000000..b2ee5b2
Binary files /dev/null and b/test/reference/show-text-current-point.traps.rgb24.ref.png differ
diff --git a/test/reference/skew-extreme.traps.argb32.ref.png b/test/reference/skew-extreme.traps.argb32.ref.png
new file mode 100644
index 0000000..5e00606
Binary files /dev/null and b/test/reference/skew-extreme.traps.argb32.ref.png differ
diff --git a/test/reference/skew-extreme.traps.rgb24.ref.png b/test/reference/skew-extreme.traps.rgb24.ref.png
new file mode 100644
index 0000000..5e00606
Binary files /dev/null and b/test/reference/skew-extreme.traps.rgb24.ref.png differ
diff --git a/test/reference/smask-fill.traps.argb32.ref.png b/test/reference/smask-fill.traps.argb32.ref.png
new file mode 100644
index 0000000..30bc98e
Binary files /dev/null and b/test/reference/smask-fill.traps.argb32.ref.png differ
diff --git a/test/reference/smask-fill.traps.rgb24.ref.png b/test/reference/smask-fill.traps.rgb24.ref.png
new file mode 100644
index 0000000..30bc98e
Binary files /dev/null and b/test/reference/smask-fill.traps.rgb24.ref.png differ
diff --git a/test/reference/smask-image-mask.traps.argb32.ref.png b/test/reference/smask-image-mask.traps.argb32.ref.png
new file mode 100644
index 0000000..12063bd
Binary files /dev/null and b/test/reference/smask-image-mask.traps.argb32.ref.png differ
diff --git a/test/reference/smask-image-mask.traps.rgb24.ref.png b/test/reference/smask-image-mask.traps.rgb24.ref.png
new file mode 100644
index 0000000..12063bd
Binary files /dev/null and b/test/reference/smask-image-mask.traps.rgb24.ref.png differ
diff --git a/test/reference/smask-mask.traps.argb32.ref.png b/test/reference/smask-mask.traps.argb32.ref.png
new file mode 100644
index 0000000..80329c2
Binary files /dev/null and b/test/reference/smask-mask.traps.argb32.ref.png differ
diff --git a/test/reference/smask-mask.traps.rgb24.ref.png b/test/reference/smask-mask.traps.rgb24.ref.png
new file mode 100644
index 0000000..80329c2
Binary files /dev/null and b/test/reference/smask-mask.traps.rgb24.ref.png differ
diff --git a/test/reference/smask-paint.traps.argb32.ref.png b/test/reference/smask-paint.traps.argb32.ref.png
new file mode 100644
index 0000000..95af29a
Binary files /dev/null and b/test/reference/smask-paint.traps.argb32.ref.png differ
diff --git a/test/reference/smask-paint.traps.rgb24.ref.png b/test/reference/smask-paint.traps.rgb24.ref.png
new file mode 100644
index 0000000..95af29a
Binary files /dev/null and b/test/reference/smask-paint.traps.rgb24.ref.png differ
diff --git a/test/reference/smask-stroke.traps.argb32.ref.png b/test/reference/smask-stroke.traps.argb32.ref.png
new file mode 100644
index 0000000..c6a557d
Binary files /dev/null and b/test/reference/smask-stroke.traps.argb32.ref.png differ
diff --git a/test/reference/smask-stroke.traps.rgb24.ref.png b/test/reference/smask-stroke.traps.rgb24.ref.png
new file mode 100644
index 0000000..c6a557d
Binary files /dev/null and b/test/reference/smask-stroke.traps.rgb24.ref.png differ
diff --git a/test/reference/smask-text.traps.argb32.ref.png b/test/reference/smask-text.traps.argb32.ref.png
new file mode 100644
index 0000000..c570259
Binary files /dev/null and b/test/reference/smask-text.traps.argb32.ref.png differ
diff --git a/test/reference/smask-text.traps.rgb24.ref.png b/test/reference/smask-text.traps.rgb24.ref.png
new file mode 100644
index 0000000..c570259
Binary files /dev/null and b/test/reference/smask-text.traps.rgb24.ref.png differ
diff --git a/test/reference/smask.traps.argb32.ref.png b/test/reference/smask.traps.argb32.ref.png
new file mode 100644
index 0000000..445d920
Binary files /dev/null and b/test/reference/smask.traps.argb32.ref.png differ
diff --git a/test/reference/smask.traps.rgb24.ref.png b/test/reference/smask.traps.rgb24.ref.png
new file mode 100644
index 0000000..445d920
Binary files /dev/null and b/test/reference/smask.traps.rgb24.ref.png differ
diff --git a/test/reference/solid-pattern-cache-stress.traps.argb32.ref.png b/test/reference/solid-pattern-cache-stress.traps.argb32.ref.png
new file mode 100644
index 0000000..08a2ce1
Binary files /dev/null and b/test/reference/solid-pattern-cache-stress.traps.argb32.ref.png differ
diff --git a/test/reference/solid-pattern-cache-stress.traps.rgb24.ref.png b/test/reference/solid-pattern-cache-stress.traps.rgb24.ref.png
new file mode 100644
index 0000000..08a2ce1
Binary files /dev/null and b/test/reference/solid-pattern-cache-stress.traps.rgb24.ref.png differ
diff --git a/test/reference/source-clip-scale.traps.argb32.ref.png b/test/reference/source-clip-scale.traps.argb32.ref.png
new file mode 100644
index 0000000..4b63ad9
Binary files /dev/null and b/test/reference/source-clip-scale.traps.argb32.ref.png differ
diff --git a/test/reference/source-clip-scale.traps.rgb24.ref.png b/test/reference/source-clip-scale.traps.rgb24.ref.png
new file mode 100644
index 0000000..4b63ad9
Binary files /dev/null and b/test/reference/source-clip-scale.traps.rgb24.ref.png differ
diff --git a/test/reference/source-clip.traps.argb32.ref.png b/test/reference/source-clip.traps.argb32.ref.png
new file mode 100644
index 0000000..821bc6c
Binary files /dev/null and b/test/reference/source-clip.traps.argb32.ref.png differ
diff --git a/test/reference/source-clip.traps.rgb24.ref.png b/test/reference/source-clip.traps.rgb24.ref.png
new file mode 100644
index 0000000..821bc6c
Binary files /dev/null and b/test/reference/source-clip.traps.rgb24.ref.png differ
diff --git a/test/reference/source-surface-scale-paint.traps.argb32.ref.png b/test/reference/source-surface-scale-paint.traps.argb32.ref.png
new file mode 100644
index 0000000..087ef75
Binary files /dev/null and b/test/reference/source-surface-scale-paint.traps.argb32.ref.png differ
diff --git a/test/reference/source-surface-scale-paint.traps.rgb24.ref.png b/test/reference/source-surface-scale-paint.traps.rgb24.ref.png
new file mode 100644
index 0000000..322af21
Binary files /dev/null and b/test/reference/source-surface-scale-paint.traps.rgb24.ref.png differ
diff --git a/test/reference/spline-decomposition.traps.argb32.ref.png b/test/reference/spline-decomposition.traps.argb32.ref.png
new file mode 100644
index 0000000..113f221
Binary files /dev/null and b/test/reference/spline-decomposition.traps.argb32.ref.png differ
diff --git a/test/reference/spline-decomposition.traps.rgb24.ref.png b/test/reference/spline-decomposition.traps.rgb24.ref.png
new file mode 100644
index 0000000..113f221
Binary files /dev/null and b/test/reference/spline-decomposition.traps.rgb24.ref.png differ
diff --git a/test/reference/stroke-ctm-caps.traps.argb32.ref.png b/test/reference/stroke-ctm-caps.traps.argb32.ref.png
new file mode 100644
index 0000000..799ff39
Binary files /dev/null and b/test/reference/stroke-ctm-caps.traps.argb32.ref.png differ
diff --git a/test/reference/stroke-ctm-caps.traps.rgb24.ref.png b/test/reference/stroke-ctm-caps.traps.rgb24.ref.png
new file mode 100644
index 0000000..799ff39
Binary files /dev/null and b/test/reference/stroke-ctm-caps.traps.rgb24.ref.png differ
diff --git a/test/reference/stroke-image.traps.argb32.ref.png b/test/reference/stroke-image.traps.argb32.ref.png
new file mode 100644
index 0000000..15d4dce
Binary files /dev/null and b/test/reference/stroke-image.traps.argb32.ref.png differ
diff --git a/test/reference/stroke-image.traps.rgb24.ref.png b/test/reference/stroke-image.traps.rgb24.ref.png
new file mode 100644
index 0000000..15d4dce
Binary files /dev/null and b/test/reference/stroke-image.traps.rgb24.ref.png differ
diff --git a/test/reference/stroke-open-box.traps.argb32.ref.png b/test/reference/stroke-open-box.traps.argb32.ref.png
new file mode 100644
index 0000000..b5f5bd5
Binary files /dev/null and b/test/reference/stroke-open-box.traps.argb32.ref.png differ
diff --git a/test/reference/stroke-open-box.traps.rgb24.ref.png b/test/reference/stroke-open-box.traps.rgb24.ref.png
new file mode 100644
index 0000000..b5f5bd5
Binary files /dev/null and b/test/reference/stroke-open-box.traps.rgb24.ref.png differ
diff --git a/test/reference/subsurface-image-repeat.traps.argb32.ref.png b/test/reference/subsurface-image-repeat.traps.argb32.ref.png
new file mode 100644
index 0000000..3dd6306
Binary files /dev/null and b/test/reference/subsurface-image-repeat.traps.argb32.ref.png differ
diff --git a/test/reference/subsurface-image-repeat.traps.rgb24.ref.png b/test/reference/subsurface-image-repeat.traps.rgb24.ref.png
new file mode 100644
index 0000000..3dd6306
Binary files /dev/null and b/test/reference/subsurface-image-repeat.traps.rgb24.ref.png differ
diff --git a/test/reference/subsurface-modify-child.traps.argb32.ref.png b/test/reference/subsurface-modify-child.traps.argb32.ref.png
new file mode 100644
index 0000000..c37e22e
Binary files /dev/null and b/test/reference/subsurface-modify-child.traps.argb32.ref.png differ
diff --git a/test/reference/subsurface-modify-child.traps.rgb24.ref.png b/test/reference/subsurface-modify-child.traps.rgb24.ref.png
new file mode 100644
index 0000000..c37e22e
Binary files /dev/null and b/test/reference/subsurface-modify-child.traps.rgb24.ref.png differ
diff --git a/test/reference/subsurface-modify-parent.traps.argb32.ref.png b/test/reference/subsurface-modify-parent.traps.argb32.ref.png
new file mode 100644
index 0000000..c37e22e
Binary files /dev/null and b/test/reference/subsurface-modify-parent.traps.argb32.ref.png differ
diff --git a/test/reference/subsurface-modify-parent.traps.rgb24.ref.png b/test/reference/subsurface-modify-parent.traps.rgb24.ref.png
new file mode 100644
index 0000000..c37e22e
Binary files /dev/null and b/test/reference/subsurface-modify-parent.traps.rgb24.ref.png differ
diff --git a/test/reference/subsurface-pad.traps.argb32.ref.png b/test/reference/subsurface-pad.traps.argb32.ref.png
new file mode 100644
index 0000000..eeb9f8f
Binary files /dev/null and b/test/reference/subsurface-pad.traps.argb32.ref.png differ
diff --git a/test/reference/subsurface-pad.traps.rgb24.ref.png b/test/reference/subsurface-pad.traps.rgb24.ref.png
new file mode 100644
index 0000000..eeb9f8f
Binary files /dev/null and b/test/reference/subsurface-pad.traps.rgb24.ref.png differ
diff --git a/test/reference/subsurface-reflect.traps.argb32.ref.png b/test/reference/subsurface-reflect.traps.argb32.ref.png
new file mode 100644
index 0000000..55643f4
Binary files /dev/null and b/test/reference/subsurface-reflect.traps.argb32.ref.png differ
diff --git a/test/reference/subsurface-reflect.traps.rgb24.ref.png b/test/reference/subsurface-reflect.traps.rgb24.ref.png
new file mode 100644
index 0000000..55643f4
Binary files /dev/null and b/test/reference/subsurface-reflect.traps.rgb24.ref.png differ
diff --git a/test/reference/subsurface-repeat.traps.argb32.ref.png b/test/reference/subsurface-repeat.traps.argb32.ref.png
new file mode 100644
index 0000000..c37e22e
Binary files /dev/null and b/test/reference/subsurface-repeat.traps.argb32.ref.png differ
diff --git a/test/reference/subsurface-repeat.traps.rgb24.ref.png b/test/reference/subsurface-repeat.traps.rgb24.ref.png
new file mode 100644
index 0000000..c37e22e
Binary files /dev/null and b/test/reference/subsurface-repeat.traps.rgb24.ref.png differ
diff --git a/test/reference/subsurface-similar-repeat.traps.argb32.ref.png b/test/reference/subsurface-similar-repeat.traps.argb32.ref.png
new file mode 100644
index 0000000..c37e22e
Binary files /dev/null and b/test/reference/subsurface-similar-repeat.traps.argb32.ref.png differ
diff --git a/test/reference/subsurface-similar-repeat.traps.rgb24.ref.png b/test/reference/subsurface-similar-repeat.traps.rgb24.ref.png
new file mode 100644
index 0000000..c37e22e
Binary files /dev/null and b/test/reference/subsurface-similar-repeat.traps.rgb24.ref.png differ
diff --git a/test/reference/subsurface.traps.argb32.ref.png b/test/reference/subsurface.traps.argb32.ref.png
new file mode 100644
index 0000000..77e3c23
Binary files /dev/null and b/test/reference/subsurface.traps.argb32.ref.png differ
diff --git a/test/reference/subsurface.traps.rgb24.ref.png b/test/reference/subsurface.traps.rgb24.ref.png
new file mode 100644
index 0000000..77e3c23
Binary files /dev/null and b/test/reference/subsurface.traps.rgb24.ref.png differ
diff --git a/test/reference/surface-pattern-big-scale-down.traps.argb32.ref.png b/test/reference/surface-pattern-big-scale-down.traps.argb32.ref.png
new file mode 100644
index 0000000..c050990
Binary files /dev/null and b/test/reference/surface-pattern-big-scale-down.traps.argb32.ref.png differ
diff --git a/test/reference/surface-pattern-big-scale-down.traps.rgb24.ref.png b/test/reference/surface-pattern-big-scale-down.traps.rgb24.ref.png
new file mode 100644
index 0000000..c050990
Binary files /dev/null and b/test/reference/surface-pattern-big-scale-down.traps.rgb24.ref.png differ
diff --git a/test/reference/surface-pattern-operator.traps.argb32.ref.png b/test/reference/surface-pattern-operator.traps.argb32.ref.png
new file mode 100644
index 0000000..670d3c3
Binary files /dev/null and b/test/reference/surface-pattern-operator.traps.argb32.ref.png differ
diff --git a/test/reference/surface-pattern-operator.traps.rgb24.ref.png b/test/reference/surface-pattern-operator.traps.rgb24.ref.png
new file mode 100644
index 0000000..23e540d
Binary files /dev/null and b/test/reference/surface-pattern-operator.traps.rgb24.ref.png differ
diff --git a/test/reference/surface-pattern-scale-down-extend-none.traps.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-none.traps.argb32.ref.png
new file mode 100644
index 0000000..9df14cc
Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-none.traps.argb32.ref.png differ
diff --git a/test/reference/surface-pattern-scale-down-extend-none.traps.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-none.traps.rgb24.ref.png
new file mode 100644
index 0000000..9df14cc
Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-none.traps.rgb24.ref.png differ
diff --git a/test/reference/surface-pattern-scale-down-extend-pad.traps.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-pad.traps.argb32.ref.png
new file mode 100644
index 0000000..2ee9419
Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-pad.traps.argb32.ref.png differ
diff --git a/test/reference/surface-pattern-scale-down-extend-pad.traps.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-pad.traps.rgb24.ref.png
new file mode 100644
index 0000000..2ee9419
Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-pad.traps.rgb24.ref.png differ
diff --git a/test/reference/surface-pattern-scale-down-extend-reflect.traps.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-reflect.traps.argb32.ref.png
new file mode 100644
index 0000000..f2e93a7
Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-reflect.traps.argb32.ref.png differ
diff --git a/test/reference/surface-pattern-scale-down-extend-reflect.traps.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-reflect.traps.rgb24.ref.png
new file mode 100644
index 0000000..f2e93a7
Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-reflect.traps.rgb24.ref.png differ
diff --git a/test/reference/surface-pattern-scale-down-extend-repeat.traps.argb32.ref.png b/test/reference/surface-pattern-scale-down-extend-repeat.traps.argb32.ref.png
new file mode 100644
index 0000000..c5cff0f
Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-repeat.traps.argb32.ref.png differ
diff --git a/test/reference/surface-pattern-scale-down-extend-repeat.traps.rgb24.ref.png b/test/reference/surface-pattern-scale-down-extend-repeat.traps.rgb24.ref.png
new file mode 100644
index 0000000..c5cff0f
Binary files /dev/null and b/test/reference/surface-pattern-scale-down-extend-repeat.traps.rgb24.ref.png differ
diff --git a/test/reference/surface-pattern-scale-down.traps.argb32.ref.png b/test/reference/surface-pattern-scale-down.traps.argb32.ref.png
new file mode 100644
index 0000000..8bb58a2
Binary files /dev/null and b/test/reference/surface-pattern-scale-down.traps.argb32.ref.png differ
diff --git a/test/reference/surface-pattern-scale-down.traps.rgb24.ref.png b/test/reference/surface-pattern-scale-down.traps.rgb24.ref.png
new file mode 100644
index 0000000..8bb58a2
Binary files /dev/null and b/test/reference/surface-pattern-scale-down.traps.rgb24.ref.png differ
diff --git a/test/reference/surface-pattern-scale-up.traps.argb32.ref.png b/test/reference/surface-pattern-scale-up.traps.argb32.ref.png
new file mode 100644
index 0000000..e8d84e2
Binary files /dev/null and b/test/reference/surface-pattern-scale-up.traps.argb32.ref.png differ
diff --git a/test/reference/surface-pattern-scale-up.traps.rgb24.ref.png b/test/reference/surface-pattern-scale-up.traps.rgb24.ref.png
new file mode 100644
index 0000000..e8d84e2
Binary files /dev/null and b/test/reference/surface-pattern-scale-up.traps.rgb24.ref.png differ
diff --git a/test/reference/surface-pattern.traps.argb32.ref.png b/test/reference/surface-pattern.traps.argb32.ref.png
new file mode 100644
index 0000000..079ebfb
Binary files /dev/null and b/test/reference/surface-pattern.traps.argb32.ref.png differ
diff --git a/test/reference/surface-pattern.traps.rgb24.ref.png b/test/reference/surface-pattern.traps.rgb24.ref.png
new file mode 100644
index 0000000..079ebfb
Binary files /dev/null and b/test/reference/surface-pattern.traps.rgb24.ref.png differ
diff --git a/test/reference/svg-surface-source.traps.argb32.ref.png b/test/reference/svg-surface-source.traps.argb32.ref.png
new file mode 100644
index 0000000..0182972
Binary files /dev/null and b/test/reference/svg-surface-source.traps.argb32.ref.png differ
diff --git a/test/reference/svg-surface-source.traps.rgb24.ref.png b/test/reference/svg-surface-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..0d68a82
Binary files /dev/null and b/test/reference/svg-surface-source.traps.rgb24.ref.png differ
diff --git a/test/reference/text-antialias-gray.traps.argb32.ref.png b/test/reference/text-antialias-gray.traps.argb32.ref.png
new file mode 100644
index 0000000..b1dbc20
Binary files /dev/null and b/test/reference/text-antialias-gray.traps.argb32.ref.png differ
diff --git a/test/reference/text-antialias-gray.traps.rgb24.ref.png b/test/reference/text-antialias-gray.traps.rgb24.ref.png
new file mode 100644
index 0000000..b1dbc20
Binary files /dev/null and b/test/reference/text-antialias-gray.traps.rgb24.ref.png differ
diff --git a/test/reference/text-antialias-none.traps.argb32.ref.png b/test/reference/text-antialias-none.traps.argb32.ref.png
new file mode 100644
index 0000000..86c09cd
Binary files /dev/null and b/test/reference/text-antialias-none.traps.argb32.ref.png differ
diff --git a/test/reference/text-antialias-none.traps.rgb24.ref.png b/test/reference/text-antialias-none.traps.rgb24.ref.png
new file mode 100644
index 0000000..86c09cd
Binary files /dev/null and b/test/reference/text-antialias-none.traps.rgb24.ref.png differ
diff --git a/test/reference/text-antialias-subpixel.traps.argb32.ref.png b/test/reference/text-antialias-subpixel.traps.argb32.ref.png
new file mode 100644
index 0000000..09da5fa
Binary files /dev/null and b/test/reference/text-antialias-subpixel.traps.argb32.ref.png differ
diff --git a/test/reference/text-antialias-subpixel.traps.rgb24.ref.png b/test/reference/text-antialias-subpixel.traps.rgb24.ref.png
new file mode 100644
index 0000000..09da5fa
Binary files /dev/null and b/test/reference/text-antialias-subpixel.traps.rgb24.ref.png differ
diff --git a/test/reference/text-glyph-range.traps.argb32.ref.png b/test/reference/text-glyph-range.traps.argb32.ref.png
new file mode 100644
index 0000000..91de73d
Binary files /dev/null and b/test/reference/text-glyph-range.traps.argb32.ref.png differ
diff --git a/test/reference/text-glyph-range.traps.rgb24.ref.png b/test/reference/text-glyph-range.traps.rgb24.ref.png
new file mode 100644
index 0000000..91de73d
Binary files /dev/null and b/test/reference/text-glyph-range.traps.rgb24.ref.png differ
diff --git a/test/reference/text-pattern.traps.argb32.ref.png b/test/reference/text-pattern.traps.argb32.ref.png
new file mode 100644
index 0000000..d9f3eaa
Binary files /dev/null and b/test/reference/text-pattern.traps.argb32.ref.png differ
diff --git a/test/reference/text-pattern.traps.rgb24.ref.png b/test/reference/text-pattern.traps.rgb24.ref.png
new file mode 100644
index 0000000..70d4a59
Binary files /dev/null and b/test/reference/text-pattern.traps.rgb24.ref.png differ
diff --git a/test/reference/text-rotate.traps.argb32.ref.png b/test/reference/text-rotate.traps.argb32.ref.png
new file mode 100644
index 0000000..1db9a00
Binary files /dev/null and b/test/reference/text-rotate.traps.argb32.ref.png differ
diff --git a/test/reference/text-rotate.traps.rgb24.ref.png b/test/reference/text-rotate.traps.rgb24.ref.png
new file mode 100644
index 0000000..1db9a00
Binary files /dev/null and b/test/reference/text-rotate.traps.rgb24.ref.png differ
diff --git a/test/reference/text-transform.traps.argb32.ref.png b/test/reference/text-transform.traps.argb32.ref.png
new file mode 100644
index 0000000..4603bc5
Binary files /dev/null and b/test/reference/text-transform.traps.argb32.ref.png differ
diff --git a/test/reference/text-transform.traps.rgb24.ref.png b/test/reference/text-transform.traps.rgb24.ref.png
new file mode 100644
index 0000000..4603bc5
Binary files /dev/null and b/test/reference/text-transform.traps.rgb24.ref.png differ
diff --git a/test/reference/tiger.traps.argb32.ref.png b/test/reference/tiger.traps.argb32.ref.png
new file mode 100644
index 0000000..bc7f668
Binary files /dev/null and b/test/reference/tiger.traps.argb32.ref.png differ
diff --git a/test/reference/tiger.traps.rgb24.ref.png b/test/reference/tiger.traps.rgb24.ref.png
new file mode 100644
index 0000000..bc7f668
Binary files /dev/null and b/test/reference/tiger.traps.rgb24.ref.png differ
diff --git a/test/reference/tighten-bounds.traps.argb32.ref.png b/test/reference/tighten-bounds.traps.argb32.ref.png
new file mode 100644
index 0000000..9d22568
Binary files /dev/null and b/test/reference/tighten-bounds.traps.argb32.ref.png differ
diff --git a/test/reference/transforms.traps.argb32.ref.png b/test/reference/transforms.traps.argb32.ref.png
new file mode 100644
index 0000000..3ce9176
Binary files /dev/null and b/test/reference/transforms.traps.argb32.ref.png differ
diff --git a/test/reference/transforms.traps.rgb24.ref.png b/test/reference/transforms.traps.rgb24.ref.png
new file mode 100644
index 0000000..3ce9176
Binary files /dev/null and b/test/reference/transforms.traps.rgb24.ref.png differ
diff --git a/test/reference/translate-show-surface.traps.argb32.ref.png b/test/reference/translate-show-surface.traps.argb32.ref.png
new file mode 100644
index 0000000..0a145d9
Binary files /dev/null and b/test/reference/translate-show-surface.traps.argb32.ref.png differ
diff --git a/test/reference/translate-show-surface.traps.rgb24.ref.png b/test/reference/translate-show-surface.traps.rgb24.ref.png
new file mode 100644
index 0000000..0a145d9
Binary files /dev/null and b/test/reference/translate-show-surface.traps.rgb24.ref.png differ
diff --git a/test/reference/trap-clip.traps.argb32.ref.png b/test/reference/trap-clip.traps.argb32.ref.png
new file mode 100644
index 0000000..170d378
Binary files /dev/null and b/test/reference/trap-clip.traps.argb32.ref.png differ
diff --git a/test/reference/trap-clip.traps.rgb24.ref.png b/test/reference/trap-clip.traps.rgb24.ref.png
new file mode 100644
index 0000000..b1129b0
Binary files /dev/null and b/test/reference/trap-clip.traps.rgb24.ref.png differ
diff --git a/test/reference/twin-antialias-gray.traps.argb32.ref.png b/test/reference/twin-antialias-gray.traps.argb32.ref.png
new file mode 100644
index 0000000..bfd4211
Binary files /dev/null and b/test/reference/twin-antialias-gray.traps.argb32.ref.png differ
diff --git a/test/reference/twin-antialias-gray.traps.rgb24.ref.png b/test/reference/twin-antialias-gray.traps.rgb24.ref.png
new file mode 100644
index 0000000..bfd4211
Binary files /dev/null and b/test/reference/twin-antialias-gray.traps.rgb24.ref.png differ
diff --git a/test/reference/twin-antialias-mixed.traps.argb32.ref.png b/test/reference/twin-antialias-mixed.traps.argb32.ref.png
new file mode 100644
index 0000000..0c91dd1
Binary files /dev/null and b/test/reference/twin-antialias-mixed.traps.argb32.ref.png differ
diff --git a/test/reference/twin-antialias-mixed.traps.rgb24.ref.png b/test/reference/twin-antialias-mixed.traps.rgb24.ref.png
new file mode 100644
index 0000000..0c91dd1
Binary files /dev/null and b/test/reference/twin-antialias-mixed.traps.rgb24.ref.png differ
diff --git a/test/reference/twin-antialias-none.traps.argb32.ref.png b/test/reference/twin-antialias-none.traps.argb32.ref.png
new file mode 100644
index 0000000..42f386d
Binary files /dev/null and b/test/reference/twin-antialias-none.traps.argb32.ref.png differ
diff --git a/test/reference/twin-antialias-none.traps.rgb24.ref.png b/test/reference/twin-antialias-none.traps.rgb24.ref.png
new file mode 100644
index 0000000..42f386d
Binary files /dev/null and b/test/reference/twin-antialias-none.traps.rgb24.ref.png differ
diff --git a/test/reference/twin-antialias-subpixel.traps.argb32.ref.png b/test/reference/twin-antialias-subpixel.traps.argb32.ref.png
new file mode 100644
index 0000000..bfd4211
Binary files /dev/null and b/test/reference/twin-antialias-subpixel.traps.argb32.ref.png differ
diff --git a/test/reference/twin-antialias-subpixel.traps.rgb24.ref.png b/test/reference/twin-antialias-subpixel.traps.rgb24.ref.png
new file mode 100644
index 0000000..bfd4211
Binary files /dev/null and b/test/reference/twin-antialias-subpixel.traps.rgb24.ref.png differ
diff --git a/test/reference/twin.traps.argb32.ref.png b/test/reference/twin.traps.argb32.ref.png
new file mode 100644
index 0000000..bfd4211
Binary files /dev/null and b/test/reference/twin.traps.argb32.ref.png differ
diff --git a/test/reference/twin.traps.rgb24.ref.png b/test/reference/twin.traps.rgb24.ref.png
new file mode 100644
index 0000000..bfd4211
Binary files /dev/null and b/test/reference/twin.traps.rgb24.ref.png differ
diff --git a/test/reference/unaligned-box.traps.argb32.ref.png b/test/reference/unaligned-box.traps.argb32.ref.png
new file mode 100644
index 0000000..48e23b8
Binary files /dev/null and b/test/reference/unaligned-box.traps.argb32.ref.png differ
diff --git a/test/reference/unaligned-box.traps.rgb24.ref.png b/test/reference/unaligned-box.traps.rgb24.ref.png
new file mode 100644
index 0000000..48e23b8
Binary files /dev/null and b/test/reference/unaligned-box.traps.rgb24.ref.png differ
diff --git a/test/reference/unantialiased-shapes.traps.argb32.ref.png b/test/reference/unantialiased-shapes.traps.argb32.ref.png
new file mode 100644
index 0000000..a55ba88
Binary files /dev/null and b/test/reference/unantialiased-shapes.traps.argb32.ref.png differ
diff --git a/test/reference/unantialiased-shapes.traps.rgb24.ref.png b/test/reference/unantialiased-shapes.traps.rgb24.ref.png
new file mode 100644
index 0000000..a55ba88
Binary files /dev/null and b/test/reference/unantialiased-shapes.traps.rgb24.ref.png differ
diff --git a/test/reference/unbounded-operator.traps.argb32.ref.png b/test/reference/unbounded-operator.traps.argb32.ref.png
new file mode 100644
index 0000000..80a57b5
Binary files /dev/null and b/test/reference/unbounded-operator.traps.argb32.ref.png differ
diff --git a/test/reference/unbounded-operator.traps.rgb24.ref.png b/test/reference/unbounded-operator.traps.rgb24.ref.png
new file mode 100644
index 0000000..1c0276c
Binary files /dev/null and b/test/reference/unbounded-operator.traps.rgb24.ref.png differ
diff --git a/test/reference/unclosed-strokes.traps.argb32.ref.png b/test/reference/unclosed-strokes.traps.argb32.ref.png
new file mode 100644
index 0000000..cfd0f44
Binary files /dev/null and b/test/reference/unclosed-strokes.traps.argb32.ref.png differ
diff --git a/test/reference/unclosed-strokes.traps.rgb24.ref.png b/test/reference/unclosed-strokes.traps.rgb24.ref.png
new file mode 100644
index 0000000..cfd0f44
Binary files /dev/null and b/test/reference/unclosed-strokes.traps.rgb24.ref.png differ
diff --git a/test/reference/user-font-mask.traps.argb32.ref.png b/test/reference/user-font-mask.traps.argb32.ref.png
new file mode 100644
index 0000000..02a9a5e
Binary files /dev/null and b/test/reference/user-font-mask.traps.argb32.ref.png differ
diff --git a/test/reference/user-font-mask.traps.rgb24.ref.png b/test/reference/user-font-mask.traps.rgb24.ref.png
new file mode 100644
index 0000000..02a9a5e
Binary files /dev/null and b/test/reference/user-font-mask.traps.rgb24.ref.png differ
diff --git a/test/reference/user-font-proxy.traps.argb32.ref.png b/test/reference/user-font-proxy.traps.argb32.ref.png
new file mode 100644
index 0000000..92ce636
Binary files /dev/null and b/test/reference/user-font-proxy.traps.argb32.ref.png differ
diff --git a/test/reference/user-font-proxy.traps.rgb24.ref.png b/test/reference/user-font-proxy.traps.rgb24.ref.png
new file mode 100644
index 0000000..92ce636
Binary files /dev/null and b/test/reference/user-font-proxy.traps.rgb24.ref.png differ
diff --git a/test/reference/user-font-rescale.traps.argb32.ref.png b/test/reference/user-font-rescale.traps.argb32.ref.png
new file mode 100644
index 0000000..c644f75
Binary files /dev/null and b/test/reference/user-font-rescale.traps.argb32.ref.png differ
diff --git a/test/reference/user-font-rescale.traps.rgb24.ref.png b/test/reference/user-font-rescale.traps.rgb24.ref.png
new file mode 100644
index 0000000..c644f75
Binary files /dev/null and b/test/reference/user-font-rescale.traps.rgb24.ref.png differ
diff --git a/test/reference/user-font.traps.argb32.ref.png b/test/reference/user-font.traps.argb32.ref.png
new file mode 100644
index 0000000..0ea3d17
Binary files /dev/null and b/test/reference/user-font.traps.argb32.ref.png differ
diff --git a/test/reference/user-font.traps.rgb24.ref.png b/test/reference/user-font.traps.rgb24.ref.png
new file mode 100644
index 0000000..0ea3d17
Binary files /dev/null and b/test/reference/user-font.traps.rgb24.ref.png differ
diff --git a/test/reference/white-in-noop.traps.argb32.ref.png b/test/reference/white-in-noop.traps.argb32.ref.png
new file mode 100644
index 0000000..f42bb8d
Binary files /dev/null and b/test/reference/white-in-noop.traps.argb32.ref.png differ
diff --git a/test/reference/white-in-noop.traps.rgb24.ref.png b/test/reference/white-in-noop.traps.rgb24.ref.png
new file mode 100644
index 0000000..f42bb8d
Binary files /dev/null and b/test/reference/white-in-noop.traps.rgb24.ref.png differ
diff --git a/test/reference/world-map-fill.traps.argb32.ref.png b/test/reference/world-map-fill.traps.argb32.ref.png
new file mode 100644
index 0000000..926c1a8
Binary files /dev/null and b/test/reference/world-map-fill.traps.argb32.ref.png differ
diff --git a/test/reference/world-map-fill.traps.rgb24.ref.png b/test/reference/world-map-fill.traps.rgb24.ref.png
new file mode 100644
index 0000000..926c1a8
Binary files /dev/null and b/test/reference/world-map-fill.traps.rgb24.ref.png differ
diff --git a/test/reference/world-map-stroke.traps.argb32.ref.png b/test/reference/world-map-stroke.traps.argb32.ref.png
new file mode 100644
index 0000000..d00c945
Binary files /dev/null and b/test/reference/world-map-stroke.traps.argb32.ref.png differ
diff --git a/test/reference/world-map-stroke.traps.rgb24.ref.png b/test/reference/world-map-stroke.traps.rgb24.ref.png
new file mode 100644
index 0000000..d00c945
Binary files /dev/null and b/test/reference/world-map-stroke.traps.rgb24.ref.png differ
diff --git a/test/reference/world-map.traps.argb32.ref.png b/test/reference/world-map.traps.argb32.ref.png
new file mode 100644
index 0000000..6bae50d
Binary files /dev/null and b/test/reference/world-map.traps.argb32.ref.png differ
diff --git a/test/reference/world-map.traps.rgb24.ref.png b/test/reference/world-map.traps.rgb24.ref.png
new file mode 100644
index 0000000..6bae50d
Binary files /dev/null and b/test/reference/world-map.traps.rgb24.ref.png differ
diff --git a/test/reference/xcb-huge-image-shm.traps.argb32.ref.png b/test/reference/xcb-huge-image-shm.traps.argb32.ref.png
new file mode 100644
index 0000000..a0b24c8
Binary files /dev/null and b/test/reference/xcb-huge-image-shm.traps.argb32.ref.png differ
diff --git a/test/reference/xcb-huge-image-shm.traps.rgb24.ref.png b/test/reference/xcb-huge-image-shm.traps.rgb24.ref.png
new file mode 100644
index 0000000..a0b24c8
Binary files /dev/null and b/test/reference/xcb-huge-image-shm.traps.rgb24.ref.png differ
diff --git a/test/reference/xcb-snapshot-assert.traps.argb32.ref.png b/test/reference/xcb-snapshot-assert.traps.argb32.ref.png
new file mode 100644
index 0000000..850ce59
Binary files /dev/null and b/test/reference/xcb-snapshot-assert.traps.argb32.ref.png differ
diff --git a/test/reference/xcb-snapshot-assert.traps.rgb24.ref.png b/test/reference/xcb-snapshot-assert.traps.rgb24.ref.png
new file mode 100644
index 0000000..850ce59
Binary files /dev/null and b/test/reference/xcb-snapshot-assert.traps.rgb24.ref.png differ
diff --git a/test/reference/xcb-stress-cache.traps.argb32.ref.png b/test/reference/xcb-stress-cache.traps.argb32.ref.png
new file mode 100644
index 0000000..850ce59
Binary files /dev/null and b/test/reference/xcb-stress-cache.traps.argb32.ref.png differ
diff --git a/test/reference/xcb-stress-cache.traps.rgb24.ref.png b/test/reference/xcb-stress-cache.traps.rgb24.ref.png
new file mode 100644
index 0000000..850ce59
Binary files /dev/null and b/test/reference/xcb-stress-cache.traps.rgb24.ref.png differ
diff --git a/test/reference/xcb-surface-source.traps.argb32.ref.png b/test/reference/xcb-surface-source.traps.argb32.ref.png
new file mode 100644
index 0000000..0182972
Binary files /dev/null and b/test/reference/xcb-surface-source.traps.argb32.ref.png differ
diff --git a/test/reference/xcb-surface-source.traps.rgb24.ref.png b/test/reference/xcb-surface-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..0d68a82
Binary files /dev/null and b/test/reference/xcb-surface-source.traps.rgb24.ref.png differ
diff --git a/test/reference/xcomposite-projection.traps.argb32.ref.png b/test/reference/xcomposite-projection.traps.argb32.ref.png
new file mode 100644
index 0000000..ea4dddf
Binary files /dev/null and b/test/reference/xcomposite-projection.traps.argb32.ref.png differ
diff --git a/test/reference/xcomposite-projection.traps.rgb24.ref.png b/test/reference/xcomposite-projection.traps.rgb24.ref.png
new file mode 100644
index 0000000..ea4dddf
Binary files /dev/null and b/test/reference/xcomposite-projection.traps.rgb24.ref.png differ
diff --git a/test/reference/xlib-expose-event.traps.argb32.ref.png b/test/reference/xlib-expose-event.traps.argb32.ref.png
new file mode 100644
index 0000000..fd71f5a
Binary files /dev/null and b/test/reference/xlib-expose-event.traps.argb32.ref.png differ
diff --git a/test/reference/xlib-expose-event.traps.rgb24.ref.png b/test/reference/xlib-expose-event.traps.rgb24.ref.png
new file mode 100644
index 0000000..fd71f5a
Binary files /dev/null and b/test/reference/xlib-expose-event.traps.rgb24.ref.png differ
diff --git a/test/reference/xlib-surface-source.traps.argb32.ref.png b/test/reference/xlib-surface-source.traps.argb32.ref.png
new file mode 100644
index 0000000..0182972
Binary files /dev/null and b/test/reference/xlib-surface-source.traps.argb32.ref.png differ
diff --git a/test/reference/xlib-surface-source.traps.rgb24.ref.png b/test/reference/xlib-surface-source.traps.rgb24.ref.png
new file mode 100644
index 0000000..0d68a82
Binary files /dev/null and b/test/reference/xlib-surface-source.traps.rgb24.ref.png differ
diff --git a/test/reference/zero-alpha.traps.argb32.ref.png b/test/reference/zero-alpha.traps.argb32.ref.png
new file mode 100644
index 0000000..595c0ae
Binary files /dev/null and b/test/reference/zero-alpha.traps.argb32.ref.png differ
diff --git a/test/reference/zero-alpha.traps.rgb24.ref.png b/test/reference/zero-alpha.traps.rgb24.ref.png
new file mode 100644
index 0000000..595c0ae
Binary files /dev/null and b/test/reference/zero-alpha.traps.rgb24.ref.png differ
diff --git a/test/reference/zero-mask.traps.argb32.ref.png b/test/reference/zero-mask.traps.argb32.ref.png
new file mode 100644
index 0000000..ffae8d9
Binary files /dev/null and b/test/reference/zero-mask.traps.argb32.ref.png differ
diff --git a/test/reference/zero-mask.traps.rgb24.ref.png b/test/reference/zero-mask.traps.rgb24.ref.png
new file mode 100644
index 0000000..263c3d1
Binary files /dev/null and b/test/reference/zero-mask.traps.rgb24.ref.png differ


More information about the cairo-commit mailing list