diff --git a/src/cairo-image-source.c b/src/cairo-image-source.c index c3fc7d7da..be3d38509 100644 --- a/src/cairo-image-source.c +++ b/src/cairo-image-source.c @@ -703,8 +703,6 @@ _pixman_image_for_recording (cairo_image_surface_t *dst, *ix = *iy = 0; source = _cairo_pattern_get_source (pattern, &limit); - tx = limit.x; - ty = limit.y; extend = pattern->base.extend; if (_cairo_rectangle_contains_rectangle (&limit, sample)) @@ -734,6 +732,8 @@ _pixman_image_for_recording (cairo_image_surface_t *dst, limit.height = ceil (y2) - limit.y; } } + tx = limit.x; + ty = limit.y; /* XXX transformations! */ proxy = _cairo_surface_has_snapshot (source, &proxy_backend); @@ -742,14 +742,18 @@ _pixman_image_for_recording (cairo_image_surface_t *dst, goto done; } - if (dst->base.content == source->content) - clone = cairo_image_surface_create (dst->format, - limit.width, limit.height); - else - clone = _cairo_image_surface_create_with_content (source->content, - limit.width, - limit.height); - cairo_surface_set_device_offset (clone, -limit.x, -limit.y); + if (is_mask) { + clone = cairo_image_surface_create (CAIRO_FORMAT_A8, + limit.width, limit.height); + } else { + if (dst->base.content == source->content) + clone = cairo_image_surface_create (dst->format, + limit.width, limit.height); + else + clone = _cairo_image_surface_create_with_content (source->content, + limit.width, + limit.height); + } m = NULL; if (extend == CAIRO_EXTEND_NONE) { @@ -774,6 +778,8 @@ done: pixman_image = pixman_image_ref (((cairo_image_surface_t *)clone)->pixman_image); cairo_surface_destroy (clone); + *ix = -limit.x; + *iy = -limit.y; if (extend != CAIRO_EXTEND_NONE) { if (! _pixman_image_set_properties (pixman_image, &pattern->base, extents, @@ -781,9 +787,6 @@ done: pixman_image_unref (pixman_image); pixman_image= NULL; } - } else { - *ix = -limit.x; - *iy = -limit.y; } return pixman_image; diff --git a/test/reference/record-extend-none-similar.base.argb32.ref.png b/test/reference/record-extend-none-similar.base.argb32.ref.png new file mode 100644 index 000000000..d63c31c1f Binary files /dev/null and b/test/reference/record-extend-none-similar.base.argb32.ref.png differ diff --git a/test/reference/record-extend-none-similar.base.rgb24.ref.png b/test/reference/record-extend-none-similar.base.rgb24.ref.png new file mode 100644 index 000000000..d63c31c1f Binary files /dev/null and b/test/reference/record-extend-none-similar.base.rgb24.ref.png differ diff --git a/test/reference/record-extend-none.base.argb32.ref.png b/test/reference/record-extend-none.base.argb32.ref.png new file mode 100644 index 000000000..d63c31c1f Binary files /dev/null and b/test/reference/record-extend-none.base.argb32.ref.png differ diff --git a/test/reference/record-extend-none.base.rgb24.ref.png b/test/reference/record-extend-none.base.rgb24.ref.png new file mode 100644 index 000000000..d63c31c1f Binary files /dev/null and b/test/reference/record-extend-none.base.rgb24.ref.png differ diff --git a/test/reference/record-extend-pad-similar.base.argb32.ref.png b/test/reference/record-extend-pad-similar.base.argb32.ref.png new file mode 100644 index 000000000..12915255c Binary files /dev/null and b/test/reference/record-extend-pad-similar.base.argb32.ref.png differ diff --git a/test/reference/record-extend-pad-similar.base.rgb24.ref.png b/test/reference/record-extend-pad-similar.base.rgb24.ref.png new file mode 100644 index 000000000..12915255c Binary files /dev/null and b/test/reference/record-extend-pad-similar.base.rgb24.ref.png differ diff --git a/test/reference/record-extend-pad.base.argb32.ref.png b/test/reference/record-extend-pad.base.argb32.ref.png new file mode 100644 index 000000000..12915255c Binary files /dev/null and b/test/reference/record-extend-pad.base.argb32.ref.png differ diff --git a/test/reference/record-extend-pad.base.rgb24.ref.png b/test/reference/record-extend-pad.base.rgb24.ref.png new file mode 100644 index 000000000..12915255c Binary files /dev/null and b/test/reference/record-extend-pad.base.rgb24.ref.png differ diff --git a/test/reference/record-extend-reflect-similar.base.argb32.ref.png b/test/reference/record-extend-reflect-similar.base.argb32.ref.png new file mode 100644 index 000000000..aec5c9454 Binary files /dev/null and b/test/reference/record-extend-reflect-similar.base.argb32.ref.png differ diff --git a/test/reference/record-extend-reflect-similar.base.rgb24.ref.png b/test/reference/record-extend-reflect-similar.base.rgb24.ref.png new file mode 100644 index 000000000..aec5c9454 Binary files /dev/null and b/test/reference/record-extend-reflect-similar.base.rgb24.ref.png differ diff --git a/test/reference/record-extend-reflect.base.argb32.ref.png b/test/reference/record-extend-reflect.base.argb32.ref.png new file mode 100644 index 000000000..aec5c9454 Binary files /dev/null and b/test/reference/record-extend-reflect.base.argb32.ref.png differ diff --git a/test/reference/record-extend-reflect.base.rgb24.ref.png b/test/reference/record-extend-reflect.base.rgb24.ref.png new file mode 100644 index 000000000..aec5c9454 Binary files /dev/null and b/test/reference/record-extend-reflect.base.rgb24.ref.png differ diff --git a/test/reference/record-extend-repeat-similar.base.argb32.ref.png b/test/reference/record-extend-repeat-similar.base.argb32.ref.png new file mode 100644 index 000000000..d4db9bf58 Binary files /dev/null and b/test/reference/record-extend-repeat-similar.base.argb32.ref.png differ diff --git a/test/reference/record-extend-repeat-similar.base.rgb24.ref.png b/test/reference/record-extend-repeat-similar.base.rgb24.ref.png new file mode 100644 index 000000000..d4db9bf58 Binary files /dev/null and b/test/reference/record-extend-repeat-similar.base.rgb24.ref.png differ diff --git a/test/reference/record-extend-repeat.base.argb32.ref.png b/test/reference/record-extend-repeat.base.argb32.ref.png new file mode 100644 index 000000000..d4db9bf58 Binary files /dev/null and b/test/reference/record-extend-repeat.base.argb32.ref.png differ diff --git a/test/reference/record-extend-repeat.base.rgb24.ref.png b/test/reference/record-extend-repeat.base.rgb24.ref.png new file mode 100644 index 000000000..d4db9bf58 Binary files /dev/null and b/test/reference/record-extend-repeat.base.rgb24.ref.png differ diff --git a/test/reference/record-fill-alpha.base.argb32.ref.png b/test/reference/record-fill-alpha.base.argb32.ref.png new file mode 100644 index 000000000..85df9198c Binary files /dev/null and b/test/reference/record-fill-alpha.base.argb32.ref.png differ diff --git a/test/reference/record-fill-alpha.base.rgb24.ref.png b/test/reference/record-fill-alpha.base.rgb24.ref.png new file mode 100644 index 000000000..85df9198c Binary files /dev/null and b/test/reference/record-fill-alpha.base.rgb24.ref.png differ diff --git a/test/reference/record-fill-alpha.base.xfail.png b/test/reference/record-fill-alpha.base.xfail.png new file mode 100644 index 000000000..5a2ebad01 Binary files /dev/null and b/test/reference/record-fill-alpha.base.xfail.png differ diff --git a/test/reference/record-mesh.base.argb32.ref.png b/test/reference/record-mesh.base.argb32.ref.png new file mode 100644 index 000000000..4921ba386 Binary files /dev/null and b/test/reference/record-mesh.base.argb32.ref.png differ diff --git a/test/reference/record-mesh.base.rgb24.ref.png b/test/reference/record-mesh.base.rgb24.ref.png new file mode 100644 index 000000000..4921ba386 Binary files /dev/null and b/test/reference/record-mesh.base.rgb24.ref.png differ diff --git a/test/reference/record-paint-alpha-clip-mask.base.argb32.ref.png b/test/reference/record-paint-alpha-clip-mask.base.argb32.ref.png new file mode 100644 index 000000000..95746ffcb Binary files /dev/null and b/test/reference/record-paint-alpha-clip-mask.base.argb32.ref.png differ diff --git a/test/reference/record-paint-alpha-clip-mask.base.rgb24.ref.png b/test/reference/record-paint-alpha-clip-mask.base.rgb24.ref.png new file mode 100644 index 000000000..95746ffcb Binary files /dev/null and b/test/reference/record-paint-alpha-clip-mask.base.rgb24.ref.png differ diff --git a/test/reference/record-paint-alpha-clip-mask.base.xfail.png b/test/reference/record-paint-alpha-clip-mask.base.xfail.png new file mode 100644 index 000000000..f7bb8ffee Binary files /dev/null and b/test/reference/record-paint-alpha-clip-mask.base.xfail.png differ diff --git a/test/reference/record-paint-alpha-clip.base.argb32.ref.png b/test/reference/record-paint-alpha-clip.base.argb32.ref.png new file mode 100644 index 000000000..c1da67e01 Binary files /dev/null and b/test/reference/record-paint-alpha-clip.base.argb32.ref.png differ diff --git a/test/reference/record-paint-alpha-clip.base.rgb24.ref.png b/test/reference/record-paint-alpha-clip.base.rgb24.ref.png new file mode 100644 index 000000000..c1da67e01 Binary files /dev/null and b/test/reference/record-paint-alpha-clip.base.rgb24.ref.png differ diff --git a/test/reference/record-paint-alpha-solid-clip.base.argb32.ref.png b/test/reference/record-paint-alpha-solid-clip.base.argb32.ref.png new file mode 100644 index 000000000..59d226d1a Binary files /dev/null and b/test/reference/record-paint-alpha-solid-clip.base.argb32.ref.png differ diff --git a/test/reference/record-paint-alpha-solid-clip.base.rgb24.ref.png b/test/reference/record-paint-alpha-solid-clip.base.rgb24.ref.png new file mode 100644 index 000000000..59d226d1a Binary files /dev/null and b/test/reference/record-paint-alpha-solid-clip.base.rgb24.ref.png differ diff --git a/test/reference/record-paint-alpha.base.argb32.ref.png b/test/reference/record-paint-alpha.base.argb32.ref.png new file mode 100644 index 000000000..65d9c179b Binary files /dev/null and b/test/reference/record-paint-alpha.base.argb32.ref.png differ diff --git a/test/reference/record-paint-alpha.base.rgb24.ref.png b/test/reference/record-paint-alpha.base.rgb24.ref.png new file mode 100644 index 000000000..65d9c179b Binary files /dev/null and b/test/reference/record-paint-alpha.base.rgb24.ref.png differ diff --git a/test/reference/record-paint.base.argb32.ref.png b/test/reference/record-paint.base.argb32.ref.png new file mode 100644 index 000000000..22cc7a1ae Binary files /dev/null and b/test/reference/record-paint.base.argb32.ref.png differ diff --git a/test/reference/record-paint.base.rgb24.ref.png b/test/reference/record-paint.base.rgb24.ref.png new file mode 100644 index 000000000..22cc7a1ae Binary files /dev/null and b/test/reference/record-paint.base.rgb24.ref.png differ diff --git a/test/reference/record-select-font-face.base.argb32.ref.png b/test/reference/record-select-font-face.base.argb32.ref.png new file mode 100644 index 000000000..1334a9a01 Binary files /dev/null and b/test/reference/record-select-font-face.base.argb32.ref.png differ diff --git a/test/reference/record-select-font-face.base.rgb24.ref.png b/test/reference/record-select-font-face.base.rgb24.ref.png new file mode 100644 index 000000000..1334a9a01 Binary files /dev/null and b/test/reference/record-select-font-face.base.rgb24.ref.png differ diff --git a/test/reference/record-self-intersecting.base.argb32.ref.png b/test/reference/record-self-intersecting.base.argb32.ref.png new file mode 100644 index 000000000..f0068e618 Binary files /dev/null and b/test/reference/record-self-intersecting.base.argb32.ref.png differ diff --git a/test/reference/record-self-intersecting.base.rgb24.ref.png b/test/reference/record-self-intersecting.base.rgb24.ref.png new file mode 100644 index 000000000..f0068e618 Binary files /dev/null and b/test/reference/record-self-intersecting.base.rgb24.ref.png differ diff --git a/test/reference/record-text-transform.base.argb32.ref.png b/test/reference/record-text-transform.base.argb32.ref.png new file mode 100644 index 000000000..4603bc528 Binary files /dev/null and b/test/reference/record-text-transform.base.argb32.ref.png differ diff --git a/test/reference/record-text-transform.base.rgb24.ref.png b/test/reference/record-text-transform.base.rgb24.ref.png new file mode 100644 index 000000000..4603bc528 Binary files /dev/null and b/test/reference/record-text-transform.base.rgb24.ref.png differ diff --git a/test/reference/record1414x-fill-alpha.base.argb32.ref.png b/test/reference/record1414x-fill-alpha.base.argb32.ref.png new file mode 100644 index 000000000..415acef6e Binary files /dev/null and b/test/reference/record1414x-fill-alpha.base.argb32.ref.png differ diff --git a/test/reference/record1414x-fill-alpha.base.rgb24.ref.png b/test/reference/record1414x-fill-alpha.base.rgb24.ref.png new file mode 100644 index 000000000..415acef6e Binary files /dev/null and b/test/reference/record1414x-fill-alpha.base.rgb24.ref.png differ diff --git a/test/reference/record1414x-fill-alpha.base.xfail.png b/test/reference/record1414x-fill-alpha.base.xfail.png new file mode 100644 index 000000000..69673434f Binary files /dev/null and b/test/reference/record1414x-fill-alpha.base.xfail.png differ diff --git a/test/reference/record1414x-paint-alpha-clip-mask.base.argb32.ref.png b/test/reference/record1414x-paint-alpha-clip-mask.base.argb32.ref.png new file mode 100644 index 000000000..1a2d96763 Binary files /dev/null and b/test/reference/record1414x-paint-alpha-clip-mask.base.argb32.ref.png differ diff --git a/test/reference/record1414x-paint-alpha-clip-mask.base.rgb24.ref.png b/test/reference/record1414x-paint-alpha-clip-mask.base.rgb24.ref.png new file mode 100644 index 000000000..1a2d96763 Binary files /dev/null and b/test/reference/record1414x-paint-alpha-clip-mask.base.rgb24.ref.png differ diff --git a/test/reference/record1414x-paint-alpha-clip.base.argb32.ref.png b/test/reference/record1414x-paint-alpha-clip.base.argb32.ref.png new file mode 100644 index 000000000..a983613f5 Binary files /dev/null and b/test/reference/record1414x-paint-alpha-clip.base.argb32.ref.png differ diff --git a/test/reference/record1414x-paint-alpha-clip.base.rgb24.ref.png b/test/reference/record1414x-paint-alpha-clip.base.rgb24.ref.png new file mode 100644 index 000000000..a983613f5 Binary files /dev/null and b/test/reference/record1414x-paint-alpha-clip.base.rgb24.ref.png differ diff --git a/test/reference/record1414x-paint-alpha-solid-clip.base.argb32.ref.png b/test/reference/record1414x-paint-alpha-solid-clip.base.argb32.ref.png new file mode 100644 index 000000000..7a8e59462 Binary files /dev/null and b/test/reference/record1414x-paint-alpha-solid-clip.base.argb32.ref.png differ diff --git a/test/reference/record1414x-paint-alpha-solid-clip.base.rgb24.ref.png b/test/reference/record1414x-paint-alpha-solid-clip.base.rgb24.ref.png new file mode 100644 index 000000000..7a8e59462 Binary files /dev/null and b/test/reference/record1414x-paint-alpha-solid-clip.base.rgb24.ref.png differ diff --git a/test/reference/record1414x-paint-alpha.base.argb32.ref.png b/test/reference/record1414x-paint-alpha.base.argb32.ref.png new file mode 100644 index 000000000..eee74ced0 Binary files /dev/null and b/test/reference/record1414x-paint-alpha.base.argb32.ref.png differ diff --git a/test/reference/record1414x-paint-alpha.base.rgb24.ref.png b/test/reference/record1414x-paint-alpha.base.rgb24.ref.png new file mode 100644 index 000000000..eee74ced0 Binary files /dev/null and b/test/reference/record1414x-paint-alpha.base.rgb24.ref.png differ diff --git a/test/reference/record1414x-paint.base.argb32.ref.png b/test/reference/record1414x-paint.base.argb32.ref.png new file mode 100644 index 000000000..e0a1341c9 Binary files /dev/null and b/test/reference/record1414x-paint.base.argb32.ref.png differ diff --git a/test/reference/record1414x-paint.base.rgb24.ref.png b/test/reference/record1414x-paint.base.rgb24.ref.png new file mode 100644 index 000000000..e0a1341c9 Binary files /dev/null and b/test/reference/record1414x-paint.base.rgb24.ref.png differ diff --git a/test/reference/record1414x-select-font-face.base.argb32.ref.png b/test/reference/record1414x-select-font-face.base.argb32.ref.png new file mode 100644 index 000000000..6c52067b1 Binary files /dev/null and b/test/reference/record1414x-select-font-face.base.argb32.ref.png differ diff --git a/test/reference/record1414x-select-font-face.base.rgb24.ref.png b/test/reference/record1414x-select-font-face.base.rgb24.ref.png new file mode 100644 index 000000000..6c52067b1 Binary files /dev/null and b/test/reference/record1414x-select-font-face.base.rgb24.ref.png differ diff --git a/test/reference/record1414x-self-intersecting.base.argb32.ref.png b/test/reference/record1414x-self-intersecting.base.argb32.ref.png new file mode 100644 index 000000000..53af8ffdf Binary files /dev/null and b/test/reference/record1414x-self-intersecting.base.argb32.ref.png differ diff --git a/test/reference/record1414x-self-intersecting.base.rgb24.ref.png b/test/reference/record1414x-self-intersecting.base.rgb24.ref.png new file mode 100644 index 000000000..53af8ffdf Binary files /dev/null and b/test/reference/record1414x-self-intersecting.base.rgb24.ref.png differ diff --git a/test/reference/record1414x-text-transform.base.argb32.ref.png b/test/reference/record1414x-text-transform.base.argb32.ref.png new file mode 100644 index 000000000..5727f3559 Binary files /dev/null and b/test/reference/record1414x-text-transform.base.argb32.ref.png differ diff --git a/test/reference/record1414x-text-transform.base.rgb24.ref.png b/test/reference/record1414x-text-transform.base.rgb24.ref.png new file mode 100644 index 000000000..5727f3559 Binary files /dev/null and b/test/reference/record1414x-text-transform.base.rgb24.ref.png differ diff --git a/test/reference/record2x-fill-alpha.base.argb32.ref.png b/test/reference/record2x-fill-alpha.base.argb32.ref.png new file mode 100644 index 000000000..b75f358d2 Binary files /dev/null and b/test/reference/record2x-fill-alpha.base.argb32.ref.png differ diff --git a/test/reference/record2x-fill-alpha.base.rgb24.ref.png b/test/reference/record2x-fill-alpha.base.rgb24.ref.png new file mode 100644 index 000000000..b75f358d2 Binary files /dev/null and b/test/reference/record2x-fill-alpha.base.rgb24.ref.png differ diff --git a/test/reference/record2x-fill-alpha.base.xfail.png b/test/reference/record2x-fill-alpha.base.xfail.png new file mode 100644 index 000000000..b96ff8d00 Binary files /dev/null and b/test/reference/record2x-fill-alpha.base.xfail.png differ diff --git a/test/reference/record2x-paint-alpha-clip-mask.base.argb32.ref.png b/test/reference/record2x-paint-alpha-clip-mask.base.argb32.ref.png new file mode 100644 index 000000000..6e70c77a5 Binary files /dev/null and b/test/reference/record2x-paint-alpha-clip-mask.base.argb32.ref.png differ diff --git a/test/reference/record2x-paint-alpha-clip-mask.base.rgb24.ref.png b/test/reference/record2x-paint-alpha-clip-mask.base.rgb24.ref.png new file mode 100644 index 000000000..6e70c77a5 Binary files /dev/null and b/test/reference/record2x-paint-alpha-clip-mask.base.rgb24.ref.png differ diff --git a/test/reference/record2x-paint-alpha-clip.base.argb32.ref.png b/test/reference/record2x-paint-alpha-clip.base.argb32.ref.png new file mode 100644 index 000000000..b3829d56e Binary files /dev/null and b/test/reference/record2x-paint-alpha-clip.base.argb32.ref.png differ diff --git a/test/reference/record2x-paint-alpha-clip.base.rgb24.ref.png b/test/reference/record2x-paint-alpha-clip.base.rgb24.ref.png new file mode 100644 index 000000000..b3829d56e Binary files /dev/null and b/test/reference/record2x-paint-alpha-clip.base.rgb24.ref.png differ diff --git a/test/reference/record2x-paint-alpha-solid-clip.base.argb32.ref.png b/test/reference/record2x-paint-alpha-solid-clip.base.argb32.ref.png new file mode 100644 index 000000000..06e350f35 Binary files /dev/null and b/test/reference/record2x-paint-alpha-solid-clip.base.argb32.ref.png differ diff --git a/test/reference/record2x-paint-alpha-solid-clip.base.rgb24.ref.png b/test/reference/record2x-paint-alpha-solid-clip.base.rgb24.ref.png new file mode 100644 index 000000000..06e350f35 Binary files /dev/null and b/test/reference/record2x-paint-alpha-solid-clip.base.rgb24.ref.png differ diff --git a/test/reference/record2x-paint-alpha.base.argb32.ref.png b/test/reference/record2x-paint-alpha.base.argb32.ref.png new file mode 100644 index 000000000..3a02b675c Binary files /dev/null and b/test/reference/record2x-paint-alpha.base.argb32.ref.png differ diff --git a/test/reference/record2x-paint-alpha.base.rgb24.ref.png b/test/reference/record2x-paint-alpha.base.rgb24.ref.png new file mode 100644 index 000000000..3a02b675c Binary files /dev/null and b/test/reference/record2x-paint-alpha.base.rgb24.ref.png differ diff --git a/test/reference/record2x-paint.base.argb32.ref.png b/test/reference/record2x-paint.base.argb32.ref.png new file mode 100644 index 000000000..792a1d033 Binary files /dev/null and b/test/reference/record2x-paint.base.argb32.ref.png differ diff --git a/test/reference/record2x-paint.base.rgb24.ref.png b/test/reference/record2x-paint.base.rgb24.ref.png new file mode 100644 index 000000000..792a1d033 Binary files /dev/null and b/test/reference/record2x-paint.base.rgb24.ref.png differ diff --git a/test/reference/record2x-select-font-face.base.argb32.ref.png b/test/reference/record2x-select-font-face.base.argb32.ref.png new file mode 100644 index 000000000..7a99795e4 Binary files /dev/null and b/test/reference/record2x-select-font-face.base.argb32.ref.png differ diff --git a/test/reference/record2x-select-font-face.base.rgb24.ref.png b/test/reference/record2x-select-font-face.base.rgb24.ref.png new file mode 100644 index 000000000..7a99795e4 Binary files /dev/null and b/test/reference/record2x-select-font-face.base.rgb24.ref.png differ diff --git a/test/reference/record2x-self-intersecting.base.argb32.ref.png b/test/reference/record2x-self-intersecting.base.argb32.ref.png new file mode 100644 index 000000000..2836dae03 Binary files /dev/null and b/test/reference/record2x-self-intersecting.base.argb32.ref.png differ diff --git a/test/reference/record2x-self-intersecting.base.rgb24.ref.png b/test/reference/record2x-self-intersecting.base.rgb24.ref.png new file mode 100644 index 000000000..2836dae03 Binary files /dev/null and b/test/reference/record2x-self-intersecting.base.rgb24.ref.png differ diff --git a/test/reference/record2x-text-transform.base.argb32.ref.png b/test/reference/record2x-text-transform.base.argb32.ref.png new file mode 100644 index 000000000..6c21785ef Binary files /dev/null and b/test/reference/record2x-text-transform.base.argb32.ref.png differ diff --git a/test/reference/record2x-text-transform.base.rgb24.ref.png b/test/reference/record2x-text-transform.base.rgb24.ref.png new file mode 100644 index 000000000..6c21785ef Binary files /dev/null and b/test/reference/record2x-text-transform.base.rgb24.ref.png differ diff --git a/test/reference/record90-fill-alpha.base.argb32.ref.png b/test/reference/record90-fill-alpha.base.argb32.ref.png new file mode 100644 index 000000000..8eb44532f Binary files /dev/null and b/test/reference/record90-fill-alpha.base.argb32.ref.png differ diff --git a/test/reference/record90-fill-alpha.base.rgb24.ref.png b/test/reference/record90-fill-alpha.base.rgb24.ref.png new file mode 100644 index 000000000..8eb44532f Binary files /dev/null and b/test/reference/record90-fill-alpha.base.rgb24.ref.png differ diff --git a/test/reference/record90-paint-alpha-clip-mask.base.argb32.ref.png b/test/reference/record90-paint-alpha-clip-mask.base.argb32.ref.png new file mode 100644 index 000000000..e14ce9af8 Binary files /dev/null and b/test/reference/record90-paint-alpha-clip-mask.base.argb32.ref.png differ diff --git a/test/reference/record90-paint-alpha-clip-mask.base.rgb24.ref.png b/test/reference/record90-paint-alpha-clip-mask.base.rgb24.ref.png new file mode 100644 index 000000000..e14ce9af8 Binary files /dev/null and b/test/reference/record90-paint-alpha-clip-mask.base.rgb24.ref.png differ diff --git a/test/reference/record90-paint-alpha-clip.base.argb32.ref.png b/test/reference/record90-paint-alpha-clip.base.argb32.ref.png new file mode 100644 index 000000000..12a168354 Binary files /dev/null and b/test/reference/record90-paint-alpha-clip.base.argb32.ref.png differ diff --git a/test/reference/record90-paint-alpha-clip.base.rgb24.ref.png b/test/reference/record90-paint-alpha-clip.base.rgb24.ref.png new file mode 100644 index 000000000..12a168354 Binary files /dev/null and b/test/reference/record90-paint-alpha-clip.base.rgb24.ref.png differ diff --git a/test/reference/record90-paint-alpha-solid-clip.base.argb32.ref.png b/test/reference/record90-paint-alpha-solid-clip.base.argb32.ref.png new file mode 100644 index 000000000..95e7da6c6 Binary files /dev/null and b/test/reference/record90-paint-alpha-solid-clip.base.argb32.ref.png differ diff --git a/test/reference/record90-paint-alpha-solid-clip.base.rgb24.ref.png b/test/reference/record90-paint-alpha-solid-clip.base.rgb24.ref.png new file mode 100644 index 000000000..95e7da6c6 Binary files /dev/null and b/test/reference/record90-paint-alpha-solid-clip.base.rgb24.ref.png differ diff --git a/test/reference/record90-paint-alpha.base.argb32.ref.png b/test/reference/record90-paint-alpha.base.argb32.ref.png new file mode 100644 index 000000000..57aa95d37 Binary files /dev/null and b/test/reference/record90-paint-alpha.base.argb32.ref.png differ diff --git a/test/reference/record90-paint-alpha.base.rgb24.ref.png b/test/reference/record90-paint-alpha.base.rgb24.ref.png new file mode 100644 index 000000000..57aa95d37 Binary files /dev/null and b/test/reference/record90-paint-alpha.base.rgb24.ref.png differ diff --git a/test/reference/record90-paint.base.argb32.ref.png b/test/reference/record90-paint.base.argb32.ref.png new file mode 100644 index 000000000..22cc7a1ae Binary files /dev/null and b/test/reference/record90-paint.base.argb32.ref.png differ diff --git a/test/reference/record90-paint.base.rgb24.ref.png b/test/reference/record90-paint.base.rgb24.ref.png new file mode 100644 index 000000000..22cc7a1ae Binary files /dev/null and b/test/reference/record90-paint.base.rgb24.ref.png differ diff --git a/test/reference/record90-select-font-face.base.argb32.ref.png b/test/reference/record90-select-font-face.base.argb32.ref.png new file mode 100644 index 000000000..189a3154d Binary files /dev/null and b/test/reference/record90-select-font-face.base.argb32.ref.png differ diff --git a/test/reference/record90-select-font-face.base.rgb24.ref.png b/test/reference/record90-select-font-face.base.rgb24.ref.png new file mode 100644 index 000000000..189a3154d Binary files /dev/null and b/test/reference/record90-select-font-face.base.rgb24.ref.png differ diff --git a/test/reference/record90-self-intersecting.base.argb32.ref.png b/test/reference/record90-self-intersecting.base.argb32.ref.png new file mode 100644 index 000000000..ea115829e Binary files /dev/null and b/test/reference/record90-self-intersecting.base.argb32.ref.png differ diff --git a/test/reference/record90-self-intersecting.base.rgb24.ref.png b/test/reference/record90-self-intersecting.base.rgb24.ref.png new file mode 100644 index 000000000..ea115829e Binary files /dev/null and b/test/reference/record90-self-intersecting.base.rgb24.ref.png differ diff --git a/test/reference/record90-text-transform.base.argb32.ref.png b/test/reference/record90-text-transform.base.argb32.ref.png new file mode 100644 index 000000000..22f6c1f0c Binary files /dev/null and b/test/reference/record90-text-transform.base.argb32.ref.png differ diff --git a/test/reference/record90-text-transform.base.rgb24.ref.png b/test/reference/record90-text-transform.base.rgb24.ref.png new file mode 100644 index 000000000..22f6c1f0c Binary files /dev/null and b/test/reference/record90-text-transform.base.rgb24.ref.png differ