[cairo-commit] 10 commits - boilerplate/meson.build .gitlab-ci/ignore-image16-rgb24.txt .gitlab-ci/ignore-image-argb32.txt .gitlab-ci/ignore-image-rgb24.txt .gitlab-ci/ignore-pdf-argb32.txt .gitlab-ci/ignore-pdf-rgb24.txt .gitlab-ci/ignore-quartz-argb32.txt .gitlab-ci/ignore-quartz-rgb24.txt .gitlab-ci/ignore-recording-argb32.txt .gitlab-ci/ignore-recording-rgb24.txt .gitlab-ci/ignore-script-argb32.txt .gitlab-ci/ignore-svg11-argb32.txt .gitlab-ci/ignore-svg11-rgb24.txt .gitlab-ci/ignore-xcb-argb32.txt .gitlab-ci/ignore-xcb-fallback-rgb24.txt .gitlab-ci/ignore-xcb-render-0-0-argb32.txt .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt .gitlab-ci/ignore-xcb-rgb24.txt .gitlab-ci/ignore-xcb-window&-rgb24.txt .gitlab-ci/ignore-xcb-window-rgb24.txt .gitlab-ci/ignore-xlib-argb32.txt .gitlab-ci/ignore-xlib-fallback-rgb24.txt .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt .gitlab-ci/ignore-xlib-rgb24.txt .gitlab-ci/ignore-xlib-window-rgb24.txt .gitlab-ci.yml meson.build perf/meson.build perf/micro src/check -headers.sh src/check-plt.sh src/meson.build test/any2ppm.c test/meson.build test/pdiff util/cairo-gobject util/cairo-missing util/cairo-script util/cairo-sphinx util/meson.build
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Jun 17 14:25:18 UTC 2021
.gitlab-ci.yml | 48 ++---
.gitlab-ci/ignore-image-argb32.txt | 20 ++
.gitlab-ci/ignore-image-rgb24.txt | 22 ++
.gitlab-ci/ignore-image16-rgb24.txt | 264 ++++++++++++++++++++++++++++
.gitlab-ci/ignore-pdf-argb32.txt | 75 +++++++
.gitlab-ci/ignore-pdf-rgb24.txt | 90 +++++++++
.gitlab-ci/ignore-quartz-argb32.txt | 53 +++++
.gitlab-ci/ignore-quartz-rgb24.txt | 54 +++++
.gitlab-ci/ignore-recording-argb32.txt | 35 +++
.gitlab-ci/ignore-recording-rgb24.txt | 36 +++
.gitlab-ci/ignore-script-argb32.txt | 190 ++++++++++++++++++++
.gitlab-ci/ignore-svg11-argb32.txt | 63 ++++++
.gitlab-ci/ignore-svg11-rgb24.txt | 69 +++++++
.gitlab-ci/ignore-xcb-argb32.txt | 56 +++++
.gitlab-ci/ignore-xcb-fallback-rgb24.txt | 23 ++
.gitlab-ci/ignore-xcb-render-0-0-argb32.txt | 30 +++
.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt | 36 +++
.gitlab-ci/ignore-xcb-rgb24.txt | 132 ++++++++++++++
.gitlab-ci/ignore-xcb-window&-rgb24.txt | 115 ++++++++++++
.gitlab-ci/ignore-xcb-window-rgb24.txt | 115 ++++++++++++
.gitlab-ci/ignore-xlib-argb32.txt | 127 +++++++++++++
.gitlab-ci/ignore-xlib-fallback-rgb24.txt | 108 +++++++++++
.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt | 54 +++++
.gitlab-ci/ignore-xlib-rgb24.txt | 185 +++++++++++++++++++
.gitlab-ci/ignore-xlib-window-rgb24.txt | 167 +++++++++++++++++
boilerplate/meson.build | 10 -
meson.build | 4
perf/meson.build | 93 +++++++++
perf/micro/meson.build | 57 ++++++
src/check-headers.sh | 2
src/check-plt.sh | 12 -
src/meson.build | 30 +++
test/any2ppm.c | 3
test/meson.build | 20 --
test/pdiff/meson.build | 15 +
util/cairo-gobject/meson.build | 9
util/cairo-missing/meson.build | 7
util/cairo-script/meson.build | 24 --
util/cairo-sphinx/meson.build | 6
util/meson.build | 7
40 files changed, 2384 insertions(+), 82 deletions(-)
New commits:
commit 43a48fb6a51066665e2ed5736eb8874c8f696693
Merge: 07d601218 339671c78
Author: Uli Schlachter <psychon at znc.in>
Date: Thu Jun 17 14:25:16 2021 +0000
Merge branch 'more-meson' into 'master'
Add more of the auto-foo build to meson
See merge request cairo/cairo!183
commit 07d60121858e91ddba1aa7eda5f6474977b8c940
Merge: 39db60e95 47c70d53e
Author: Uli Schlachter <psychon at znc.in>
Date: Thu Jun 3 23:52:43 2021 +0000
Merge branch 'expected-failure-line-separated' into 'master'
Move test failure lists into separate files with one test name per line
See merge request cairo/cairo!187
commit 39db60e957c71e2acfd9c32ab17b4a28b4a28218
Merge: 2edcb1ac2 1e3465142
Author: Uli Schlachter <psychon at znc.in>
Date: Thu Jun 3 15:26:07 2021 +0000
Merge branch 'build-without-zlib' into 'master'
meson: Use more dependency objects & fix build without zlib
Closes #475
See merge request cairo/cairo!184
commit 47c70d53e48a9ce74b6cbb64d0dffe0b96bc7ad6
Author: Uli Schlachter <psychon at znc.in>
Date: Thu Jun 3 17:19:17 2021 +0200
Switch to line-separated test failure lists
Having comma separated lists of test names that we expect to fail leads
to really unreadable and useless diffs. Thus, this commit changes these
lists to be separated by newlines. This change was generated with:
( cd .gitlab-ci ; for x in * ; do tr ',' '\n' < $x > .$x ; mv .$x $x ; done )
The code in .gitlab-ci.yml is changed to use tr again to transfer these
lists back so that everything still works.
Signed-off-by: Uli Schlachter <psychon at znc.in>
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1eb93e5bd..52db4de47 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -104,28 +104,28 @@ fedora autotools build:
# Current test failures that we ignore for now
- export CAIRO_TEST_UGLY_HACK_TO_SOMETIMES_IGNORE_SCRIPT_XCB_HUGE_IMAGE_SHM=1
- export CAIRO_TEST_UGLY_HACK_TO_IGNORE_CREATE_FOR_STREAM=1
- - export CAIRO_TEST_IGNORE_pdf_argb32=$(cat .gitlab-ci/ignore-pdf-argb32.txt)
- - export CAIRO_TEST_IGNORE_pdf_rgb24=$(cat .gitlab-ci/ignore-pdf-rgb24.txt)
- - export CAIRO_TEST_IGNORE_script_argb32=$(cat .gitlab-ci/ignore-script-argb32.txt)
- - export CAIRO_TEST_IGNORE_image_argb32=$(cat .gitlab-ci/ignore-image-argb32.txt)
- - export CAIRO_TEST_IGNORE_image_rgb24=$(cat .gitlab-ci/ignore-image-rgb24.txt)
- - export CAIRO_TEST_IGNORE_image16_rgb24=$(cat .gitlab-ci/ignore-image16-rgb24.txt)
- - export CAIRO_TEST_IGNORE_recording_argb32=$(cat .gitlab-ci/ignore-recording-argb32.txt)
- - export CAIRO_TEST_IGNORE_recording_rgb24=$(cat .gitlab-ci/ignore-recording-rgb24.txt)
- - export CAIRO_TEST_IGNORE_svg11_argb32=$(cat .gitlab-ci/ignore-svg11-argb32.txt)
- - export CAIRO_TEST_IGNORE_svg11_rgb24=$(cat .gitlab-ci/ignore-svg11-rgb24.txt)
- - export CAIRO_TEST_IGNORE_xcb_argb32=$(cat .gitlab-ci/ignore-xcb-argb32.txt)
- - export CAIRO_TEST_IGNORE_xcb_rgb24=$(cat .gitlab-ci/ignore-xcb-rgb24.txt)
- - export CAIRO_TEST_IGNORE_xcb_window_rgb24=$(cat .gitlab-ci/ignore-xcb-window-rgb24.txt)
- - export CAIRO_TEST_IGNORE_xcb_window__rgb24=$(cat '.gitlab-ci/ignore-xcb-window&-rgb24.txt')
- - export CAIRO_TEST_IGNORE_xcb_render_0_0_argb32=$(cat .gitlab-ci/ignore-xcb-render-0-0-argb32.txt)
- - export CAIRO_TEST_IGNORE_xcb_render_0_0_rgb24=$(cat .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt)
- - export CAIRO_TEST_IGNORE_xcb_fallback_rgb24=$(cat .gitlab-ci/ignore-xcb-fallback-rgb24.txt)
- - export CAIRO_TEST_IGNORE_xlib_argb32=$(cat .gitlab-ci/ignore-xlib-argb32.txt)
- - export CAIRO_TEST_IGNORE_xlib_rgb24=$(cat .gitlab-ci/ignore-xlib-rgb24.txt)
- - export CAIRO_TEST_IGNORE_xlib_window_rgb24=$(cat .gitlab-ci/ignore-xlib-window-rgb24.txt)
- - export CAIRO_TEST_IGNORE_xlib_render_0_0_rgb24=$(cat .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt)
- - export CAIRO_TEST_IGNORE_xlib_fallback_rgb24=$(cat .gitlab-ci/ignore-xlib-fallback-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_pdf_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-pdf-argb32.txt)
+ - export CAIRO_TEST_IGNORE_pdf_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-pdf-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_script_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-script-argb32.txt)
+ - export CAIRO_TEST_IGNORE_image_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-image-argb32.txt)
+ - export CAIRO_TEST_IGNORE_image_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-image-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_image16_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-image16-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_recording_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-recording-argb32.txt)
+ - export CAIRO_TEST_IGNORE_recording_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-recording-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_svg11_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-svg11-argb32.txt)
+ - export CAIRO_TEST_IGNORE_svg11_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-svg11-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xcb_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-xcb-argb32.txt)
+ - export CAIRO_TEST_IGNORE_xcb_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xcb-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xcb_window_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xcb-window-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xcb_window__rgb24=$(tr '\n' ',' < '.gitlab-ci/ignore-xcb-window&-rgb24.txt')
+ - export CAIRO_TEST_IGNORE_xcb_render_0_0_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-xcb-render-0-0-argb32.txt)
+ - export CAIRO_TEST_IGNORE_xcb_render_0_0_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xcb_fallback_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xcb-fallback-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xlib_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-xlib-argb32.txt)
+ - export CAIRO_TEST_IGNORE_xlib_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xlib-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xlib_window_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xlib-window-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xlib_render_0_0_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xlib_fallback_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-xlib-fallback-rgb24.txt)
- export CAIRO_BOILERPLATE_OPEN_NO_DAEMON=1
- export CAIRO_BOILERPLATE_DO_NOT_CRASH_ON_ANY2PPM_ERROR=1
- export ANY2PPM="timeout 3m ./any2ppm"
@@ -288,7 +288,7 @@ meson macOS:
- meson setup -Dpixman:tests=disabled build
- meson compile --verbose -C build
# Test cairo-quartz. Other backends should be covered by other jobs
- - export CAIRO_TEST_IGNORE_quartz_argb32=$(cat .gitlab-ci/ignore-quartz-argb32.txt)
- - export CAIRO_TEST_IGNORE_quartz_rgb24=$(cat .gitlab-ci/ignore-quartz-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_quartz_argb32=$(tr '\n' ',' < .gitlab-ci/ignore-quartz-argb32.txt)
+ - export CAIRO_TEST_IGNORE_quartz_rgb24=$(tr '\n' ',' < .gitlab-ci/ignore-quartz-rgb24.txt)
- export CAIRO_TEST_TARGET=quartz
- (cd build/test && srcdir=../../test ./cairo-test-suite)
diff --git a/.gitlab-ci/ignore-image-argb32.txt b/.gitlab-ci/ignore-image-argb32.txt
index d906b2379..9b70c84a5 100644
--- a/.gitlab-ci/ignore-image-argb32.txt
+++ b/.gitlab-ci/ignore-image-argb32.txt
@@ -1 +1,20 @@
-clip-text,culled-glyphs,halo-transform,overlapping-glyphs,record1414x-select-font-face,record1414x-text-transform,show-glyphs-advance,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+clip-text
+culled-glyphs
+halo-transform
+overlapping-glyphs
+record1414x-select-font-face
+record1414x-text-transform
+show-glyphs-advance
+subsurface
+subsurface-scale
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-pattern
+text-rotate
+text-unhinted-metrics
+ft-show-glyphs-positioning
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-image-rgb24.txt b/.gitlab-ci/ignore-image-rgb24.txt
index c5e73feaa..abaa20111 100644
--- a/.gitlab-ci/ignore-image-rgb24.txt
+++ b/.gitlab-ci/ignore-image-rgb24.txt
@@ -1 +1,22 @@
-clip-text,culled-glyphs,extended-blend-alpha-mask,halo-transform,overlapping-glyphs,record1414x-select-font-face,record1414x-text-transform,shifted-operator,show-glyphs-advance,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+clip-text
+culled-glyphs
+extended-blend-alpha-mask
+halo-transform
+overlapping-glyphs
+record1414x-select-font-face
+record1414x-text-transform
+shifted-operator
+show-glyphs-advance
+subsurface
+subsurface-scale
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-pattern
+text-rotate
+text-unhinted-metrics
+ft-show-glyphs-positioning
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-image16-rgb24.txt b/.gitlab-ci/ignore-image16-rgb24.txt
index eb8f8b2fe..6705caf6b 100644
--- a/.gitlab-ci/ignore-image16-rgb24.txt
+++ b/.gitlab-ci/ignore-image16-rgb24.txt
@@ -1 +1,264 @@
-a1-bug,aliasing,arc-direction,arc-looping-dash,big-line,bug-spline,bug-84115,bug-bo-ricotz,bug-source-cu,bug-extents,bug-seams,bug-image-compositor,caps,caps-2,caps-05,caps-joins-2,caps-joins-alpha,caps-joins-curve,caps-tails-curve,clear-source,clip-disjoint,clip-disjoint-quad,clip-stroke-unbounded,clip-fill-nz-unbounded,clip-fill-eo-unbounded,clip-fill,clip-image,clip-intersect,clip-operator,clip-push-group,clip-shape,clip-stroke,clip-text,clip-twice,close-path-current-point,copy-path,coverage-rectangles,coverage-rhombus,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,coverage-abutting,culled-glyphs,dash-caps-joins,dash-curve,dash-scale,dash-state,dash-zero-length,degenerate-arc,degenerate-curve-to,degenerate-path,degenerate-pen,degenerate-rel-curve-to,drunkard-tails,extend-pad-border,extended-blend,extended-blend-alpha,extended-blend-mask,extended-blend-alpha-mask,extended-blend-solid,extended-blend-so
lid-alpha,fallback,fill-alpha,fill-alpha-pattern,fill-and-stroke,fill-and-stroke-alpha,fill-and-stroke-alpha-add,fill-degenerate-sort-order,fill-image,fill-missed-stop,fill-rule,filter-bilinear-extents,finer-grained-fallbacks,font-matrix-translation,glyph-cache-pressure,gradient-alpha,gradient-constant-alpha,group-unaligned,halo,halo-transform,hatchings,huge-linear,huge-radial,inverse-text,joins,joins-loop,joins-star,joins-retrace,large-font,large-twin-antialias-mixed,leaky-dashed-stroke,line-width-overlap-offset,line-width-scale,linear-gradient,linear-gradient-reflect,linear-gradient-subset,long-dashed-lines,mask,mask-alpha,mask-ctm,mask-surface-ctm,mask-transformed-image,mask-transformed-similar,mesh-pattern,mesh-pattern-conical,mesh-pattern-control-points,mesh-pattern-fold,mesh-pattern-overlap,mesh-pattern-transformed,new-sub-path,operator-source,over-around-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,paint-source-alpha,paint-with-alpha,paint-with-alpha-clip
,paint-with-alpha-clip-mask,partial-coverage-reference,partial-coverage-three-quarter-reference,pass-through,path-append,path-stroke-twice,pdf-isolated-group,pixman-downscale-fast-96,pixman-downscale-good-96,pixman-downscale-best-96,pixman-downscale-best-24,pixman-downscale-nearest-96,pixman-downscale-bilinear-96,pixman-rotate,push-group,push-group-color,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,random-clip,random-intersections-eo,random-intersections-nonzero,random-intersections-curves-eo,random-intersections-curves-nz,raster-source,record-paint-alpha,record-paint-alpha-clip,record-paint-alpha-clip-mask,record-fill-alpha,record-select-font-face,record-text-transform,record1414x-paint-alpha,record1414x-paint-alpha-clip,record1414x-paint-alpha-clip-mask,record1414x-fill-alpha,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha,record2x-paint-alpha-clip,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-se
lect-font-face,record2x-text-transform,record90-paint-alpha,record90-paint-alpha-clip,record90-paint-alpha-clip-mask,record90-fill-alpha,record90-select-font-face,record90-text-transform,recordflip-whole-paint-alpha,recordflip-whole-paint-alpha-clip,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-select-font-face,recordflip-whole-text-transform,recordflip-paint-alpha,recordflip-paint-alpha-clip,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-select-font-face,recordflip-text-transform,record-neg-extents-unbounded,record-neg-extents-bounded,record-mesh,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,rectilinear-dash-scale-unaligned,reflected-stroke,rel-path,rotate-clip-image-surface-paint,rotated-clip,rounded-rectangle-fill,rounded-rectangle-stroke,scale-off
set-image,scale-offset-similar,stroke-ctm-caps,stroke-image,select-font-face,set-source,shifted-operator,show-glyphs-advance,show-text-current-point,shape-general-convex,shape-sierpinski,simple-edge,smask,smask-fill,smask-mask,smask-paint,smask-stroke,smask-text,spline-decomposition,stroke-pattern,subsurface,subsurface-scale,surface-pattern,surface-pattern-operator,surface-pattern-scale-down,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,tighten-bounds,tiger,a1-tiger,transforms,trap-clip,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-subpixel,unbounded-operator,unclosed-strokes,user-font,user-font-mask,user-font-proxy,user-font-rescale,world-map,world-map-stroke,world-map-fill,xcb-huge-image-shm,xcb-huge-subimage,xcomposite-projection,pthread-same-source,pth
read-show-text,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+a1-bug
+aliasing
+arc-direction
+arc-looping-dash
+big-line
+bug-spline
+bug-84115
+bug-bo-ricotz
+bug-source-cu
+bug-extents
+bug-seams
+bug-image-compositor
+caps
+caps-2
+caps-05
+caps-joins-2
+caps-joins-alpha
+caps-joins-curve
+caps-tails-curve
+clear-source
+clip-disjoint
+clip-disjoint-quad
+clip-stroke-unbounded
+clip-fill-nz-unbounded
+clip-fill-eo-unbounded
+clip-fill
+clip-image
+clip-intersect
+clip-operator
+clip-push-group
+clip-shape
+clip-stroke
+clip-text
+clip-twice
+close-path-current-point
+copy-path
+coverage-rectangles
+coverage-rhombus
+coverage-intersecting-quads
+coverage-intersecting-triangles
+coverage-row-triangles
+coverage-column-triangles
+coverage-triangles
+coverage-abutting
+culled-glyphs
+dash-caps-joins
+dash-curve
+dash-scale
+dash-state
+dash-zero-length
+degenerate-arc
+degenerate-curve-to
+degenerate-path
+degenerate-pen
+degenerate-rel-curve-to
+drunkard-tails
+extend-pad-border
+extended-blend
+extended-blend-alpha
+extended-blend-mask
+extended-blend-alpha-mask
+extended-blend-solid
+extended-blend-solid-alpha
+fallback
+fill-alpha
+fill-alpha-pattern
+fill-and-stroke
+fill-and-stroke-alpha
+fill-and-stroke-alpha-add
+fill-degenerate-sort-order
+fill-image
+fill-missed-stop
+fill-rule
+filter-bilinear-extents
+finer-grained-fallbacks
+font-matrix-translation
+glyph-cache-pressure
+gradient-alpha
+gradient-constant-alpha
+group-unaligned
+halo
+halo-transform
+hatchings
+huge-linear
+huge-radial
+inverse-text
+joins
+joins-loop
+joins-star
+joins-retrace
+large-font
+large-twin-antialias-mixed
+leaky-dashed-stroke
+line-width-overlap-offset
+line-width-scale
+linear-gradient
+linear-gradient-reflect
+linear-gradient-subset
+long-dashed-lines
+mask
+mask-alpha
+mask-ctm
+mask-surface-ctm
+mask-transformed-image
+mask-transformed-similar
+mesh-pattern
+mesh-pattern-conical
+mesh-pattern-control-points
+mesh-pattern-fold
+mesh-pattern-overlap
+mesh-pattern-transformed
+new-sub-path
+operator-source
+over-around-source
+overlapping-boxes
+overlapping-glyphs
+overlapping-dash-caps
+paint-source-alpha
+paint-with-alpha
+paint-with-alpha-clip
+paint-with-alpha-clip-mask
+partial-coverage-reference
+partial-coverage-three-quarter-reference
+pass-through
+path-append
+path-stroke-twice
+pdf-isolated-group
+pixman-downscale-fast-96
+pixman-downscale-good-96
+pixman-downscale-best-96
+pixman-downscale-best-24
+pixman-downscale-nearest-96
+pixman-downscale-bilinear-96
+pixman-rotate
+push-group
+push-group-color
+radial-gradient
+radial-gradient-mask
+radial-gradient-source
+radial-gradient-mask-source
+random-clip
+random-intersections-eo
+random-intersections-nonzero
+random-intersections-curves-eo
+random-intersections-curves-nz
+raster-source
+record-paint-alpha
+record-paint-alpha-clip
+record-paint-alpha-clip-mask
+record-fill-alpha
+record-select-font-face
+record-text-transform
+record1414x-paint-alpha
+record1414x-paint-alpha-clip
+record1414x-paint-alpha-clip-mask
+record1414x-fill-alpha
+record1414x-select-font-face
+record1414x-text-transform
+record2x-paint-alpha
+record2x-paint-alpha-clip
+record2x-paint-alpha-clip-mask
+record2x-fill-alpha
+record2x-select-font-face
+record2x-text-transform
+record90-paint-alpha
+record90-paint-alpha-clip
+record90-paint-alpha-clip-mask
+record90-fill-alpha
+record90-select-font-face
+record90-text-transform
+recordflip-whole-paint-alpha
+recordflip-whole-paint-alpha-clip
+recordflip-whole-paint-alpha-clip-mask
+recordflip-whole-fill-alpha
+recordflip-whole-select-font-face
+recordflip-whole-text-transform
+recordflip-paint-alpha
+recordflip-paint-alpha-clip
+recordflip-paint-alpha-clip-mask
+recordflip-fill-alpha
+recordflip-select-font-face
+recordflip-text-transform
+record-neg-extents-unbounded
+record-neg-extents-bounded
+record-mesh
+record-replay-extend-repeat
+record-replay-extend-reflect
+record-replay-extend-pad
+recording-surface-over
+recording-surface-source
+recording-surface-extend-none
+recording-surface-extend-repeat
+recording-surface-extend-reflect
+rectilinear-dash-scale-unaligned
+reflected-stroke
+rel-path
+rotate-clip-image-surface-paint
+rotated-clip
+rounded-rectangle-fill
+rounded-rectangle-stroke
+scale-offset-image
+scale-offset-similar
+stroke-ctm-caps
+stroke-image
+select-font-face
+set-source
+shifted-operator
+show-glyphs-advance
+show-text-current-point
+shape-general-convex
+shape-sierpinski
+simple-edge
+smask
+smask-fill
+smask-mask
+smask-paint
+smask-stroke
+smask-text
+spline-decomposition
+stroke-pattern
+subsurface
+subsurface-scale
+surface-pattern
+surface-pattern-operator
+surface-pattern-scale-down
+surface-pattern-scale-up
+text-antialias-gray
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-glyph-range
+text-pattern
+text-rotate
+text-transform
+text-unhinted-metrics
+tighten-bounds
+tiger
+a1-tiger
+transforms
+trap-clip
+twin
+twin-antialias-gray
+twin-antialias-mixed
+twin-antialias-subpixel
+unbounded-operator
+unclosed-strokes
+user-font
+user-font-mask
+user-font-proxy
+user-font-rescale
+world-map
+world-map-stroke
+world-map-fill
+xcb-huge-image-shm
+xcb-huge-subimage
+xcomposite-projection
+pthread-same-source
+pthread-show-text
+ft-show-glyphs-positioning
+ft-show-glyphs-table
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-pdf-argb32.txt b/.gitlab-ci/ignore-pdf-argb32.txt
index 8c1017c32..2fc1fa760 100644
--- a/.gitlab-ci/ignore-pdf-argb32.txt
+++ b/.gitlab-ci/ignore-pdf-argb32.txt
@@ -1 +1,75 @@
-bug-image-compositor,clear-source,clip-operator,clip-text,culled-glyphs,extended-blend,extended-blend-solid,fallback,filter-bilinear-extents,filter-nearest-offset,filter-nearest-transformed,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,inverse-text,large-font,linear-gradient-reflect,mask,operator-alpha-alpha,overlapping-glyphs,paint-with-alpha-clip,partial-clip-text-bottom,partial-clip-text-left,pixman-downscale-fast-95,pixman-downscale-fast-24,pixman-downscale-good-24,pixman-downscale-best-95,pixman-downscale-best-24,pixman-downscale-nearest-95,pixman-downscale-nearest-24,pixman-downscale-bilinear-24,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-gradient-one-stop,record1414x-select-font-face,record1414x-text-transform,record2x-text-transform,record-replay-extend-repeat,record-replay-extend-reflect,recording-surface-over,recording-surface-extend-repeat,recording-surface-extend-reflect,rectilinear-miter-limit,rectili
near-dash,rectilinear-stroke,rotate-image-surface-paint,rotate-clip-image-surface-paint,select-font-face,self-copy,show-glyphs-advance,show-text-current-point,smask-text,smp-glyph,surface-pattern,surface-pattern-operator,surface-pattern-scale-down,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,thin-lines,trap-clip,twin,user-font-proxy,user-font-rescale,pthread-same-source,pthread-show-text,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+bug-image-compositor
+clear-source
+clip-operator
+clip-text
+culled-glyphs
+extended-blend
+extended-blend-solid
+fallback
+filter-bilinear-extents
+filter-nearest-offset
+filter-nearest-transformed
+font-matrix-translation
+glyph-cache-pressure
+halo
+halo-transform
+inverse-text
+large-font
+linear-gradient-reflect
+mask
+operator-alpha-alpha
+overlapping-glyphs
+paint-with-alpha-clip
+partial-clip-text-bottom
+partial-clip-text-left
+pixman-downscale-fast-95
+pixman-downscale-fast-24
+pixman-downscale-good-24
+pixman-downscale-best-95
+pixman-downscale-best-24
+pixman-downscale-nearest-95
+pixman-downscale-nearest-24
+pixman-downscale-bilinear-24
+radial-gradient
+radial-gradient-mask
+radial-gradient-source
+radial-gradient-mask-source
+radial-gradient-one-stop
+record1414x-select-font-face
+record1414x-text-transform
+record2x-text-transform
+record-replay-extend-repeat
+record-replay-extend-reflect
+recording-surface-over
+recording-surface-extend-repeat
+recording-surface-extend-reflect
+rectilinear-miter-limit
+rectilinear-dash
+rectilinear-stroke
+rotate-image-surface-paint
+rotate-clip-image-surface-paint
+select-font-face
+self-copy
+show-glyphs-advance
+show-text-current-point
+smask-text
+smp-glyph
+surface-pattern
+surface-pattern-operator
+surface-pattern-scale-down
+text-glyph-range
+text-pattern
+text-rotate
+text-transform
+text-unhinted-metrics
+thin-lines
+trap-clip
+twin
+user-font-proxy
+user-font-rescale
+pthread-same-source
+pthread-show-text
+ft-show-glyphs-positioning
+ft-show-glyphs-table
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-pdf-rgb24.txt b/.gitlab-ci/ignore-pdf-rgb24.txt
index 5c99e00e6..ae5e7e994 100644
--- a/.gitlab-ci/ignore-pdf-rgb24.txt
+++ b/.gitlab-ci/ignore-pdf-rgb24.txt
@@ -1 +1,90 @@
-bug-image-compositor,clear-source,clip-text,culled-glyphs,extended-blend-alpha-mask,extended-blend-solid,filter-bilinear-extents,filter-nearest-offset,filter-nearest-transformed,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,inverse-text,large-font,linear-gradient-reflect,mask,operator-alpha-alpha,overlapping-glyphs,paint-with-alpha-clip,partial-clip-text-bottom,partial-clip-text-left,pixman-downscale-fast-95,pixman-downscale-fast-24,pixman-downscale-good-24,pixman-downscale-best-95,pixman-downscale-best-24,pixman-downscale-nearest-95,pixman-downscale-nearest-24,pixman-downscale-bilinear-24,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-gradient-one-stop,random-intersections-curves-eo,random-intersections-curves-nz,record-paint-alpha-clip,record-select-font-face,record-text-transform,record1414x-paint-alpha,record1414x-paint-alpha-clip,record1414x-paint-alpha-clip-mask,record1414x-select-font-face,record1414x-text-tra
nsform,record2x-paint-alpha-clip-mask,record2x-select-font-face,record2x-text-transform,record90-paint-alpha-clip,record90-paint-alpha-clip-mask,record90-select-font-face,record90-text-transform,recordflip-whole-select-font-face,recordflip-whole-self-intersecting,recordflip-whole-text-transform,recordflip-select-font-face,recordflip-text-transform,record-replay-extend-repeat,record-replay-extend-reflect,recording-surface-over,recording-surface-extend-repeat,rectilinear-miter-limit,rectilinear-dash,rectilinear-stroke,rel-path,rotate-image-surface-paint,rotate-clip-image-surface-paint,select-font-face,self-copy,show-glyphs-advance,show-text-current-point,smask-text,smp-glyph,surface-pattern,surface-pattern-scale-down,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,trap-clip,twin,user-font-proxy,user-font-rescale,pthread-same-source,pthread-show-text,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type
3
+bug-image-compositor
+clear-source
+clip-text
+culled-glyphs
+extended-blend-alpha-mask
+extended-blend-solid
+filter-bilinear-extents
+filter-nearest-offset
+filter-nearest-transformed
+font-matrix-translation
+glyph-cache-pressure
+halo
+halo-transform
+inverse-text
+large-font
+linear-gradient-reflect
+mask
+operator-alpha-alpha
+overlapping-glyphs
+paint-with-alpha-clip
+partial-clip-text-bottom
+partial-clip-text-left
+pixman-downscale-fast-95
+pixman-downscale-fast-24
+pixman-downscale-good-24
+pixman-downscale-best-95
+pixman-downscale-best-24
+pixman-downscale-nearest-95
+pixman-downscale-nearest-24
+pixman-downscale-bilinear-24
+radial-gradient
+radial-gradient-mask
+radial-gradient-source
+radial-gradient-mask-source
+radial-gradient-one-stop
+random-intersections-curves-eo
+random-intersections-curves-nz
+record-paint-alpha-clip
+record-select-font-face
+record-text-transform
+record1414x-paint-alpha
+record1414x-paint-alpha-clip
+record1414x-paint-alpha-clip-mask
+record1414x-select-font-face
+record1414x-text-transform
+record2x-paint-alpha-clip-mask
+record2x-select-font-face
+record2x-text-transform
+record90-paint-alpha-clip
+record90-paint-alpha-clip-mask
+record90-select-font-face
+record90-text-transform
+recordflip-whole-select-font-face
+recordflip-whole-self-intersecting
+recordflip-whole-text-transform
+recordflip-select-font-face
+recordflip-text-transform
+record-replay-extend-repeat
+record-replay-extend-reflect
+recording-surface-over
+recording-surface-extend-repeat
+rectilinear-miter-limit
+rectilinear-dash
+rectilinear-stroke
+rel-path
+rotate-image-surface-paint
+rotate-clip-image-surface-paint
+select-font-face
+self-copy
+show-glyphs-advance
+show-text-current-point
+smask-text
+smp-glyph
+surface-pattern
+surface-pattern-scale-down
+text-glyph-range
+text-pattern
+text-rotate
+text-transform
+text-unhinted-metrics
+trap-clip
+twin
+user-font-proxy
+user-font-rescale
+pthread-same-source
+pthread-show-text
+ft-show-glyphs-positioning
+ft-show-glyphs-table
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-quartz-argb32.txt b/.gitlab-ci/ignore-quartz-argb32.txt
index 157f2f4d6..67810065a 100644
--- a/.gitlab-ci/ignore-quartz-argb32.txt
+++ b/.gitlab-ci/ignore-quartz-argb32.txt
@@ -1 +1,53 @@
-bug-361,bug-431,bug-image-compositor,clip-operator,coverage-rhombus,culled-glyphs,extended-blend-alpha,extended-blend-mask,extended-blend-alpha-mask,extended-blend-solid-alpha,fallback,negative-stride-image,operator-www,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,record-paint-alpha-clip-mask,record-fill-alpha,record-select-font-face,record-text-transform,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-select-font-face,record2x-text-transform,record90-fill-alpha,record90-select-font-face,record90-text-transform,recordflip-whole-select-font-face,recordflip-whole-text-transform,recordflip-select-font-face,recordflip-text-transform,record-neg-extents-bounded,record-mesh,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,simple-edge,subsurface,subsurface-outside-target,subsurface-scale,surface-pattern,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias
-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-unhinted-metrics,user-font-proxy,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+bug-361
+bug-431
+bug-image-compositor
+clip-operator
+coverage-rhombus
+culled-glyphs
+extended-blend-alpha
+extended-blend-mask
+extended-blend-alpha-mask
+extended-blend-solid-alpha
+fallback
+negative-stride-image
+operator-www
+radial-gradient
+radial-gradient-mask
+radial-gradient-source
+radial-gradient-mask-source
+record-paint-alpha-clip-mask
+record-fill-alpha
+record-select-font-face
+record-text-transform
+record1414x-select-font-face
+record1414x-text-transform
+record2x-paint-alpha-clip-mask
+record2x-select-font-face
+record2x-text-transform
+record90-fill-alpha
+record90-select-font-face
+record90-text-transform
+recordflip-whole-select-font-face
+recordflip-whole-text-transform
+recordflip-select-font-face
+recordflip-text-transform
+record-neg-extents-bounded
+record-mesh
+record-replay-extend-repeat
+record-replay-extend-reflect
+record-replay-extend-pad
+simple-edge
+subsurface
+subsurface-outside-target
+subsurface-scale
+surface-pattern
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-unhinted-metrics
+user-font-proxy
+ft-show-glyphs-positioning
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-quartz-rgb24.txt b/.gitlab-ci/ignore-quartz-rgb24.txt
index 68f54907e..314ef4aef 100644
--- a/.gitlab-ci/ignore-quartz-rgb24.txt
+++ b/.gitlab-ci/ignore-quartz-rgb24.txt
@@ -1 +1,54 @@
-bug-361,bug-431,bug-448,bug-image-compositor,coverage-rhombus,culled-glyphs,extended-blend,extended-blend-alpha,extended-blend-mask,extended-blend-alpha-mask,extended-blend-solid,extended-blend-solid-alpha,negative-stride-image,operator-www,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,record-paint-alpha-clip-mask,record-fill-alpha,record-select-font-face,record-text-transform,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-select-font-face,record2x-text-transform,record90-fill-alpha,record90-select-font-face,record90-text-transform,recordflip-whole-select-font-face,recordflip-whole-text-transform,recordflip-select-font-face,recordflip-text-transform,record-neg-extents-unbounded,record-neg-extents-bounded,record-mesh,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,shifted-operator,simple-edge,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-su
bpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-unhinted-metrics,user-font-proxy,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+bug-361
+bug-431
+bug-448
+bug-image-compositor
+coverage-rhombus
+culled-glyphs
+extended-blend
+extended-blend-alpha
+extended-blend-mask
+extended-blend-alpha-mask
+extended-blend-solid
+extended-blend-solid-alpha
+negative-stride-image
+operator-www
+radial-gradient
+radial-gradient-mask
+radial-gradient-source
+radial-gradient-mask-source
+record-paint-alpha-clip-mask
+record-fill-alpha
+record-select-font-face
+record-text-transform
+record1414x-select-font-face
+record1414x-text-transform
+record2x-paint-alpha-clip-mask
+record2x-select-font-face
+record2x-text-transform
+record90-fill-alpha
+record90-select-font-face
+record90-text-transform
+recordflip-whole-select-font-face
+recordflip-whole-text-transform
+recordflip-select-font-face
+recordflip-text-transform
+record-neg-extents-unbounded
+record-neg-extents-bounded
+record-mesh
+record-replay-extend-repeat
+record-replay-extend-reflect
+record-replay-extend-pad
+shifted-operator
+simple-edge
+subsurface
+subsurface-scale
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-unhinted-metrics
+user-font-proxy
+ft-show-glyphs-positioning
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-recording-argb32.txt b/.gitlab-ci/ignore-recording-argb32.txt
index b406fd1a7..99cee110f 100644
--- a/.gitlab-ci/ignore-recording-argb32.txt
+++ b/.gitlab-ci/ignore-recording-argb32.txt
@@ -1 +1,35 @@
-bug-source-cu,clear-source,clip-text,coverage-rectangles,culled-glyphs,finer-grained-fallbacks,halo-transform,overlapping-glyphs,record1414x-fill-alpha,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-text-transform,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,scale-offset-similar,show-glyphs-advance,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,pthread-same-source,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+bug-source-cu
+clear-source
+clip-text
+coverage-rectangles
+culled-glyphs
+finer-grained-fallbacks
+halo-transform
+overlapping-glyphs
+record1414x-fill-alpha
+record1414x-select-font-face
+record1414x-text-transform
+record2x-paint-alpha-clip-mask
+record2x-fill-alpha
+record2x-text-transform
+recording-surface-over
+recording-surface-source
+recording-surface-extend-none
+recording-surface-extend-repeat
+recording-surface-extend-reflect
+scale-offset-similar
+show-glyphs-advance
+subsurface
+subsurface-scale
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-pattern
+text-rotate
+text-unhinted-metrics
+pthread-same-source
+ft-show-glyphs-positioning
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-recording-rgb24.txt b/.gitlab-ci/ignore-recording-rgb24.txt
index f1f9c37a5..47838dcc3 100644
--- a/.gitlab-ci/ignore-recording-rgb24.txt
+++ b/.gitlab-ci/ignore-recording-rgb24.txt
@@ -1 +1,36 @@
-bug-source-cu,clear-source,clip-text,coverage-rectangles,culled-glyphs,extended-blend-alpha-mask,finer-grained-fallbacks,halo-transform,overlapping-glyphs,record1414x-fill-alpha,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-text-transform,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,scale-offset-similar,show-glyphs-advance,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,pthread-same-source,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+bug-source-cu
+clear-source
+clip-text
+coverage-rectangles
+culled-glyphs
+extended-blend-alpha-mask
+finer-grained-fallbacks
+halo-transform
+overlapping-glyphs
+record1414x-fill-alpha
+record1414x-select-font-face
+record1414x-text-transform
+record2x-paint-alpha-clip-mask
+record2x-fill-alpha
+record2x-text-transform
+recording-surface-over
+recording-surface-source
+recording-surface-extend-none
+recording-surface-extend-repeat
+recording-surface-extend-reflect
+scale-offset-similar
+show-glyphs-advance
+subsurface
+subsurface-scale
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-pattern
+text-rotate
+text-unhinted-metrics
+pthread-same-source
+ft-show-glyphs-positioning
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-script-argb32.txt b/.gitlab-ci/ignore-script-argb32.txt
index b6cb256ff..493e69bdb 100644
--- a/.gitlab-ci/ignore-script-argb32.txt
+++ b/.gitlab-ci/ignore-script-argb32.txt
@@ -1 +1,190 @@
-a1-bug,a1-fill,arc-looping-dash,bilevel-image,bug-51910,bug-84115,bug-seams,caps,caps-2,caps-1,caps-05,checkerboard,caps-joins-2,caps-joins-1,caps-joins-05,caps-joins-curve,caps-tails-curve,caps-sub-paths,clear-source,clip-disjoint-quad,clip-device-offset,clip-image,clip-mixed-antialias,clip-push-group,clip-polygons,clip-text,close-path,close-path-current-point,composite-integer-translate-over-repeat,copy-path,coverage-rectangles,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-abutting,culled-glyphs,dash-caps-joins,dash-curve,dash-infinite-loop,dash-scale,dash-state,degenerate-curve-to,degenerate-linear-gradient,degenerate-pen,degenerate-radial-gradient,degenerate-rel-curve-to,device-offset-scale,extend-pad-border,fill-and-stroke-alpha,fill-and-stroke-alpha-add,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,huge-radial,image-surface-source,xcb-surface-source,xlib-surface-source,infinite-join,inverse-text,joins,large-font
,large-source,large-twin-antialias-mixed,leaky-dashed-rectangle,leaky-dashed-stroke,leaky-polygon,line-width-scale,line-width-tolerance,linear-gradient-extend,linear-gradient-reflect,long-dashed-lines,map-all-to-image,map-bit-to-image,map-to-image-fill,mask-transformed-image,mask-transformed-similar,mesh-pattern,mesh-pattern-conical,mesh-pattern-control-points,mesh-pattern-fold,mesh-pattern-overlap,mesh-pattern-transformed,negative-stride-image,operator-alpha-alpha,overlapping-glyphs,paint-source-alpha,paint-with-alpha,paint-with-alpha-solid-clip,paint-with-alpha-clip,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,partial-coverage-half-reference,path-stroke-twice,push-group-color,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-gradient-one-stop,radial-gradient-extend,record-paint-alpha-solid-clip,record-paint-alpha-clip,record-select-font-face,record-text-transform,rec
ord1414x-paint-alpha,record1414x-paint-alpha-solid-clip,record1414x-paint-alpha-clip,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha,record2x-paint-alpha-solid-clip,record2x-paint-alpha-clip,record2x-select-font-face,record2x-text-transform,record90-paint-alpha-clip-mask,record90-select-font-face,record90-text-transform,recordflip-whole-select-font-face,recordflip-whole-text-transform,recordflip-select-font-face,recordflip-text-transform,record-neg-extents-bounded,record-mesh,record-replay-extend-none,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,rectilinear-miter-limit,reflected-stroke,scale-offset-image,scale-offset-similar,stroke-ctm-caps,select-font-face,self-copy,show-glyphs-advance,show-text-current-point,shape-sierpinski,smask,smask-image-mask,smask-mask,smask-paint,smask
-text,stride-12-image,subsurface,subsurface-scale,surface-pattern,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,transforms,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unclosed-strokes,user-font,user-font-proxy,user-font-rescale,world-map,world-map-stroke,world-map-fill,xcb-stress-cache,xcomposite-projection,pthread-show-text,bitmap-font,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3,ft-text-antialias-none,pdf-surface-source,ps-surface-source
+a1-bug
+a1-fill
+arc-looping-dash
+bilevel-image
+bug-51910
+bug-84115
+bug-seams
+caps
+caps-2
+caps-1
+caps-05
+checkerboard
+caps-joins-2
+caps-joins-1
+caps-joins-05
+caps-joins-curve
+caps-tails-curve
+caps-sub-paths
+clear-source
+clip-disjoint-quad
+clip-device-offset
+clip-image
+clip-mixed-antialias
+clip-push-group
+clip-polygons
+clip-text
+close-path
+close-path-current-point
+composite-integer-translate-over-repeat
+copy-path
+coverage-rectangles
+coverage-intersecting-quads
+coverage-intersecting-triangles
+coverage-abutting
+culled-glyphs
+dash-caps-joins
+dash-curve
+dash-infinite-loop
+dash-scale
+dash-state
+degenerate-curve-to
+degenerate-linear-gradient
+degenerate-pen
+degenerate-radial-gradient
+degenerate-rel-curve-to
+device-offset-scale
+extend-pad-border
+fill-and-stroke-alpha
+fill-and-stroke-alpha-add
+filter-bilinear-extents
+font-matrix-translation
+glyph-cache-pressure
+halo
+halo-transform
+huge-radial
+image-surface-source
+xcb-surface-source
+xlib-surface-source
+infinite-join
+inverse-text
+joins
+large-font
+large-source
+large-twin-antialias-mixed
+leaky-dashed-rectangle
+leaky-dashed-stroke
+leaky-polygon
+line-width-scale
+line-width-tolerance
+linear-gradient-extend
+linear-gradient-reflect
+long-dashed-lines
+map-all-to-image
+map-bit-to-image
+map-to-image-fill
+mask-transformed-image
+mask-transformed-similar
+mesh-pattern
+mesh-pattern-conical
+mesh-pattern-control-points
+mesh-pattern-fold
+mesh-pattern-overlap
+mesh-pattern-transformed
+negative-stride-image
+operator-alpha-alpha
+overlapping-glyphs
+paint-source-alpha
+paint-with-alpha
+paint-with-alpha-solid-clip
+paint-with-alpha-clip
+partial-clip-text-bottom
+partial-clip-text-left
+partial-coverage-reference
+partial-coverage-three-quarter-reference
+partial-coverage-half-reference
+path-stroke-twice
+push-group-color
+radial-gradient
+radial-gradient-mask
+radial-gradient-source
+radial-gradient-mask-source
+radial-gradient-one-stop
+radial-gradient-extend
+record-paint-alpha-solid-clip
+record-paint-alpha-clip
+record-select-font-face
+record-text-transform
+record1414x-paint-alpha
+record1414x-paint-alpha-solid-clip
+record1414x-paint-alpha-clip
+record1414x-select-font-face
+record1414x-text-transform
+record2x-paint-alpha
+record2x-paint-alpha-solid-clip
+record2x-paint-alpha-clip
+record2x-select-font-face
+record2x-text-transform
+record90-paint-alpha-clip-mask
+record90-select-font-face
+record90-text-transform
+recordflip-whole-select-font-face
+recordflip-whole-text-transform
+recordflip-select-font-face
+recordflip-text-transform
+record-neg-extents-bounded
+record-mesh
+record-replay-extend-none
+record-replay-extend-repeat
+record-replay-extend-reflect
+record-replay-extend-pad
+recording-surface-over
+recording-surface-source
+recording-surface-extend-none
+recording-surface-extend-repeat
+recording-surface-extend-reflect
+rectilinear-miter-limit
+reflected-stroke
+scale-offset-image
+scale-offset-similar
+stroke-ctm-caps
+select-font-face
+self-copy
+show-glyphs-advance
+show-text-current-point
+shape-sierpinski
+smask
+smask-image-mask
+smask-mask
+smask-paint
+smask-text
+stride-12-image
+subsurface
+subsurface-scale
+surface-pattern
+surface-pattern-scale-up
+text-antialias-gray
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-glyph-range
+text-pattern
+text-rotate
+text-transform
+text-unhinted-metrics
+transforms
+twin
+twin-antialias-gray
+twin-antialias-mixed
+twin-antialias-none
+twin-antialias-subpixel
+unclosed-strokes
+user-font
+user-font-proxy
+user-font-rescale
+world-map
+world-map-stroke
+world-map-fill
+xcb-stress-cache
+xcomposite-projection
+pthread-show-text
+bitmap-font
+ft-show-glyphs-positioning
+ft-show-glyphs-table
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
+ft-text-antialias-none
+pdf-surface-source
+ps-surface-source
diff --git a/.gitlab-ci/ignore-svg11-argb32.txt b/.gitlab-ci/ignore-svg11-argb32.txt
index 11422691b..26de01d66 100644
--- a/.gitlab-ci/ignore-svg11-argb32.txt
+++ b/.gitlab-ci/ignore-svg11-argb32.txt
@@ -1 +1,63 @@
-alpha-similar,clear-source,clip-operator,clip-text,culled-glyphs,extended-blend-solid,extended-blend-solid-alpha,filter-bilinear-extents,filter-nearest-offset,filter-nearest-transformed,halo-transform,linear-gradient-reflect,mask-transformed-image,operator-alpha-alpha,overlapping-glyphs,paint-source-alpha,paint-with-alpha,paint-with-alpha-clip,paint-with-alpha-clip-mask,radial-gradient,radial-gradient-mask,record-paint-alpha,record-paint-alpha-clip,record-paint-alpha-clip-mask,record1414x-paint-alpha,record1414x-paint-alpha-clip,record1414x-paint-alpha-clip-mask,record1414x-fill-alpha,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha,record2x-paint-alpha-clip,record2x-paint-alpha-clip-mask,record90-paint-alpha-clip,record90-paint-alpha-clip-mask,recordflip-whole-paint-alpha,recordflip-whole-paint-alpha-clip,recordflip-whole-paint-alpha-clip-mask,recordflip-paint-alpha,recordflip-paint-alpha-clip,recordflip-paint-alpha-clip-mask,scale-offset-image,scale-sou
rce-surface-paint,self-copy,show-glyphs-advance,smask,smask-image-mask,smask-mask,smask-paint,smask-stroke,smask-text,surface-pattern,surface-pattern-operator,surface-pattern-scale-up,text-pattern,text-rotate,text-unhinted-metrics,tighten-bounds,unbounded-operator,pthread-similar,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+alpha-similar
+clear-source
+clip-operator
+clip-text
+culled-glyphs
+extended-blend-solid
+extended-blend-solid-alpha
+filter-bilinear-extents
+filter-nearest-offset
+filter-nearest-transformed
+halo-transform
+linear-gradient-reflect
+mask-transformed-image
+operator-alpha-alpha
+overlapping-glyphs
+paint-source-alpha
+paint-with-alpha
+paint-with-alpha-clip
+paint-with-alpha-clip-mask
+radial-gradient
+radial-gradient-mask
+record-paint-alpha
+record-paint-alpha-clip
+record-paint-alpha-clip-mask
+record1414x-paint-alpha
+record1414x-paint-alpha-clip
+record1414x-paint-alpha-clip-mask
+record1414x-fill-alpha
+record1414x-select-font-face
+record1414x-text-transform
+record2x-paint-alpha
+record2x-paint-alpha-clip
+record2x-paint-alpha-clip-mask
+record90-paint-alpha-clip
+record90-paint-alpha-clip-mask
+recordflip-whole-paint-alpha
+recordflip-whole-paint-alpha-clip
+recordflip-whole-paint-alpha-clip-mask
+recordflip-paint-alpha
+recordflip-paint-alpha-clip
+recordflip-paint-alpha-clip-mask
+scale-offset-image
+scale-source-surface-paint
+self-copy
+show-glyphs-advance
+smask
+smask-image-mask
+smask-mask
+smask-paint
+smask-stroke
+smask-text
+surface-pattern
+surface-pattern-operator
+surface-pattern-scale-up
+text-pattern
+text-rotate
+text-unhinted-metrics
+tighten-bounds
+unbounded-operator
+pthread-similar
+ft-show-glyphs-positioning
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-svg11-rgb24.txt b/.gitlab-ci/ignore-svg11-rgb24.txt
index a00568bdc..4dd13ae01 100644
--- a/.gitlab-ci/ignore-svg11-rgb24.txt
+++ b/.gitlab-ci/ignore-svg11-rgb24.txt
@@ -1 +1,69 @@
-alpha-similar,clear-source,clip-operator,clip-text,culled-glyphs,extended-blend-alpha-mask,extended-blend-solid,extended-blend-solid-alpha,filter-bilinear-extents,filter-nearest-offset,filter-nearest-transformed,gradient-alpha,gradient-constant-alpha,halo-transform,linear-gradient-reflect,mask,mask-transformed-image,operator-alpha-alpha,overlapping-glyphs,paint-source-alpha,paint-with-alpha,paint-with-alpha-clip,paint-with-alpha-clip-mask,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,record-paint-alpha,record-paint-alpha-clip,record-paint-alpha-clip-mask,record1414x-paint-alpha,record1414x-paint-alpha-clip,record1414x-paint-alpha-clip-mask,record1414x-fill-alpha,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha,record2x-paint-alpha-clip,record2x-paint-alpha-clip-mask,record90-paint-alpha-clip,record90-paint-alpha-clip-mask,recordflip-whole-paint-alpha,recordflip-whole-paint-alpha-clip,recordflip-whole-paint-alpha-c
lip-mask,recordflip-paint-alpha,recordflip-paint-alpha-clip,recordflip-paint-alpha-clip-mask,scale-offset-image,scale-source-surface-paint,self-copy,show-glyphs-advance,smask,smask-image-mask,smask-mask,smask-paint,smask-stroke,smask-text,surface-pattern,surface-pattern-operator,surface-pattern-scale-up,text-pattern,text-rotate,text-unhinted-metrics,tighten-bounds,unbounded-operator,pthread-similar,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+alpha-similar
+clear-source
+clip-operator
+clip-text
+culled-glyphs
+extended-blend-alpha-mask
+extended-blend-solid
+extended-blend-solid-alpha
+filter-bilinear-extents
+filter-nearest-offset
+filter-nearest-transformed
+gradient-alpha
+gradient-constant-alpha
+halo-transform
+linear-gradient-reflect
+mask
+mask-transformed-image
+operator-alpha-alpha
+overlapping-glyphs
+paint-source-alpha
+paint-with-alpha
+paint-with-alpha-clip
+paint-with-alpha-clip-mask
+radial-gradient
+radial-gradient-mask
+radial-gradient-source
+radial-gradient-mask-source
+record-paint-alpha
+record-paint-alpha-clip
+record-paint-alpha-clip-mask
+record1414x-paint-alpha
+record1414x-paint-alpha-clip
+record1414x-paint-alpha-clip-mask
+record1414x-fill-alpha
+record1414x-select-font-face
+record1414x-text-transform
+record2x-paint-alpha
+record2x-paint-alpha-clip
+record2x-paint-alpha-clip-mask
+record90-paint-alpha-clip
+record90-paint-alpha-clip-mask
+recordflip-whole-paint-alpha
+recordflip-whole-paint-alpha-clip
+recordflip-whole-paint-alpha-clip-mask
+recordflip-paint-alpha
+recordflip-paint-alpha-clip
+recordflip-paint-alpha-clip-mask
+scale-offset-image
+scale-source-surface-paint
+self-copy
+show-glyphs-advance
+smask
+smask-image-mask
+smask-mask
+smask-paint
+smask-stroke
+smask-text
+surface-pattern
+surface-pattern-operator
+surface-pattern-scale-up
+text-pattern
+text-rotate
+text-unhinted-metrics
+tighten-bounds
+unbounded-operator
+pthread-similar
+ft-show-glyphs-positioning
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xcb-argb32.txt b/.gitlab-ci/ignore-xcb-argb32.txt
index 2241039c7..2acf41059 100644
--- a/.gitlab-ci/ignore-xcb-argb32.txt
+++ b/.gitlab-ci/ignore-xcb-argb32.txt
@@ -1 +1,56 @@
-bug-spline,clip-operator,coverage-rectangles,coverage-rhombus,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,culled-glyphs,fill-image,halo,halo-transform,hatchings,operator-source,overlapping-boxes,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-outer-focus,random-clip,record-self-intersecting,record1414x-fill-alpha,record1414x-self-intersecting,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-self-intersecting,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-self-intersecting,recordflip-paint-alpha-clip-mask,recordflip-self-intersecting,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-extend-repeat,recording-surface-extend-pad,rotated-clip,stroke-cl
ipped,stroke-image,simple-edge,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-rotate,tighten-bounds,a1-tiger,twin-antialias-none,unantialiased-shapes,user-font,user-font-proxy,ft-text-vertical-layout-type1
+bug-spline
+clip-operator
+coverage-rectangles
+coverage-rhombus
+coverage-intersecting-quads
+coverage-intersecting-triangles
+coverage-row-triangles
+coverage-column-triangles
+coverage-triangles
+culled-glyphs
+fill-image
+halo
+halo-transform
+hatchings
+operator-source
+overlapping-boxes
+radial-gradient
+radial-gradient-mask
+radial-gradient-source
+radial-gradient-mask-source
+radial-outer-focus
+random-clip
+record-self-intersecting
+record1414x-fill-alpha
+record1414x-self-intersecting
+record2x-paint-alpha-clip-mask
+record2x-fill-alpha
+record90-paint-alpha-solid-clip
+record90-paint-alpha-clip
+record90-self-intersecting
+recordflip-whole-paint-alpha-clip-mask
+recordflip-whole-fill-alpha
+recordflip-whole-self-intersecting
+recordflip-paint-alpha-clip-mask
+recordflip-self-intersecting
+record-neg-extents-unbounded
+record-neg-extents-bounded
+record-replay-extend-repeat
+record-replay-extend-reflect
+record-replay-extend-pad
+recording-surface-extend-repeat
+recording-surface-extend-pad
+rotated-clip
+stroke-clipped
+stroke-image
+simple-edge
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-rotate
+tighten-bounds
+a1-tiger
+twin-antialias-none
+unantialiased-shapes
+user-font
+user-font-proxy
+ft-text-vertical-layout-type1
diff --git a/.gitlab-ci/ignore-xcb-fallback-rgb24.txt b/.gitlab-ci/ignore-xcb-fallback-rgb24.txt
index 39e43d94e..8f2477884 100644
--- a/.gitlab-ci/ignore-xcb-fallback-rgb24.txt
+++ b/.gitlab-ci/ignore-xcb-fallback-rgb24.txt
@@ -1 +1,23 @@
-clip-text,coverage-intersecting-triangles,culled-glyphs,extended-blend-alpha-mask,fallback,halo-transform,overlapping-glyphs,record1414x-select-font-face,record1414x-text-transform,show-glyphs-advance,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+clip-text
+coverage-intersecting-triangles
+culled-glyphs
+extended-blend-alpha-mask
+fallback
+halo-transform
+overlapping-glyphs
+record1414x-select-font-face
+record1414x-text-transform
+show-glyphs-advance
+subsurface
+subsurface-scale
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-pattern
+text-rotate
+text-unhinted-metrics
+ft-show-glyphs-positioning
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xcb-render-0-0-argb32.txt b/.gitlab-ci/ignore-xcb-render-0-0-argb32.txt
index 79727e7dd..13bcae273 100644
--- a/.gitlab-ci/ignore-xcb-render-0-0-argb32.txt
+++ b/.gitlab-ci/ignore-xcb-render-0-0-argb32.txt
@@ -1 +1,30 @@
-clip-disjoint-hatching,clip-stroke-unbounded,clip-fill-nz-unbounded,clip-fill-eo-unbounded,clip-operator,clip-polygons,clip-shape,clip-twice,coverage-intersecting-triangles,culled-glyphs,hatchings,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,random-clip,record-paint-alpha-solid-clip,record1414x-select-font-face,record1414x-text-transform,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,rotated-clip,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,trap-clip,ft-text-vertical-layout-type1
+clip-disjoint-hatching
+clip-stroke-unbounded
+clip-fill-nz-unbounded
+clip-fill-eo-unbounded
+clip-operator
+clip-polygons
+clip-shape
+clip-twice
+coverage-intersecting-triangles
+culled-glyphs
+hatchings
+radial-gradient
+radial-gradient-mask
+radial-gradient-source
+radial-gradient-mask-source
+random-clip
+record-paint-alpha-solid-clip
+record1414x-select-font-face
+record1414x-text-transform
+record-neg-extents-bounded
+record-replay-extend-repeat
+record-replay-extend-reflect
+rotated-clip
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+trap-clip
+ft-text-vertical-layout-type1
diff --git a/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt b/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt
index d2c1efacd..21de16050 100644
--- a/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt
+++ b/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt
@@ -1 +1,36 @@
-clip-disjoint-hatching,clip-stroke-unbounded,clip-fill-nz-unbounded,clip-fill-eo-unbounded,clip-operator,clip-polygons,clip-shape,clip-twice,coverage-intersecting-triangles,culled-glyphs,extended-blend-alpha-mask,fallback,hatchings,mask,operator-source,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,random-clip,record-paint-alpha-solid-clip,record1414x-select-font-face,record1414x-text-transform,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,recording-surface-over,recording-surface-extend-none,rotated-clip,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,trap-clip,ft-text-vertical-layout-type1
+clip-disjoint-hatching
+clip-stroke-unbounded
+clip-fill-nz-unbounded
+clip-fill-eo-unbounded
+clip-operator
+clip-polygons
+clip-shape
+clip-twice
+coverage-intersecting-triangles
+culled-glyphs
+extended-blend-alpha-mask
+fallback
+hatchings
+mask
+operator-source
+radial-gradient
+radial-gradient-mask
+radial-gradient-source
+radial-gradient-mask-source
+random-clip
+record-paint-alpha-solid-clip
+record1414x-select-font-face
+record1414x-text-transform
+record-neg-extents-bounded
+record-replay-extend-repeat
+record-replay-extend-reflect
+recording-surface-over
+recording-surface-extend-none
+rotated-clip
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+trap-clip
+ft-text-vertical-layout-type1
diff --git a/.gitlab-ci/ignore-xcb-rgb24.txt b/.gitlab-ci/ignore-xcb-rgb24.txt
index c673be6ae..c1823bb5a 100644
--- a/.gitlab-ci/ignore-xcb-rgb24.txt
+++ b/.gitlab-ci/ignore-xcb-rgb24.txt
@@ -1 +1,132 @@
-arc-looping-dash,bug-spline,bug-51910,bug-84115,bug-source-cu,bug-image-compositor,caps-2,caps-1,caps-05,caps-joins-2,caps-joins-1,caps-joins-05,clear-source,clip-operator,clip-text,coverage-rectangles,coverage-rhombus,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,coverage-abutting,culled-glyphs,dash-curve,extended-blend-alpha-mask,fallback,fill-image,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,hatchings,inverse-text,large-font,linear-gradient,linear-gradient-subset,mask,mask-transformed-image,mask-transformed-similar,operator-alpha-alpha,operator-clear,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,push-group,push-group-color,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,rad
ial-outer-focus,random-clip,record-self-intersecting,record1414x-fill-alpha,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-fill-alpha,record90-self-intersecting,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-self-intersecting,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-self-intersecting,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,recording-surface-extend-pad,reflected-stroke,rotated-clip,select-font-face,stroke-clipped,stroke-image,show-glyphs-advance,show-text-current-point,simple-edge,smask,smask-fill,smask-image-mask,smask-mask,smask-paint,smask-stroke,smp-glyph,s
ubsurface,subsurface-scale,surface-pattern-operator,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-rotate,text-transform,tighten-bounds,a1-tiger,trap-clip,twin,twin-antialias-gray,twin-antialias-none,twin-antialias-subpixel,unantialiased-shapes,unbounded-operator,user-font,user-font-proxy,world-map,world-map-fill,xcomposite-projection,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+arc-looping-dash
+bug-spline
+bug-51910
+bug-84115
+bug-source-cu
+bug-image-compositor
+caps-2
+caps-1
+caps-05
+caps-joins-2
+caps-joins-1
+caps-joins-05
+clear-source
+clip-operator
+clip-text
+coverage-rectangles
+coverage-rhombus
+coverage-intersecting-quads
+coverage-intersecting-triangles
+coverage-row-triangles
+coverage-column-triangles
+coverage-triangles
+coverage-abutting
+culled-glyphs
+dash-curve
+extended-blend-alpha-mask
+fallback
+fill-image
+filter-bilinear-extents
+font-matrix-translation
+glyph-cache-pressure
+halo
+halo-transform
+hatchings
+inverse-text
+large-font
+linear-gradient
+linear-gradient-subset
+mask
+mask-transformed-image
+mask-transformed-similar
+operator-alpha-alpha
+operator-clear
+operator-source
+overlapping-boxes
+overlapping-glyphs
+overlapping-dash-caps
+partial-clip-text-bottom
+partial-clip-text-left
+partial-coverage-reference
+partial-coverage-three-quarter-reference
+push-group
+push-group-color
+radial-gradient
+radial-gradient-mask
+radial-gradient-source
+radial-gradient-mask-source
+radial-outer-focus
+random-clip
+record-self-intersecting
+record1414x-fill-alpha
+record1414x-self-intersecting
+record1414x-text-transform
+record2x-paint-alpha-clip-mask
+record2x-fill-alpha
+record90-paint-alpha-solid-clip
+record90-paint-alpha-clip
+record90-fill-alpha
+record90-self-intersecting
+recordflip-whole-paint-alpha-clip-mask
+recordflip-whole-fill-alpha
+recordflip-whole-self-intersecting
+recordflip-paint-alpha-clip-mask
+recordflip-fill-alpha
+recordflip-self-intersecting
+record-neg-extents-unbounded
+record-neg-extents-bounded
+record-replay-extend-repeat
+record-replay-extend-reflect
+record-replay-extend-pad
+recording-surface-over
+recording-surface-source
+recording-surface-extend-none
+recording-surface-extend-repeat
+recording-surface-extend-reflect
+recording-surface-extend-pad
+reflected-stroke
+rotated-clip
+select-font-face
+stroke-clipped
+stroke-image
+show-glyphs-advance
+show-text-current-point
+simple-edge
+smask
+smask-fill
+smask-image-mask
+smask-mask
+smask-paint
+smask-stroke
+smp-glyph
+subsurface
+subsurface-scale
+surface-pattern-operator
+surface-pattern-scale-up
+text-antialias-gray
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-glyph-range
+text-rotate
+text-transform
+tighten-bounds
+a1-tiger
+trap-clip
+twin
+twin-antialias-gray
+twin-antialias-none
+twin-antialias-subpixel
+unantialiased-shapes
+unbounded-operator
+user-font
+user-font-proxy
+world-map
+world-map-fill
+xcomposite-projection
+ft-show-glyphs-positioning
+ft-show-glyphs-table
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xcb-window&-rgb24.txt b/.gitlab-ci/ignore-xcb-window&-rgb24.txt
index ad655e852..f0137c1c2 100644
--- a/.gitlab-ci/ignore-xcb-window&-rgb24.txt
+++ b/.gitlab-ci/ignore-xcb-window&-rgb24.txt
@@ -1 +1,115 @@
-arc-looping-dash,bug-spline,bug-51910,caps-2,caps-1,caps-05,caps-joins-2,caps-joins-1,caps-joins-05,clear-source,clip-operator,clip-text,coverage-rectangles,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,coverage-abutting,culled-glyphs,extended-blend-alpha-mask,fallback,fill-image,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,inverse-text,linear-gradient,linear-gradient-subset,mask,mask-transformed-image,mask-transformed-similar,operator-alpha-alpha,operator-clear,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,push-group,push-group-color,radial-outer-focus,record-self-intersecting,record1414x-fill-alpha,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record90-p
aint-alpha-solid-clip,record90-paint-alpha-clip,record90-fill-alpha,record90-self-intersecting,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-self-intersecting,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-self-intersecting,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,recording-surface-extend-pad,reflected-stroke,rotated-clip,select-font-face,stroke-clipped,stroke-image,show-glyphs-advance,show-text-current-point,simple-edge,smask,smask-fill,smask-image-mask,smask-mask,smask-paint,smask-stroke,smp-glyph,subsurface,subsurface-scale,surface-pattern-operator,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-su
bpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-rotate,text-transform,tighten-bounds,trap-clip,twin,twin-antialias-gray,twin-antialias-none,twin-antialias-subpixel,unantialiased-shapes,unbounded-operator,xcomposite-projection,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+arc-looping-dash
+bug-spline
+bug-51910
+caps-2
+caps-1
+caps-05
+caps-joins-2
+caps-joins-1
+caps-joins-05
+clear-source
+clip-operator
+clip-text
+coverage-rectangles
+coverage-intersecting-quads
+coverage-intersecting-triangles
+coverage-row-triangles
+coverage-column-triangles
+coverage-triangles
+coverage-abutting
+culled-glyphs
+extended-blend-alpha-mask
+fallback
+fill-image
+filter-bilinear-extents
+font-matrix-translation
+glyph-cache-pressure
+halo
+halo-transform
+inverse-text
+linear-gradient
+linear-gradient-subset
+mask
+mask-transformed-image
+mask-transformed-similar
+operator-alpha-alpha
+operator-clear
+operator-source
+overlapping-boxes
+overlapping-glyphs
+overlapping-dash-caps
+partial-clip-text-bottom
+partial-clip-text-left
+partial-coverage-reference
+partial-coverage-three-quarter-reference
+push-group
+push-group-color
+radial-outer-focus
+record-self-intersecting
+record1414x-fill-alpha
+record1414x-self-intersecting
+record1414x-text-transform
+record2x-paint-alpha-clip-mask
+record2x-fill-alpha
+record90-paint-alpha-solid-clip
+record90-paint-alpha-clip
+record90-fill-alpha
+record90-self-intersecting
+recordflip-whole-paint-alpha-clip-mask
+recordflip-whole-fill-alpha
+recordflip-whole-self-intersecting
+recordflip-paint-alpha-clip-mask
+recordflip-fill-alpha
+recordflip-self-intersecting
+record-neg-extents-unbounded
+record-neg-extents-bounded
+record-replay-extend-repeat
+record-replay-extend-reflect
+record-replay-extend-pad
+recording-surface-over
+recording-surface-source
+recording-surface-extend-none
+recording-surface-extend-repeat
+recording-surface-extend-reflect
+recording-surface-extend-pad
+reflected-stroke
+rotated-clip
+select-font-face
+stroke-clipped
+stroke-image
+show-glyphs-advance
+show-text-current-point
+simple-edge
+smask
+smask-fill
+smask-image-mask
+smask-mask
+smask-paint
+smask-stroke
+smp-glyph
+subsurface
+subsurface-scale
+surface-pattern-operator
+surface-pattern-scale-up
+text-antialias-gray
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-glyph-range
+text-rotate
+text-transform
+tighten-bounds
+trap-clip
+twin
+twin-antialias-gray
+twin-antialias-none
+twin-antialias-subpixel
+unantialiased-shapes
+unbounded-operator
+xcomposite-projection
+ft-show-glyphs-positioning
+ft-show-glyphs-table
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xcb-window-rgb24.txt b/.gitlab-ci/ignore-xcb-window-rgb24.txt
index ad655e852..f0137c1c2 100644
--- a/.gitlab-ci/ignore-xcb-window-rgb24.txt
+++ b/.gitlab-ci/ignore-xcb-window-rgb24.txt
@@ -1 +1,115 @@
-arc-looping-dash,bug-spline,bug-51910,caps-2,caps-1,caps-05,caps-joins-2,caps-joins-1,caps-joins-05,clear-source,clip-operator,clip-text,coverage-rectangles,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,coverage-abutting,culled-glyphs,extended-blend-alpha-mask,fallback,fill-image,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,inverse-text,linear-gradient,linear-gradient-subset,mask,mask-transformed-image,mask-transformed-similar,operator-alpha-alpha,operator-clear,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,push-group,push-group-color,radial-outer-focus,record-self-intersecting,record1414x-fill-alpha,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record90-p
aint-alpha-solid-clip,record90-paint-alpha-clip,record90-fill-alpha,record90-self-intersecting,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-self-intersecting,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-self-intersecting,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,recording-surface-extend-pad,reflected-stroke,rotated-clip,select-font-face,stroke-clipped,stroke-image,show-glyphs-advance,show-text-current-point,simple-edge,smask,smask-fill,smask-image-mask,smask-mask,smask-paint,smask-stroke,smp-glyph,subsurface,subsurface-scale,surface-pattern-operator,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-su
bpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-rotate,text-transform,tighten-bounds,trap-clip,twin,twin-antialias-gray,twin-antialias-none,twin-antialias-subpixel,unantialiased-shapes,unbounded-operator,xcomposite-projection,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+arc-looping-dash
+bug-spline
+bug-51910
+caps-2
+caps-1
+caps-05
+caps-joins-2
+caps-joins-1
+caps-joins-05
+clear-source
+clip-operator
+clip-text
+coverage-rectangles
+coverage-intersecting-quads
+coverage-intersecting-triangles
+coverage-row-triangles
+coverage-column-triangles
+coverage-triangles
+coverage-abutting
+culled-glyphs
+extended-blend-alpha-mask
+fallback
+fill-image
+filter-bilinear-extents
+font-matrix-translation
+glyph-cache-pressure
+halo
+halo-transform
+inverse-text
+linear-gradient
+linear-gradient-subset
+mask
+mask-transformed-image
+mask-transformed-similar
+operator-alpha-alpha
+operator-clear
+operator-source
+overlapping-boxes
+overlapping-glyphs
+overlapping-dash-caps
+partial-clip-text-bottom
+partial-clip-text-left
+partial-coverage-reference
+partial-coverage-three-quarter-reference
+push-group
+push-group-color
+radial-outer-focus
+record-self-intersecting
+record1414x-fill-alpha
+record1414x-self-intersecting
+record1414x-text-transform
+record2x-paint-alpha-clip-mask
+record2x-fill-alpha
+record90-paint-alpha-solid-clip
+record90-paint-alpha-clip
+record90-fill-alpha
+record90-self-intersecting
+recordflip-whole-paint-alpha-clip-mask
+recordflip-whole-fill-alpha
+recordflip-whole-self-intersecting
+recordflip-paint-alpha-clip-mask
+recordflip-fill-alpha
+recordflip-self-intersecting
+record-neg-extents-unbounded
+record-neg-extents-bounded
+record-replay-extend-repeat
+record-replay-extend-reflect
+record-replay-extend-pad
+recording-surface-over
+recording-surface-source
+recording-surface-extend-none
+recording-surface-extend-repeat
+recording-surface-extend-reflect
+recording-surface-extend-pad
+reflected-stroke
+rotated-clip
+select-font-face
+stroke-clipped
+stroke-image
+show-glyphs-advance
+show-text-current-point
+simple-edge
+smask
+smask-fill
+smask-image-mask
+smask-mask
+smask-paint
+smask-stroke
+smp-glyph
+subsurface
+subsurface-scale
+surface-pattern-operator
+surface-pattern-scale-up
+text-antialias-gray
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-glyph-range
+text-rotate
+text-transform
+tighten-bounds
+trap-clip
+twin
+twin-antialias-gray
+twin-antialias-none
+twin-antialias-subpixel
+unantialiased-shapes
+unbounded-operator
+xcomposite-projection
+ft-show-glyphs-positioning
+ft-show-glyphs-table
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xlib-argb32.txt b/.gitlab-ci/ignore-xlib-argb32.txt
index 9ea528ad2..914a7c1bf 100644
--- a/.gitlab-ci/ignore-xlib-argb32.txt
+++ b/.gitlab-ci/ignore-xlib-argb32.txt
@@ -1 +1,127 @@
-aliasing,arc-looping-dash,bug-spline,bug-84115,bug-extents,bug-image-compositor,caps-joins-curve,clip-disjoint,clip-stroke-unbounded,clip-operator,clip-shape,clip-stroke,clip-text,close-path-current-point,coverage-rhombus,coverage-column-triangles,culled-glyphs,dash-caps-joins,dash-curve,dash-scale,degenerate-curve-to,degenerate-pen,degenerate-rel-curve-to,drunkard-tails,extended-blend-alpha-mask,fill-and-stroke,fill-and-stroke-alpha,fill-and-stroke-alpha-add,fill-image,halo,halo-transform,hatchings,joins,joins-loop,joins-retrace,large-twin-antialias-mixed,leaky-dashed-stroke,line-width-scale,line-width-tolerance,long-dashed-lines,new-sub-path,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,path-stroke-twice,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-outer-focus,random-clip,random-intersections-eo,random-intersections-nonzero,random-intersections-curves-eo,random-intersections-curves-nz,record-select-font
-face,record-self-intersecting,record-text-transform,record1414x-fill-alpha,record1414x-select-font-face,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-select-font-face,record2x-text-transform,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-select-font-face,record90-self-intersecting,record90-text-transform,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-select-font-face,recordflip-whole-self-intersecting,recordflip-whole-text-transform,recordflip-paint-alpha-clip-mask,recordflip-select-font-face,recordflip-self-intersecting,recordflip-text-transform,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-none,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-extend-repeat,recording-surface-extend-pad,reflected-stroke,rel-path,rounded-rectangle-stroke,scale-offset-image,scale-offset-similar
,stroke-clipped,stroke-image,show-glyphs-advance,shape-general-convex,shape-sierpinski,simple-edge,smask,smask-stroke,smask-text,spline-decomposition,stroke-pattern,subsurface,subsurface-scale,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,tighten-bounds,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unclosed-strokes,user-font,user-font-proxy,world-map,world-map-stroke,pthread-show-text,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+aliasing
+arc-looping-dash
+bug-spline
+bug-84115
+bug-extents
+bug-image-compositor
+caps-joins-curve
+clip-disjoint
+clip-stroke-unbounded
+clip-operator
+clip-shape
+clip-stroke
+clip-text
+close-path-current-point
+coverage-rhombus
+coverage-column-triangles
+culled-glyphs
+dash-caps-joins
+dash-curve
+dash-scale
+degenerate-curve-to
+degenerate-pen
+degenerate-rel-curve-to
+drunkard-tails
+extended-blend-alpha-mask
+fill-and-stroke
+fill-and-stroke-alpha
+fill-and-stroke-alpha-add
+fill-image
+halo
+halo-transform
+hatchings
+joins
+joins-loop
+joins-retrace
+large-twin-antialias-mixed
+leaky-dashed-stroke
+line-width-scale
+line-width-tolerance
+long-dashed-lines
+new-sub-path
+operator-source
+overlapping-boxes
+overlapping-glyphs
+overlapping-dash-caps
+path-stroke-twice
+radial-gradient
+radial-gradient-mask
+radial-gradient-source
+radial-gradient-mask-source
+radial-outer-focus
+random-clip
+random-intersections-eo
+random-intersections-nonzero
+random-intersections-curves-eo
+random-intersections-curves-nz
+record-select-font-face
+record-self-intersecting
+record-text-transform
+record1414x-fill-alpha
+record1414x-select-font-face
+record1414x-self-intersecting
+record1414x-text-transform
+record2x-paint-alpha-clip-mask
+record2x-fill-alpha
+record2x-select-font-face
+record2x-text-transform
+record90-paint-alpha-solid-clip
+record90-paint-alpha-clip
+record90-select-font-face
+record90-self-intersecting
+record90-text-transform
+recordflip-whole-paint-alpha-clip-mask
+recordflip-whole-fill-alpha
+recordflip-whole-select-font-face
+recordflip-whole-self-intersecting
+recordflip-whole-text-transform
+recordflip-paint-alpha-clip-mask
+recordflip-select-font-face
+recordflip-self-intersecting
+recordflip-text-transform
+record-neg-extents-unbounded
+record-neg-extents-bounded
+record-replay-extend-none
+record-replay-extend-repeat
+record-replay-extend-reflect
+record-replay-extend-pad
+recording-surface-extend-repeat
+recording-surface-extend-pad
+reflected-stroke
+rel-path
+rounded-rectangle-stroke
+scale-offset-image
+scale-offset-similar
+stroke-clipped
+stroke-image
+show-glyphs-advance
+shape-general-convex
+shape-sierpinski
+simple-edge
+smask
+smask-stroke
+smask-text
+spline-decomposition
+stroke-pattern
+subsurface
+subsurface-scale
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-pattern
+text-rotate
+text-unhinted-metrics
+tighten-bounds
+twin
+twin-antialias-gray
+twin-antialias-mixed
+twin-antialias-none
+twin-antialias-subpixel
+unclosed-strokes
+user-font
+user-font-proxy
+world-map
+world-map-stroke
+pthread-show-text
+ft-show-glyphs-positioning
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xlib-fallback-rgb24.txt b/.gitlab-ci/ignore-xlib-fallback-rgb24.txt
index b1f31afa8..f308f68c2 100644
--- a/.gitlab-ci/ignore-xlib-fallback-rgb24.txt
+++ b/.gitlab-ci/ignore-xlib-fallback-rgb24.txt
@@ -1 +1,108 @@
-arc-looping-dash,bug-51910,bug-seams,caps,caps-2,caps-1,caps-05,caps-joins-2,caps-joins-1,caps-joins-05,caps-joins-curve,caps-sub-paths,clear-source,clip-disjoint-quad,clip-image,clip-mixed-antialias,clip-push-group,clip-polygons,clip-text,close-path,close-path-current-point,copy-path,coverage-intersecting-quads,coverage-abutting,culled-glyphs,dash-caps-joins,dash-infinite-loop,dash-scale,dash-zero-length,degenerate-curve-to,degenerate-pen,degenerate-rel-curve-to,extended-blend-alpha-mask,fallback,filter-bilinear-extents,finer-grained-fallbacks,font-matrix-translation,glyph-cache-pressure,halo-transform,infinite-join,inverse-text,joins,large-twin-antialias-mixed,leaky-dashed-stroke,leaky-polygon,line-width-scale,line-width-tolerance,long-dashed-lines,mask-transformed-image,mask-transformed-similar,operator-alpha-alpha,over-above-source,over-around-source,over-between-source,overlapping-glyphs,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage
-three-quarter-reference,path-stroke-twice,push-group-color,record1414x-select-font-face,record1414x-text-transform,recording-surface-over,recording-surface-extend-none,rectilinear-miter-limit,reflected-stroke,stroke-ctm-caps,select-font-face,self-copy,shifted-operator,show-glyphs-advance,show-text-current-point,smask,smask-image-mask,smask-mask,smask-paint,smask-text,smp-glyph,subsurface,subsurface-scale,surface-pattern-scale-down-extend-none,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,transforms,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unclosed-strokes,xcomposite-projection,pthread-show-text,pthread-similar,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+arc-looping-dash
+bug-51910
+bug-seams
+caps
+caps-2
+caps-1
+caps-05
+caps-joins-2
+caps-joins-1
+caps-joins-05
+caps-joins-curve
+caps-sub-paths
+clear-source
+clip-disjoint-quad
+clip-image
+clip-mixed-antialias
+clip-push-group
+clip-polygons
+clip-text
+close-path
+close-path-current-point
+copy-path
+coverage-intersecting-quads
+coverage-abutting
+culled-glyphs
+dash-caps-joins
+dash-infinite-loop
+dash-scale
+dash-zero-length
+degenerate-curve-to
+degenerate-pen
+degenerate-rel-curve-to
+extended-blend-alpha-mask
+fallback
+filter-bilinear-extents
+finer-grained-fallbacks
+font-matrix-translation
+glyph-cache-pressure
+halo-transform
+infinite-join
+inverse-text
+joins
+large-twin-antialias-mixed
+leaky-dashed-stroke
+leaky-polygon
+line-width-scale
+line-width-tolerance
+long-dashed-lines
+mask-transformed-image
+mask-transformed-similar
+operator-alpha-alpha
+over-above-source
+over-around-source
+over-between-source
+overlapping-glyphs
+partial-clip-text-bottom
+partial-clip-text-left
+partial-coverage-reference
+partial-coverage-three-quarter-reference
+path-stroke-twice
+push-group-color
+record1414x-select-font-face
+record1414x-text-transform
+recording-surface-over
+recording-surface-extend-none
+rectilinear-miter-limit
+reflected-stroke
+stroke-ctm-caps
+select-font-face
+self-copy
+shifted-operator
+show-glyphs-advance
+show-text-current-point
+smask
+smask-image-mask
+smask-mask
+smask-paint
+smask-text
+smp-glyph
+subsurface
+subsurface-scale
+surface-pattern-scale-down-extend-none
+surface-pattern-scale-up
+text-antialias-gray
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-glyph-range
+text-pattern
+text-rotate
+text-transform
+text-unhinted-metrics
+transforms
+twin
+twin-antialias-gray
+twin-antialias-mixed
+twin-antialias-none
+twin-antialias-subpixel
+unclosed-strokes
+xcomposite-projection
+pthread-show-text
+pthread-similar
+ft-show-glyphs-positioning
+ft-show-glyphs-table
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt b/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt
index ab55902d1..fb2c53607 100644
--- a/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt
+++ b/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt
@@ -1 +1,54 @@
-caps-sub-paths,clear-source,clip-operator,clip-push-group,clip-text,clipped-group,coverage-intersecting-triangles,culled-glyphs,curve-to-as-line-to,extended-blend-alpha-mask,fallback,fill-and-stroke,fill-and-stroke-alpha,fill-and-stroke-alpha-add,finer-grained-fallbacks,halo-transform,horizontal-clip,infinite-join,large-twin-antialias-mixed,leaky-polygon,mask,operator-clear,operator-source,overlapping-glyphs,radial-outer-focus,record1414x-select-font-face,record1414x-text-transform,rectilinear-miter-limit,rectilinear-stroke,rel-path,show-glyphs-advance,smask,smask-text,subsurface,subsurface-scale,surface-pattern-operator,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unbounded-operator,pthread-show-text,ft-show-glyphs-positioning,ft-text-vertic
al-layout-type1,ft-text-vertical-layout-type3
+caps-sub-paths
+clear-source
+clip-operator
+clip-push-group
+clip-text
+clipped-group
+coverage-intersecting-triangles
+culled-glyphs
+curve-to-as-line-to
+extended-blend-alpha-mask
+fallback
+fill-and-stroke
+fill-and-stroke-alpha
+fill-and-stroke-alpha-add
+finer-grained-fallbacks
+halo-transform
+horizontal-clip
+infinite-join
+large-twin-antialias-mixed
+leaky-polygon
+mask
+operator-clear
+operator-source
+overlapping-glyphs
+radial-outer-focus
+record1414x-select-font-face
+record1414x-text-transform
+rectilinear-miter-limit
+rectilinear-stroke
+rel-path
+show-glyphs-advance
+smask
+smask-text
+subsurface
+subsurface-scale
+surface-pattern-operator
+text-antialias-gray
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-pattern
+text-rotate
+text-unhinted-metrics
+twin-antialias-gray
+twin-antialias-mixed
+twin-antialias-none
+twin-antialias-subpixel
+unbounded-operator
+pthread-show-text
+ft-show-glyphs-positioning
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xlib-rgb24.txt b/.gitlab-ci/ignore-xlib-rgb24.txt
index 568cf5e8b..144bbf2ad 100644
--- a/.gitlab-ci/ignore-xlib-rgb24.txt
+++ b/.gitlab-ci/ignore-xlib-rgb24.txt
@@ -1 +1,185 @@
-aliasing,arc-looping-dash,bug-spline,bug-51910,bug-84115,bug-source-cu,bug-extents,bug-image-compositor,caps-joins-05,caps-joins-curve,caps-tails-curve,clear-source,clip-disjoint,clip-stroke-unbounded,clip-operator,clip-shape,clip-stroke,clip-text,close-path-current-point,coverage-rhombus,coverage-column-triangles,coverage-abutting,culled-glyphs,dash-caps-joins,dash-curve,dash-scale,degenerate-curve-to,degenerate-pen,degenerate-rel-curve-to,drunkard-tails,extended-blend-mask,extended-blend-alpha-mask,fallback,fill-and-stroke,fill-and-stroke-alpha,fill-and-stroke-alpha-add,fill-image,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,hatchings,infinite-join,inverse-text,joins,joins-loop,joins-star,joins-retrace,large-font,large-twin-antialias-mixed,leaky-dashed-stroke,line-width-scale,line-width-tolerance,linear-gradient,linear-gradient-subset,long-dashed-lines,mask,mask-transformed-image,mask-transformed-similar,miter-precision,new-sub-path,oper
ator-alpha-alpha,operator-clear,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,path-stroke-twice,push-group,push-group-color,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-outer-focus,random-clip,random-intersections-eo,random-intersections-nonzero,random-intersections-curves-eo,random-intersections-curves-nz,record-select-font-face,record-self-intersecting,record-text-transform,record1414x-fill-alpha,record1414x-select-font-face,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-select-font-face,record2x-text-transform,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-fill-alpha,record90-select-font-face,record90-self-intersecting,record90-text-transform,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fi
ll-alpha,recordflip-whole-select-font-face,recordflip-whole-self-intersecting,recordflip-whole-text-transform,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-select-font-face,recordflip-self-intersecting,recordflip-text-transform,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-none,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,recording-surface-extend-pad,reflected-stroke,rel-path,rotated-clip,rounded-rectangle-stroke,scale-offset-image,scale-offset-similar,stroke-ctm-caps,stroke-clipped,stroke-image,select-font-face,shifted-operator,show-glyphs-advance,show-text-current-point,shape-general-convex,shape-sierpinski,simple-edge,smask,smask-fill,smask-image-mask,smask-mask,smask-paint,smask-stroke,smask-text,smp-glyph,spline-decomposition,stroke-pattern,subsurface
,subsurface-scale,surface-pattern-operator,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,tighten-bounds,trap-clip,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unbounded-operator,unclosed-strokes,user-font,user-font-proxy,world-map,world-map-stroke,world-map-fill,xcomposite-projection,pthread-show-text,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+aliasing
+arc-looping-dash
+bug-spline
+bug-51910
+bug-84115
+bug-source-cu
+bug-extents
+bug-image-compositor
+caps-joins-05
+caps-joins-curve
+caps-tails-curve
+clear-source
+clip-disjoint
+clip-stroke-unbounded
+clip-operator
+clip-shape
+clip-stroke
+clip-text
+close-path-current-point
+coverage-rhombus
+coverage-column-triangles
+coverage-abutting
+culled-glyphs
+dash-caps-joins
+dash-curve
+dash-scale
+degenerate-curve-to
+degenerate-pen
+degenerate-rel-curve-to
+drunkard-tails
+extended-blend-mask
+extended-blend-alpha-mask
+fallback
+fill-and-stroke
+fill-and-stroke-alpha
+fill-and-stroke-alpha-add
+fill-image
+filter-bilinear-extents
+font-matrix-translation
+glyph-cache-pressure
+halo
+halo-transform
+hatchings
+infinite-join
+inverse-text
+joins
+joins-loop
+joins-star
+joins-retrace
+large-font
+large-twin-antialias-mixed
+leaky-dashed-stroke
+line-width-scale
+line-width-tolerance
+linear-gradient
+linear-gradient-subset
+long-dashed-lines
+mask
+mask-transformed-image
+mask-transformed-similar
+miter-precision
+new-sub-path
+operator-alpha-alpha
+operator-clear
+operator-source
+overlapping-boxes
+overlapping-glyphs
+overlapping-dash-caps
+partial-clip-text-bottom
+partial-clip-text-left
+partial-coverage-reference
+partial-coverage-three-quarter-reference
+path-stroke-twice
+push-group
+push-group-color
+radial-gradient
+radial-gradient-mask
+radial-gradient-source
+radial-gradient-mask-source
+radial-outer-focus
+random-clip
+random-intersections-eo
+random-intersections-nonzero
+random-intersections-curves-eo
+random-intersections-curves-nz
+record-select-font-face
+record-self-intersecting
+record-text-transform
+record1414x-fill-alpha
+record1414x-select-font-face
+record1414x-self-intersecting
+record1414x-text-transform
+record2x-paint-alpha-clip-mask
+record2x-fill-alpha
+record2x-select-font-face
+record2x-text-transform
+record90-paint-alpha-solid-clip
+record90-paint-alpha-clip
+record90-fill-alpha
+record90-select-font-face
+record90-self-intersecting
+record90-text-transform
+recordflip-whole-paint-alpha-clip-mask
+recordflip-whole-fill-alpha
+recordflip-whole-select-font-face
+recordflip-whole-self-intersecting
+recordflip-whole-text-transform
+recordflip-paint-alpha-clip-mask
+recordflip-fill-alpha
+recordflip-select-font-face
+recordflip-self-intersecting
+recordflip-text-transform
+record-neg-extents-unbounded
+record-neg-extents-bounded
+record-replay-extend-none
+record-replay-extend-repeat
+record-replay-extend-reflect
+record-replay-extend-pad
+recording-surface-over
+recording-surface-source
+recording-surface-extend-none
+recording-surface-extend-repeat
+recording-surface-extend-reflect
+recording-surface-extend-pad
+reflected-stroke
+rel-path
+rotated-clip
+rounded-rectangle-stroke
+scale-offset-image
+scale-offset-similar
+stroke-ctm-caps
+stroke-clipped
+stroke-image
+select-font-face
+shifted-operator
+show-glyphs-advance
+show-text-current-point
+shape-general-convex
+shape-sierpinski
+simple-edge
+smask
+smask-fill
+smask-image-mask
+smask-mask
+smask-paint
+smask-stroke
+smask-text
+smp-glyph
+spline-decomposition
+stroke-pattern
+subsurface
+subsurface-scale
+surface-pattern-operator
+surface-pattern-scale-up
+text-antialias-gray
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-glyph-range
+text-pattern
+text-rotate
+text-transform
+text-unhinted-metrics
+tighten-bounds
+trap-clip
+twin
+twin-antialias-gray
+twin-antialias-mixed
+twin-antialias-none
+twin-antialias-subpixel
+unbounded-operator
+unclosed-strokes
+user-font
+user-font-proxy
+world-map
+world-map-stroke
+world-map-fill
+xcomposite-projection
+pthread-show-text
+ft-show-glyphs-positioning
+ft-show-glyphs-table
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xlib-window-rgb24.txt b/.gitlab-ci/ignore-xlib-window-rgb24.txt
index 304fe0c24..7501b8c11 100644
--- a/.gitlab-ci/ignore-xlib-window-rgb24.txt
+++ b/.gitlab-ci/ignore-xlib-window-rgb24.txt
@@ -1 +1,167 @@
-aliasing,arc-looping-dash,bug-spline,bug-51910,bug-extents,caps-joins-05,caps-joins-curve,clear-source,clip-disjoint,clip-stroke-unbounded,clip-operator,clip-shape,clip-stroke,clip-text,close-path-current-point,coverage-rectangles,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,coverage-abutting,culled-glyphs,dash-caps-joins,dash-scale,degenerate-curve-to,degenerate-pen,degenerate-rel-curve-to,drunkard-tails,extended-blend-mask,extended-blend-alpha-mask,fallback,fill-and-stroke,fill-and-stroke-alpha,fill-and-stroke-alpha-add,fill-image,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,infinite-join,inverse-text,joins,joins-loop,joins-star,joins-retrace,large-twin-antialias-mixed,leaky-dashed-stroke,line-width-scale,line-width-tolerance,linear-gradient,linear-gradient-subset,long-dashed-lines,mask,mask-transformed-image,mask-transformed-similar,miter-precision,new-su
b-path,operator-alpha-alpha,operator-clear,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,path-stroke-twice,push-group,push-group-color,radial-outer-focus,record-select-font-face,record-self-intersecting,record-text-transform,record1414x-fill-alpha,record1414x-select-font-face,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-select-font-face,record2x-text-transform,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-fill-alpha,record90-select-font-face,record90-self-intersecting,record90-text-transform,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-select-font-face,recordflip-whole-self-intersecting,recordflip-whole-text-transform,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-select-font-face,recordflip-
self-intersecting,recordflip-text-transform,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-none,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,recording-surface-extend-pad,reflected-stroke,rel-path,rotated-clip,rounded-rectangle-stroke,scale-offset-image,scale-offset-similar,stroke-ctm-caps,stroke-clipped,stroke-image,select-font-face,shifted-operator,show-glyphs-advance,show-text-current-point,shape-general-convex,simple-edge,smask,smask-fill,smask-image-mask,smask-mask,smask-paint,smask-stroke,smask-text,smp-glyph,spline-decomposition,stroke-pattern,subsurface,subsurface-scale,surface-pattern-operator,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-
vbgr,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,tighten-bounds,trap-clip,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unbounded-operator,unclosed-strokes,xcomposite-projection,pthread-show-text,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+aliasing
+arc-looping-dash
+bug-spline
+bug-51910
+bug-extents
+caps-joins-05
+caps-joins-curve
+clear-source
+clip-disjoint
+clip-stroke-unbounded
+clip-operator
+clip-shape
+clip-stroke
+clip-text
+close-path-current-point
+coverage-rectangles
+coverage-intersecting-quads
+coverage-intersecting-triangles
+coverage-row-triangles
+coverage-column-triangles
+coverage-triangles
+coverage-abutting
+culled-glyphs
+dash-caps-joins
+dash-scale
+degenerate-curve-to
+degenerate-pen
+degenerate-rel-curve-to
+drunkard-tails
+extended-blend-mask
+extended-blend-alpha-mask
+fallback
+fill-and-stroke
+fill-and-stroke-alpha
+fill-and-stroke-alpha-add
+fill-image
+filter-bilinear-extents
+font-matrix-translation
+glyph-cache-pressure
+halo
+halo-transform
+infinite-join
+inverse-text
+joins
+joins-loop
+joins-star
+joins-retrace
+large-twin-antialias-mixed
+leaky-dashed-stroke
+line-width-scale
+line-width-tolerance
+linear-gradient
+linear-gradient-subset
+long-dashed-lines
+mask
+mask-transformed-image
+mask-transformed-similar
+miter-precision
+new-sub-path
+operator-alpha-alpha
+operator-clear
+operator-source
+overlapping-boxes
+overlapping-glyphs
+overlapping-dash-caps
+partial-clip-text-bottom
+partial-clip-text-left
+partial-coverage-reference
+partial-coverage-three-quarter-reference
+path-stroke-twice
+push-group
+push-group-color
+radial-outer-focus
+record-select-font-face
+record-self-intersecting
+record-text-transform
+record1414x-fill-alpha
+record1414x-select-font-face
+record1414x-self-intersecting
+record1414x-text-transform
+record2x-paint-alpha-clip-mask
+record2x-fill-alpha
+record2x-select-font-face
+record2x-text-transform
+record90-paint-alpha-solid-clip
+record90-paint-alpha-clip
+record90-fill-alpha
+record90-select-font-face
+record90-self-intersecting
+record90-text-transform
+recordflip-whole-paint-alpha-clip-mask
+recordflip-whole-fill-alpha
+recordflip-whole-select-font-face
+recordflip-whole-self-intersecting
+recordflip-whole-text-transform
+recordflip-paint-alpha-clip-mask
+recordflip-fill-alpha
+recordflip-select-font-face
+recordflip-self-intersecting
+recordflip-text-transform
+record-neg-extents-unbounded
+record-neg-extents-bounded
+record-replay-extend-none
+record-replay-extend-repeat
+record-replay-extend-reflect
+record-replay-extend-pad
+recording-surface-over
+recording-surface-source
+recording-surface-extend-none
+recording-surface-extend-repeat
+recording-surface-extend-reflect
+recording-surface-extend-pad
+reflected-stroke
+rel-path
+rotated-clip
+rounded-rectangle-stroke
+scale-offset-image
+scale-offset-similar
+stroke-ctm-caps
+stroke-clipped
+stroke-image
+select-font-face
+shifted-operator
+show-glyphs-advance
+show-text-current-point
+shape-general-convex
+simple-edge
+smask
+smask-fill
+smask-image-mask
+smask-mask
+smask-paint
+smask-stroke
+smask-text
+smp-glyph
+spline-decomposition
+stroke-pattern
+subsurface
+subsurface-scale
+surface-pattern-operator
+surface-pattern-scale-up
+text-antialias-gray
+text-antialias-subpixel
+text-antialias-subpixel-rgb
+text-antialias-subpixel-bgr
+text-antialias-subpixel-vrgb
+text-antialias-subpixel-vbgr
+text-glyph-range
+text-pattern
+text-rotate
+text-transform
+text-unhinted-metrics
+tighten-bounds
+trap-clip
+twin
+twin-antialias-gray
+twin-antialias-mixed
+twin-antialias-none
+twin-antialias-subpixel
+unbounded-operator
+unclosed-strokes
+xcomposite-projection
+pthread-show-text
+ft-show-glyphs-positioning
+ft-show-glyphs-table
+ft-text-vertical-layout-type1
+ft-text-vertical-layout-type3
commit 9c9883cac0052c4786cd244b9a27c60d9d76245f
Author: Uli Schlachter <psychon at znc.in>
Date: Thu Jun 3 17:13:57 2021 +0200
Rename a file
Because shell variables cannot contain &, this character was replaced
with an underscore in the shell variable. However, we can have this
character just fine in the file name. Thus, this commits renames a file
to actually include the proper name of the boilerplate target, which is
xcb-window&.
Signed-off-by: Uli Schlachter <psychon at znc.in>
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0af4fbe39..1eb93e5bd 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -117,7 +117,7 @@ fedora autotools build:
- export CAIRO_TEST_IGNORE_xcb_argb32=$(cat .gitlab-ci/ignore-xcb-argb32.txt)
- export CAIRO_TEST_IGNORE_xcb_rgb24=$(cat .gitlab-ci/ignore-xcb-rgb24.txt)
- export CAIRO_TEST_IGNORE_xcb_window_rgb24=$(cat .gitlab-ci/ignore-xcb-window-rgb24.txt)
- - export CAIRO_TEST_IGNORE_xcb_window__rgb24=$(cat .gitlab-ci/ignore-xcb-window--rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xcb_window__rgb24=$(cat '.gitlab-ci/ignore-xcb-window&-rgb24.txt')
- export CAIRO_TEST_IGNORE_xcb_render_0_0_argb32=$(cat .gitlab-ci/ignore-xcb-render-0-0-argb32.txt)
- export CAIRO_TEST_IGNORE_xcb_render_0_0_rgb24=$(cat .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt)
- export CAIRO_TEST_IGNORE_xcb_fallback_rgb24=$(cat .gitlab-ci/ignore-xcb-fallback-rgb24.txt)
diff --git a/.gitlab-ci/ignore-xcb-window--rgb24.txt b/.gitlab-ci/ignore-xcb-window&-rgb24.txt
similarity index 100%
rename from .gitlab-ci/ignore-xcb-window--rgb24.txt
rename to .gitlab-ci/ignore-xcb-window&-rgb24.txt
commit 04697b33af759adab35603dab96fca8de83d650b
Author: Uli Schlachter <psychon at znc.in>
Date: Thu Jun 3 17:09:08 2021 +0200
Move test failure lists into separate files
Before this commit, .gitlab-ci.yml is way too large, because it contains
the list with all the expected test failure. This commit moves those
lists to extra files.
The files were generated with a shell one-liner:
grep CAIRO_TEST_IGNORE .gitlab-ci.yml | while read line ; do
backend=$(echo $line | cut -f 3 -d ' ' | cut -f1 -d= | sed -e
's/CAIRO_TEST_IGNORE_//;s/_/-/g') ; content=$(echo $line | cut -f2-
-d=) ; echo $backend ; echo $content >
.gitlab-ci/ignore-${backend}.txt ; done
The changes to .gitlab-ci.yml were also generated with some shell
scripting that generates a sed argument:
grep CAIRO_TEST_IGNORE .gitlab-ci.yml | while read line ; do
backend=$(echo $line | cut -f 3 -d ' ' | cut -f1 -d= ) ; file=$(echo
$backend | sed -e 's/CAIRO_TEST_IGNORE_//;s/_/-/g') ; printf
"/$backend/s#=.*#=\$(cat .gitlab-ci/ignore-${file}.txt)#;"; done ;
echo
The above can then be applied via (but of course adding ' around it and
I also left out the final ;):
sed -i -e [the output of the above] .gitlab-ci.yml
Just for completeness, [the output of the above] is:
/CAIRO_TEST_IGNORE_pdf_argb32/s#=.*#=$(cat
.gitlab-ci/ignore-pdf-argb32.txt)#;/CAIRO_TEST_IGNORE_pdf_rgb24/s#=.*#=$(cat
.gitlab-ci/ignore-pdf-rgb24.txt)#;/CAIRO_TEST_IGNORE_script_argb32/s#=.*#=$(cat
.gitlab-ci/ignore-script-argb32.txt)#;/CAIRO_TEST_IGNORE_image_argb32/s#=.*#=$(cat
.gitlab-ci/ignore-image-argb32.txt)#;/CAIRO_TEST_IGNORE_image_rgb24/s#=.*#=$(cat
.gitlab-ci/ignore-image-rgb24.txt)#;/CAIRO_TEST_IGNORE_image16_rgb24/s#=.*#=$(cat
.gitlab-ci/ignore-image16-rgb24.txt)#;/CAIRO_TEST_IGNORE_recording_argb32/s#=.*#=$(cat
.gitlab-ci/ignore-recording-argb32.txt)#;/CAIRO_TEST_IGNORE_recording_rgb24/s#=.*#=$(cat
.gitlab-ci/ignore-recording-rgb24.txt)#;/CAIRO_TEST_IGNORE_svg11_argb32/s#=.*#=$(cat
.gitlab-ci/ignore-svg11-argb32.txt)#;/CAIRO_TEST_IGNORE_svg11_rgb24/s#=.*#=$(cat
.gitlab-ci/ignore-svg11-rgb24.txt)#;/CAIRO_TEST_IGNORE_xcb_argb32/s#=.*#=$(cat
.gitlab-ci/ignore-xcb-argb32.txt)#;/CAIRO_TEST_IGNORE_xcb_rgb24/s#=.*#=$(cat
.gitlab-ci/ignore-xcb-rgb24.txt)#;/CAIRO_TEST_IGNORE_xcb_window_rgb24/s#=.*#=$(cat
.gitlab-ci/ignore-xcb-window-rgb24.txt)#;/CAIRO_TEST_IGNORE_xcb_window__rgb24/s#=.*#=$(cat
.gitlab-ci/ignore-xcb-window--rgb24.txt)#;/CAIRO_TEST_IGNORE_xcb_render_0_0_argb32/s#=.*#=$(cat
.gitlab-ci/ignore-xcb-render-0-0-argb32.txt)#;/CAIRO_TEST_IGNORE_xcb_render_0_0_rgb24/s#=.*#=$(cat
.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt)#;/CAIRO_TEST_IGNORE_xcb_fallback_rgb24/s#=.*#=$(cat
.gitlab-ci/ignore-xcb-fallback-rgb24.txt)#;/CAIRO_TEST_IGNORE_xlib_argb32/s#=.*#=$(cat
.gitlab-ci/ignore-xlib-argb32.txt)#;/CAIRO_TEST_IGNORE_xlib_rgb24/s#=.*#=$(cat
.gitlab-ci/ignore-xlib-rgb24.txt)#;/CAIRO_TEST_IGNORE_xlib_window_rgb24/s#=.*#=$(cat
.gitlab-ci/ignore-xlib-window-rgb24.txt)#;/CAIRO_TEST_IGNORE_xlib_render_0_0_rgb24/s#=.*#=$(cat
.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt)#;/CAIRO_TEST_IGNORE_xlib_fallback_rgb24/s#=.*#=$(cat
.gitlab-ci/ignore-xlib-fallback-rgb24.txt)#;/CAIRO_TEST_IGNORE_quartz_argb32/s#=.*#=$(cat
.gitlab-ci/ignore-quartz-argb32.txt)#;/CAIRO_TEST_IGNORE_quartz_rgb24/s#=.*#=$(cat
.gitlab-ci/ignore-quartz-rgb24.txt)#;
(All line breaks are only added for readability and are not part of the
one-liners)
Signed-off-by: Uli Schlachter <psychon at znc.in>
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c05529df9..0af4fbe39 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -104,28 +104,28 @@ fedora autotools build:
# Current test failures that we ignore for now
- export CAIRO_TEST_UGLY_HACK_TO_SOMETIMES_IGNORE_SCRIPT_XCB_HUGE_IMAGE_SHM=1
- export CAIRO_TEST_UGLY_HACK_TO_IGNORE_CREATE_FOR_STREAM=1
- - export CAIRO_TEST_IGNORE_pdf_argb32=bug-image-compositor,clear-source,clip-operator,clip-text,culled-glyphs,extended-blend,extended-blend-solid,fallback,filter-bilinear-extents,filter-nearest-offset,filter-nearest-transformed,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,inverse-text,large-font,linear-gradient-reflect,mask,operator-alpha-alpha,overlapping-glyphs,paint-with-alpha-clip,partial-clip-text-bottom,partial-clip-text-left,pixman-downscale-fast-95,pixman-downscale-fast-24,pixman-downscale-good-24,pixman-downscale-best-95,pixman-downscale-best-24,pixman-downscale-nearest-95,pixman-downscale-nearest-24,pixman-downscale-bilinear-24,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-gradient-one-stop,record1414x-select-font-face,record1414x-text-transform,record2x-text-transform,record-replay-extend-repeat,record-replay-extend-reflect,recording-surface-over,recording-surface-extend-repeat,recording-surface-exte
nd-reflect,rectilinear-miter-limit,rectilinear-dash,rectilinear-stroke,rotate-image-surface-paint,rotate-clip-image-surface-paint,select-font-face,self-copy,show-glyphs-advance,show-text-current-point,smask-text,smp-glyph,surface-pattern,surface-pattern-operator,surface-pattern-scale-down,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,thin-lines,trap-clip,twin,user-font-proxy,user-font-rescale,pthread-same-source,pthread-show-text,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_pdf_rgb24=bug-image-compositor,clear-source,clip-text,culled-glyphs,extended-blend-alpha-mask,extended-blend-solid,filter-bilinear-extents,filter-nearest-offset,filter-nearest-transformed,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,inverse-text,large-font,linear-gradient-reflect,mask,operator-alpha-alpha,overlapping-glyphs,paint-with-alpha-clip,partial-clip-text-bottom,partial-clip-text-left,pixman-downscale-fast-95,pixman-downscale-fast-24,pixman-downscale-good-24,pixman-downscale-best-95,pixman-downscale-best-24,pixman-downscale-nearest-95,pixman-downscale-nearest-24,pixman-downscale-bilinear-24,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-gradient-one-stop,random-intersections-curves-eo,random-intersections-curves-nz,record-paint-alpha-clip,record-select-font-face,record-text-transform,record1414x-paint-alpha,record1414x-paint-alpha-clip,record1414x-paint-alpha-clip-mask,record14
14x-select-font-face,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-select-font-face,record2x-text-transform,record90-paint-alpha-clip,record90-paint-alpha-clip-mask,record90-select-font-face,record90-text-transform,recordflip-whole-select-font-face,recordflip-whole-self-intersecting,recordflip-whole-text-transform,recordflip-select-font-face,recordflip-text-transform,record-replay-extend-repeat,record-replay-extend-reflect,recording-surface-over,recording-surface-extend-repeat,rectilinear-miter-limit,rectilinear-dash,rectilinear-stroke,rel-path,rotate-image-surface-paint,rotate-clip-image-surface-paint,select-font-face,self-copy,show-glyphs-advance,show-text-current-point,smask-text,smp-glyph,surface-pattern,surface-pattern-scale-down,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,trap-clip,twin,user-font-proxy,user-font-rescale,pthread-same-source,pthread-show-text,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-
layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_script_argb32=a1-bug,a1-fill,arc-looping-dash,bilevel-image,bug-51910,bug-84115,bug-seams,caps,caps-2,caps-1,caps-05,checkerboard,caps-joins-2,caps-joins-1,caps-joins-05,caps-joins-curve,caps-tails-curve,caps-sub-paths,clear-source,clip-disjoint-quad,clip-device-offset,clip-image,clip-mixed-antialias,clip-push-group,clip-polygons,clip-text,close-path,close-path-current-point,composite-integer-translate-over-repeat,copy-path,coverage-rectangles,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-abutting,culled-glyphs,dash-caps-joins,dash-curve,dash-infinite-loop,dash-scale,dash-state,degenerate-curve-to,degenerate-linear-gradient,degenerate-pen,degenerate-radial-gradient,degenerate-rel-curve-to,device-offset-scale,extend-pad-border,fill-and-stroke-alpha,fill-and-stroke-alpha-add,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,huge-radial,image-surface-source,xcb-surface-source,xlib-surface-sourc
e,infinite-join,inverse-text,joins,large-font,large-source,large-twin-antialias-mixed,leaky-dashed-rectangle,leaky-dashed-stroke,leaky-polygon,line-width-scale,line-width-tolerance,linear-gradient-extend,linear-gradient-reflect,long-dashed-lines,map-all-to-image,map-bit-to-image,map-to-image-fill,mask-transformed-image,mask-transformed-similar,mesh-pattern,mesh-pattern-conical,mesh-pattern-control-points,mesh-pattern-fold,mesh-pattern-overlap,mesh-pattern-transformed,negative-stride-image,operator-alpha-alpha,overlapping-glyphs,paint-source-alpha,paint-with-alpha,paint-with-alpha-solid-clip,paint-with-alpha-clip,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,partial-coverage-half-reference,path-stroke-twice,push-group-color,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-gradient-one-stop,radial-gradient-extend,record-paint-alpha-solid-clip,record-paint-alpha-clip,reco
rd-select-font-face,record-text-transform,record1414x-paint-alpha,record1414x-paint-alpha-solid-clip,record1414x-paint-alpha-clip,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha,record2x-paint-alpha-solid-clip,record2x-paint-alpha-clip,record2x-select-font-face,record2x-text-transform,record90-paint-alpha-clip-mask,record90-select-font-face,record90-text-transform,recordflip-whole-select-font-face,recordflip-whole-text-transform,recordflip-select-font-face,recordflip-text-transform,record-neg-extents-bounded,record-mesh,record-replay-extend-none,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,rectilinear-miter-limit,reflected-stroke,scale-offset-image,scale-offset-similar,stroke-ctm-caps,select-font-face,self-copy,show-glyphs-advance,show-text-current-point,shape-sierpinski,smask,
smask-image-mask,smask-mask,smask-paint,smask-text,stride-12-image,subsurface,subsurface-scale,surface-pattern,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,transforms,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unclosed-strokes,user-font,user-font-proxy,user-font-rescale,world-map,world-map-stroke,world-map-fill,xcb-stress-cache,xcomposite-projection,pthread-show-text,bitmap-font,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3,ft-text-antialias-none,pdf-surface-source,ps-surface-source
- - export CAIRO_TEST_IGNORE_image_argb32=clip-text,culled-glyphs,halo-transform,overlapping-glyphs,record1414x-select-font-face,record1414x-text-transform,show-glyphs-advance,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_image_rgb24=clip-text,culled-glyphs,extended-blend-alpha-mask,halo-transform,overlapping-glyphs,record1414x-select-font-face,record1414x-text-transform,shifted-operator,show-glyphs-advance,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_image16_rgb24=a1-bug,aliasing,arc-direction,arc-looping-dash,big-line,bug-spline,bug-84115,bug-bo-ricotz,bug-source-cu,bug-extents,bug-seams,bug-image-compositor,caps,caps-2,caps-05,caps-joins-2,caps-joins-alpha,caps-joins-curve,caps-tails-curve,clear-source,clip-disjoint,clip-disjoint-quad,clip-stroke-unbounded,clip-fill-nz-unbounded,clip-fill-eo-unbounded,clip-fill,clip-image,clip-intersect,clip-operator,clip-push-group,clip-shape,clip-stroke,clip-text,clip-twice,close-path-current-point,copy-path,coverage-rectangles,coverage-rhombus,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,coverage-abutting,culled-glyphs,dash-caps-joins,dash-curve,dash-scale,dash-state,dash-zero-length,degenerate-arc,degenerate-curve-to,degenerate-path,degenerate-pen,degenerate-rel-curve-to,drunkard-tails,extend-pad-border,extended-blend,extended-blend-alpha,extended-blend-mask,extended-blend-alph
a-mask,extended-blend-solid,extended-blend-solid-alpha,fallback,fill-alpha,fill-alpha-pattern,fill-and-stroke,fill-and-stroke-alpha,fill-and-stroke-alpha-add,fill-degenerate-sort-order,fill-image,fill-missed-stop,fill-rule,filter-bilinear-extents,finer-grained-fallbacks,font-matrix-translation,glyph-cache-pressure,gradient-alpha,gradient-constant-alpha,group-unaligned,halo,halo-transform,hatchings,huge-linear,huge-radial,inverse-text,joins,joins-loop,joins-star,joins-retrace,large-font,large-twin-antialias-mixed,leaky-dashed-stroke,line-width-overlap-offset,line-width-scale,linear-gradient,linear-gradient-reflect,linear-gradient-subset,long-dashed-lines,mask,mask-alpha,mask-ctm,mask-surface-ctm,mask-transformed-image,mask-transformed-similar,mesh-pattern,mesh-pattern-conical,mesh-pattern-control-points,mesh-pattern-fold,mesh-pattern-overlap,mesh-pattern-transformed,new-sub-path,operator-source,over-around-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,paint-source
-alpha,paint-with-alpha,paint-with-alpha-clip,paint-with-alpha-clip-mask,partial-coverage-reference,partial-coverage-three-quarter-reference,pass-through,path-append,path-stroke-twice,pdf-isolated-group,pixman-downscale-fast-96,pixman-downscale-good-96,pixman-downscale-best-96,pixman-downscale-best-24,pixman-downscale-nearest-96,pixman-downscale-bilinear-96,pixman-rotate,push-group,push-group-color,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,random-clip,random-intersections-eo,random-intersections-nonzero,random-intersections-curves-eo,random-intersections-curves-nz,raster-source,record-paint-alpha,record-paint-alpha-clip,record-paint-alpha-clip-mask,record-fill-alpha,record-select-font-face,record-text-transform,record1414x-paint-alpha,record1414x-paint-alpha-clip,record1414x-paint-alpha-clip-mask,record1414x-fill-alpha,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha,record2x-paint-alpha-clip,record2x-paint-al
pha-clip-mask,record2x-fill-alpha,record2x-select-font-face,record2x-text-transform,record90-paint-alpha,record90-paint-alpha-clip,record90-paint-alpha-clip-mask,record90-fill-alpha,record90-select-font-face,record90-text-transform,recordflip-whole-paint-alpha,recordflip-whole-paint-alpha-clip,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-select-font-face,recordflip-whole-text-transform,recordflip-paint-alpha,recordflip-paint-alpha-clip,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-select-font-face,recordflip-text-transform,record-neg-extents-unbounded,record-neg-extents-bounded,record-mesh,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,rectilinear-dash-scale-unaligned,reflected-stroke,rel-path,rotate-clip-image-surface-paint,rotated-clip,rounded-rect
angle-fill,rounded-rectangle-stroke,scale-offset-image,scale-offset-similar,stroke-ctm-caps,stroke-image,select-font-face,set-source,shifted-operator,show-glyphs-advance,show-text-current-point,shape-general-convex,shape-sierpinski,simple-edge,smask,smask-fill,smask-mask,smask-paint,smask-stroke,smask-text,spline-decomposition,stroke-pattern,subsurface,subsurface-scale,surface-pattern,surface-pattern-operator,surface-pattern-scale-down,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,tighten-bounds,tiger,a1-tiger,transforms,trap-clip,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-subpixel,unbounded-operator,unclosed-strokes,user-font,user-font-mask,user-font-proxy,user-font-rescale,world-map,world-map-stroke,world-map-fill,xcb-huge-image-shm,xcb-huge-subimage,
xcomposite-projection,pthread-same-source,pthread-show-text,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_recording_argb32=bug-source-cu,clear-source,clip-text,coverage-rectangles,culled-glyphs,finer-grained-fallbacks,halo-transform,overlapping-glyphs,record1414x-fill-alpha,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-text-transform,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,scale-offset-similar,show-glyphs-advance,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,pthread-same-source,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_recording_rgb24=bug-source-cu,clear-source,clip-text,coverage-rectangles,culled-glyphs,extended-blend-alpha-mask,finer-grained-fallbacks,halo-transform,overlapping-glyphs,record1414x-fill-alpha,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-text-transform,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,scale-offset-similar,show-glyphs-advance,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,pthread-same-source,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_svg11_argb32=alpha-similar,clear-source,clip-operator,clip-text,culled-glyphs,extended-blend-solid,extended-blend-solid-alpha,filter-bilinear-extents,filter-nearest-offset,filter-nearest-transformed,halo-transform,linear-gradient-reflect,mask-transformed-image,operator-alpha-alpha,overlapping-glyphs,paint-source-alpha,paint-with-alpha,paint-with-alpha-clip,paint-with-alpha-clip-mask,radial-gradient,radial-gradient-mask,record-paint-alpha,record-paint-alpha-clip,record-paint-alpha-clip-mask,record1414x-paint-alpha,record1414x-paint-alpha-clip,record1414x-paint-alpha-clip-mask,record1414x-fill-alpha,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha,record2x-paint-alpha-clip,record2x-paint-alpha-clip-mask,record90-paint-alpha-clip,record90-paint-alpha-clip-mask,recordflip-whole-paint-alpha,recordflip-whole-paint-alpha-clip,recordflip-whole-paint-alpha-clip-mask,recordflip-paint-alpha,recordflip-paint-alpha-clip,recordflip-paint-
alpha-clip-mask,scale-offset-image,scale-source-surface-paint,self-copy,show-glyphs-advance,smask,smask-image-mask,smask-mask,smask-paint,smask-stroke,smask-text,surface-pattern,surface-pattern-operator,surface-pattern-scale-up,text-pattern,text-rotate,text-unhinted-metrics,tighten-bounds,unbounded-operator,pthread-similar,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_svg11_rgb24=alpha-similar,clear-source,clip-operator,clip-text,culled-glyphs,extended-blend-alpha-mask,extended-blend-solid,extended-blend-solid-alpha,filter-bilinear-extents,filter-nearest-offset,filter-nearest-transformed,gradient-alpha,gradient-constant-alpha,halo-transform,linear-gradient-reflect,mask,mask-transformed-image,operator-alpha-alpha,overlapping-glyphs,paint-source-alpha,paint-with-alpha,paint-with-alpha-clip,paint-with-alpha-clip-mask,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,record-paint-alpha,record-paint-alpha-clip,record-paint-alpha-clip-mask,record1414x-paint-alpha,record1414x-paint-alpha-clip,record1414x-paint-alpha-clip-mask,record1414x-fill-alpha,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha,record2x-paint-alpha-clip,record2x-paint-alpha-clip-mask,record90-paint-alpha-clip,record90-paint-alpha-clip-mask,recordflip-whole-paint-alpha,recordflip-whole-pain
t-alpha-clip,recordflip-whole-paint-alpha-clip-mask,recordflip-paint-alpha,recordflip-paint-alpha-clip,recordflip-paint-alpha-clip-mask,scale-offset-image,scale-source-surface-paint,self-copy,show-glyphs-advance,smask,smask-image-mask,smask-mask,smask-paint,smask-stroke,smask-text,surface-pattern,surface-pattern-operator,surface-pattern-scale-up,text-pattern,text-rotate,text-unhinted-metrics,tighten-bounds,unbounded-operator,pthread-similar,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_xcb_argb32=bug-spline,clip-operator,coverage-rectangles,coverage-rhombus,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,culled-glyphs,fill-image,halo,halo-transform,hatchings,operator-source,overlapping-boxes,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-outer-focus,random-clip,record-self-intersecting,record1414x-fill-alpha,record1414x-self-intersecting,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-self-intersecting,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-self-intersecting,recordflip-paint-alpha-clip-mask,recordflip-self-intersecting,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-extend-repeat,recording
-surface-extend-pad,rotated-clip,stroke-clipped,stroke-image,simple-edge,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-rotate,tighten-bounds,a1-tiger,twin-antialias-none,unantialiased-shapes,user-font,user-font-proxy,ft-text-vertical-layout-type1
- - export CAIRO_TEST_IGNORE_xcb_rgb24=arc-looping-dash,bug-spline,bug-51910,bug-84115,bug-source-cu,bug-image-compositor,caps-2,caps-1,caps-05,caps-joins-2,caps-joins-1,caps-joins-05,clear-source,clip-operator,clip-text,coverage-rectangles,coverage-rhombus,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,coverage-abutting,culled-glyphs,dash-curve,extended-blend-alpha-mask,fallback,fill-image,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,hatchings,inverse-text,large-font,linear-gradient,linear-gradient-subset,mask,mask-transformed-image,mask-transformed-similar,operator-alpha-alpha,operator-clear,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,push-group,push-group-color,radial-gradient,radial-gradient-mask,radial-gradie
nt-source,radial-gradient-mask-source,radial-outer-focus,random-clip,record-self-intersecting,record1414x-fill-alpha,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-fill-alpha,record90-self-intersecting,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-self-intersecting,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-self-intersecting,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,recording-surface-extend-pad,reflected-stroke,rotated-clip,select-font-face,stroke-clipped,stroke-image,show-glyphs-advance,show-text-current-point,simple-edge,smask,smask-fill,smask-image-mask,smask-
mask,smask-paint,smask-stroke,smp-glyph,subsurface,subsurface-scale,surface-pattern-operator,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-rotate,text-transform,tighten-bounds,a1-tiger,trap-clip,twin,twin-antialias-gray,twin-antialias-none,twin-antialias-subpixel,unantialiased-shapes,unbounded-operator,user-font,user-font-proxy,world-map,world-map-fill,xcomposite-projection,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_xcb_window_rgb24=arc-looping-dash,bug-spline,bug-51910,caps-2,caps-1,caps-05,caps-joins-2,caps-joins-1,caps-joins-05,clear-source,clip-operator,clip-text,coverage-rectangles,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,coverage-abutting,culled-glyphs,extended-blend-alpha-mask,fallback,fill-image,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,inverse-text,linear-gradient,linear-gradient-subset,mask,mask-transformed-image,mask-transformed-similar,operator-alpha-alpha,operator-clear,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,push-group,push-group-color,radial-outer-focus,record-self-intersecting,record1414x-fill-alpha,record1414x-self-intersecting,record1414x-text-transform,record2x-pain
t-alpha-clip-mask,record2x-fill-alpha,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-fill-alpha,record90-self-intersecting,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-self-intersecting,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-self-intersecting,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,recording-surface-extend-pad,reflected-stroke,rotated-clip,select-font-face,stroke-clipped,stroke-image,show-glyphs-advance,show-text-current-point,simple-edge,smask,smask-fill,smask-image-mask,smask-mask,smask-paint,smask-stroke,smp-glyph,subsurface,subsurface-scale,surface-pattern-operator,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-r
gb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-rotate,text-transform,tighten-bounds,trap-clip,twin,twin-antialias-gray,twin-antialias-none,twin-antialias-subpixel,unantialiased-shapes,unbounded-operator,xcomposite-projection,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_xcb_window__rgb24=arc-looping-dash,bug-spline,bug-51910,caps-2,caps-1,caps-05,caps-joins-2,caps-joins-1,caps-joins-05,clear-source,clip-operator,clip-text,coverage-rectangles,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,coverage-abutting,culled-glyphs,extended-blend-alpha-mask,fallback,fill-image,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,inverse-text,linear-gradient,linear-gradient-subset,mask,mask-transformed-image,mask-transformed-similar,operator-alpha-alpha,operator-clear,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,push-group,push-group-color,radial-outer-focus,record-self-intersecting,record1414x-fill-alpha,record1414x-self-intersecting,record1414x-text-transform,record2x-pai
nt-alpha-clip-mask,record2x-fill-alpha,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-fill-alpha,record90-self-intersecting,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-self-intersecting,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-self-intersecting,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,recording-surface-extend-pad,reflected-stroke,rotated-clip,select-font-face,stroke-clipped,stroke-image,show-glyphs-advance,show-text-current-point,simple-edge,smask,smask-fill,smask-image-mask,smask-mask,smask-paint,smask-stroke,smp-glyph,subsurface,subsurface-scale,surface-pattern-operator,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-
rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-rotate,text-transform,tighten-bounds,trap-clip,twin,twin-antialias-gray,twin-antialias-none,twin-antialias-subpixel,unantialiased-shapes,unbounded-operator,xcomposite-projection,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_xcb_render_0_0_argb32=clip-disjoint-hatching,clip-stroke-unbounded,clip-fill-nz-unbounded,clip-fill-eo-unbounded,clip-operator,clip-polygons,clip-shape,clip-twice,coverage-intersecting-triangles,culled-glyphs,hatchings,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,random-clip,record-paint-alpha-solid-clip,record1414x-select-font-face,record1414x-text-transform,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,rotated-clip,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,trap-clip,ft-text-vertical-layout-type1
- - export CAIRO_TEST_IGNORE_xcb_render_0_0_rgb24=clip-disjoint-hatching,clip-stroke-unbounded,clip-fill-nz-unbounded,clip-fill-eo-unbounded,clip-operator,clip-polygons,clip-shape,clip-twice,coverage-intersecting-triangles,culled-glyphs,extended-blend-alpha-mask,fallback,hatchings,mask,operator-source,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,random-clip,record-paint-alpha-solid-clip,record1414x-select-font-face,record1414x-text-transform,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,recording-surface-over,recording-surface-extend-none,rotated-clip,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,trap-clip,ft-text-vertical-layout-type1
- - export CAIRO_TEST_IGNORE_xcb_fallback_rgb24=clip-text,coverage-intersecting-triangles,culled-glyphs,extended-blend-alpha-mask,fallback,halo-transform,overlapping-glyphs,record1414x-select-font-face,record1414x-text-transform,show-glyphs-advance,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_xlib_argb32=aliasing,arc-looping-dash,bug-spline,bug-84115,bug-extents,bug-image-compositor,caps-joins-curve,clip-disjoint,clip-stroke-unbounded,clip-operator,clip-shape,clip-stroke,clip-text,close-path-current-point,coverage-rhombus,coverage-column-triangles,culled-glyphs,dash-caps-joins,dash-curve,dash-scale,degenerate-curve-to,degenerate-pen,degenerate-rel-curve-to,drunkard-tails,extended-blend-alpha-mask,fill-and-stroke,fill-and-stroke-alpha,fill-and-stroke-alpha-add,fill-image,halo,halo-transform,hatchings,joins,joins-loop,joins-retrace,large-twin-antialias-mixed,leaky-dashed-stroke,line-width-scale,line-width-tolerance,long-dashed-lines,new-sub-path,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,path-stroke-twice,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-outer-focus,random-clip,random-intersections-eo,random-intersections-nonzero,random-intersections-curves-eo,random
-intersections-curves-nz,record-select-font-face,record-self-intersecting,record-text-transform,record1414x-fill-alpha,record1414x-select-font-face,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-select-font-face,record2x-text-transform,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-select-font-face,record90-self-intersecting,record90-text-transform,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-select-font-face,recordflip-whole-self-intersecting,recordflip-whole-text-transform,recordflip-paint-alpha-clip-mask,recordflip-select-font-face,recordflip-self-intersecting,recordflip-text-transform,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-none,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-extend-repeat,recording-surface-extend-pad,reflected-stroke,rel-path,rounded-rectangle-str
oke,scale-offset-image,scale-offset-similar,stroke-clipped,stroke-image,show-glyphs-advance,shape-general-convex,shape-sierpinski,simple-edge,smask,smask-stroke,smask-text,spline-decomposition,stroke-pattern,subsurface,subsurface-scale,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,tighten-bounds,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unclosed-strokes,user-font,user-font-proxy,world-map,world-map-stroke,pthread-show-text,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_xlib_rgb24=aliasing,arc-looping-dash,bug-spline,bug-51910,bug-84115,bug-source-cu,bug-extents,bug-image-compositor,caps-joins-05,caps-joins-curve,caps-tails-curve,clear-source,clip-disjoint,clip-stroke-unbounded,clip-operator,clip-shape,clip-stroke,clip-text,close-path-current-point,coverage-rhombus,coverage-column-triangles,coverage-abutting,culled-glyphs,dash-caps-joins,dash-curve,dash-scale,degenerate-curve-to,degenerate-pen,degenerate-rel-curve-to,drunkard-tails,extended-blend-mask,extended-blend-alpha-mask,fallback,fill-and-stroke,fill-and-stroke-alpha,fill-and-stroke-alpha-add,fill-image,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,hatchings,infinite-join,inverse-text,joins,joins-loop,joins-star,joins-retrace,large-font,large-twin-antialias-mixed,leaky-dashed-stroke,line-width-scale,line-width-tolerance,linear-gradient,linear-gradient-subset,long-dashed-lines,mask,mask-transformed-image,mask-transformed
-similar,miter-precision,new-sub-path,operator-alpha-alpha,operator-clear,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,path-stroke-twice,push-group,push-group-color,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-outer-focus,random-clip,random-intersections-eo,random-intersections-nonzero,random-intersections-curves-eo,random-intersections-curves-nz,record-select-font-face,record-self-intersecting,record-text-transform,record1414x-fill-alpha,record1414x-select-font-face,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-select-font-face,record2x-text-transform,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-fill-alpha,record90-select-font-face,record90-self-intersecting,record90-text-transform,recordflip-whole
-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-select-font-face,recordflip-whole-self-intersecting,recordflip-whole-text-transform,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-select-font-face,recordflip-self-intersecting,recordflip-text-transform,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-none,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,recording-surface-extend-pad,reflected-stroke,rel-path,rotated-clip,rounded-rectangle-stroke,scale-offset-image,scale-offset-similar,stroke-ctm-caps,stroke-clipped,stroke-image,select-font-face,shifted-operator,show-glyphs-advance,show-text-current-point,shape-general-convex,shape-sierpinski,simple-edge,smask,smask-fill,smask-image-mask,smask-mask,smask-paint,smask-stroke,smask-text,smp-glyph,spli
ne-decomposition,stroke-pattern,subsurface,subsurface-scale,surface-pattern-operator,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,tighten-bounds,trap-clip,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unbounded-operator,unclosed-strokes,user-font,user-font-proxy,world-map,world-map-stroke,world-map-fill,xcomposite-projection,pthread-show-text,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_xlib_window_rgb24=aliasing,arc-looping-dash,bug-spline,bug-51910,bug-extents,caps-joins-05,caps-joins-curve,clear-source,clip-disjoint,clip-stroke-unbounded,clip-operator,clip-shape,clip-stroke,clip-text,close-path-current-point,coverage-rectangles,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,coverage-abutting,culled-glyphs,dash-caps-joins,dash-scale,degenerate-curve-to,degenerate-pen,degenerate-rel-curve-to,drunkard-tails,extended-blend-mask,extended-blend-alpha-mask,fallback,fill-and-stroke,fill-and-stroke-alpha,fill-and-stroke-alpha-add,fill-image,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,infinite-join,inverse-text,joins,joins-loop,joins-star,joins-retrace,large-twin-antialias-mixed,leaky-dashed-stroke,line-width-scale,line-width-tolerance,linear-gradient,linear-gradient-subset,long-dashed-lines,mask,mask-transformed-imag
e,mask-transformed-similar,miter-precision,new-sub-path,operator-alpha-alpha,operator-clear,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,path-stroke-twice,push-group,push-group-color,radial-outer-focus,record-select-font-face,record-self-intersecting,record-text-transform,record1414x-fill-alpha,record1414x-select-font-face,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-select-font-face,record2x-text-transform,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-fill-alpha,record90-select-font-face,record90-self-intersecting,record90-text-transform,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-select-font-face,recordflip-whole-self-intersecting,recordflip-whole-text-transform,recordflip-paint-alpha-clip-mask,recordflip-f
ill-alpha,recordflip-select-font-face,recordflip-self-intersecting,recordflip-text-transform,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-none,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,recording-surface-extend-pad,reflected-stroke,rel-path,rotated-clip,rounded-rectangle-stroke,scale-offset-image,scale-offset-similar,stroke-ctm-caps,stroke-clipped,stroke-image,select-font-face,shifted-operator,show-glyphs-advance,show-text-current-point,shape-general-convex,simple-edge,smask,smask-fill,smask-image-mask,smask-mask,smask-paint,smask-stroke,smask-text,smp-glyph,spline-decomposition,stroke-pattern,subsurface,subsurface-scale,surface-pattern-operator,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text
-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,tighten-bounds,trap-clip,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unbounded-operator,unclosed-strokes,xcomposite-projection,pthread-show-text,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_xlib_render_0_0_rgb24=caps-sub-paths,clear-source,clip-operator,clip-push-group,clip-text,clipped-group,coverage-intersecting-triangles,culled-glyphs,curve-to-as-line-to,extended-blend-alpha-mask,fallback,fill-and-stroke,fill-and-stroke-alpha,fill-and-stroke-alpha-add,finer-grained-fallbacks,halo-transform,horizontal-clip,infinite-join,large-twin-antialias-mixed,leaky-polygon,mask,operator-clear,operator-source,overlapping-glyphs,radial-outer-focus,record1414x-select-font-face,record1414x-text-transform,rectilinear-miter-limit,rectilinear-stroke,rel-path,show-glyphs-advance,smask,smask-text,subsurface,subsurface-scale,surface-pattern-operator,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unbounded-operator,pthrea
d-show-text,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_xlib_fallback_rgb24=arc-looping-dash,bug-51910,bug-seams,caps,caps-2,caps-1,caps-05,caps-joins-2,caps-joins-1,caps-joins-05,caps-joins-curve,caps-sub-paths,clear-source,clip-disjoint-quad,clip-image,clip-mixed-antialias,clip-push-group,clip-polygons,clip-text,close-path,close-path-current-point,copy-path,coverage-intersecting-quads,coverage-abutting,culled-glyphs,dash-caps-joins,dash-infinite-loop,dash-scale,dash-zero-length,degenerate-curve-to,degenerate-pen,degenerate-rel-curve-to,extended-blend-alpha-mask,fallback,filter-bilinear-extents,finer-grained-fallbacks,font-matrix-translation,glyph-cache-pressure,halo-transform,infinite-join,inverse-text,joins,large-twin-antialias-mixed,leaky-dashed-stroke,leaky-polygon,line-width-scale,line-width-tolerance,long-dashed-lines,mask-transformed-image,mask-transformed-similar,operator-alpha-alpha,over-above-source,over-around-source,over-between-source,overlapping-glyphs,partial-clip-text-bottom,partial-clip-te
xt-left,partial-coverage-reference,partial-coverage-three-quarter-reference,path-stroke-twice,push-group-color,record1414x-select-font-face,record1414x-text-transform,recording-surface-over,recording-surface-extend-none,rectilinear-miter-limit,reflected-stroke,stroke-ctm-caps,select-font-face,self-copy,shifted-operator,show-glyphs-advance,show-text-current-point,smask,smask-image-mask,smask-mask,smask-paint,smask-text,smp-glyph,subsurface,subsurface-scale,surface-pattern-scale-down-extend-none,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,transforms,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unclosed-strokes,xcomposite-projection,pthread-show-text,pthread-similar,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertic
al-layout-type1,ft-text-vertical-layout-type3
+ - export CAIRO_TEST_IGNORE_pdf_argb32=$(cat .gitlab-ci/ignore-pdf-argb32.txt)
+ - export CAIRO_TEST_IGNORE_pdf_rgb24=$(cat .gitlab-ci/ignore-pdf-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_script_argb32=$(cat .gitlab-ci/ignore-script-argb32.txt)
+ - export CAIRO_TEST_IGNORE_image_argb32=$(cat .gitlab-ci/ignore-image-argb32.txt)
+ - export CAIRO_TEST_IGNORE_image_rgb24=$(cat .gitlab-ci/ignore-image-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_image16_rgb24=$(cat .gitlab-ci/ignore-image16-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_recording_argb32=$(cat .gitlab-ci/ignore-recording-argb32.txt)
+ - export CAIRO_TEST_IGNORE_recording_rgb24=$(cat .gitlab-ci/ignore-recording-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_svg11_argb32=$(cat .gitlab-ci/ignore-svg11-argb32.txt)
+ - export CAIRO_TEST_IGNORE_svg11_rgb24=$(cat .gitlab-ci/ignore-svg11-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xcb_argb32=$(cat .gitlab-ci/ignore-xcb-argb32.txt)
+ - export CAIRO_TEST_IGNORE_xcb_rgb24=$(cat .gitlab-ci/ignore-xcb-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xcb_window_rgb24=$(cat .gitlab-ci/ignore-xcb-window-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xcb_window__rgb24=$(cat .gitlab-ci/ignore-xcb-window--rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xcb_render_0_0_argb32=$(cat .gitlab-ci/ignore-xcb-render-0-0-argb32.txt)
+ - export CAIRO_TEST_IGNORE_xcb_render_0_0_rgb24=$(cat .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xcb_fallback_rgb24=$(cat .gitlab-ci/ignore-xcb-fallback-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xlib_argb32=$(cat .gitlab-ci/ignore-xlib-argb32.txt)
+ - export CAIRO_TEST_IGNORE_xlib_rgb24=$(cat .gitlab-ci/ignore-xlib-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xlib_window_rgb24=$(cat .gitlab-ci/ignore-xlib-window-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xlib_render_0_0_rgb24=$(cat .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt)
+ - export CAIRO_TEST_IGNORE_xlib_fallback_rgb24=$(cat .gitlab-ci/ignore-xlib-fallback-rgb24.txt)
- export CAIRO_BOILERPLATE_OPEN_NO_DAEMON=1
- export CAIRO_BOILERPLATE_DO_NOT_CRASH_ON_ANY2PPM_ERROR=1
- export ANY2PPM="timeout 3m ./any2ppm"
@@ -288,7 +288,7 @@ meson macOS:
- meson setup -Dpixman:tests=disabled build
- meson compile --verbose -C build
# Test cairo-quartz. Other backends should be covered by other jobs
- - export CAIRO_TEST_IGNORE_quartz_argb32=bug-361,bug-431,bug-image-compositor,clip-operator,coverage-rhombus,culled-glyphs,extended-blend-alpha,extended-blend-mask,extended-blend-alpha-mask,extended-blend-solid-alpha,fallback,negative-stride-image,operator-www,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,record-paint-alpha-clip-mask,record-fill-alpha,record-select-font-face,record-text-transform,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-select-font-face,record2x-text-transform,record90-fill-alpha,record90-select-font-face,record90-text-transform,recordflip-whole-select-font-face,recordflip-whole-text-transform,recordflip-select-font-face,recordflip-text-transform,record-neg-extents-bounded,record-mesh,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,simple-edge,subsurface,subsurface-outside-target,subsurface-scale,surface-pattern,text-antialias-subpix
el,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-unhinted-metrics,user-font-proxy,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
- - export CAIRO_TEST_IGNORE_quartz_rgb24=bug-361,bug-431,bug-448,bug-image-compositor,coverage-rhombus,culled-glyphs,extended-blend,extended-blend-alpha,extended-blend-mask,extended-blend-alpha-mask,extended-blend-solid,extended-blend-solid-alpha,negative-stride-image,operator-www,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,record-paint-alpha-clip-mask,record-fill-alpha,record-select-font-face,record-text-transform,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-select-font-face,record2x-text-transform,record90-fill-alpha,record90-select-font-face,record90-text-transform,recordflip-whole-select-font-face,recordflip-whole-text-transform,recordflip-select-font-face,recordflip-text-transform,record-neg-extents-unbounded,record-neg-extents-bounded,record-mesh,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,shifted-operator,simple-edge,subsurface,subsurface-sca
le,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-unhinted-metrics,user-font-proxy,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
+ - export CAIRO_TEST_IGNORE_quartz_argb32=$(cat .gitlab-ci/ignore-quartz-argb32.txt)
+ - export CAIRO_TEST_IGNORE_quartz_rgb24=$(cat .gitlab-ci/ignore-quartz-rgb24.txt)
- export CAIRO_TEST_TARGET=quartz
- (cd build/test && srcdir=../../test ./cairo-test-suite)
diff --git a/.gitlab-ci/ignore-image-argb32.txt b/.gitlab-ci/ignore-image-argb32.txt
new file mode 100644
index 000000000..d906b2379
--- /dev/null
+++ b/.gitlab-ci/ignore-image-argb32.txt
@@ -0,0 +1 @@
+clip-text,culled-glyphs,halo-transform,overlapping-glyphs,record1414x-select-font-face,record1414x-text-transform,show-glyphs-advance,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-image-rgb24.txt b/.gitlab-ci/ignore-image-rgb24.txt
new file mode 100644
index 000000000..c5e73feaa
--- /dev/null
+++ b/.gitlab-ci/ignore-image-rgb24.txt
@@ -0,0 +1 @@
+clip-text,culled-glyphs,extended-blend-alpha-mask,halo-transform,overlapping-glyphs,record1414x-select-font-face,record1414x-text-transform,shifted-operator,show-glyphs-advance,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-image16-rgb24.txt b/.gitlab-ci/ignore-image16-rgb24.txt
new file mode 100644
index 000000000..eb8f8b2fe
--- /dev/null
+++ b/.gitlab-ci/ignore-image16-rgb24.txt
@@ -0,0 +1 @@
+a1-bug,aliasing,arc-direction,arc-looping-dash,big-line,bug-spline,bug-84115,bug-bo-ricotz,bug-source-cu,bug-extents,bug-seams,bug-image-compositor,caps,caps-2,caps-05,caps-joins-2,caps-joins-alpha,caps-joins-curve,caps-tails-curve,clear-source,clip-disjoint,clip-disjoint-quad,clip-stroke-unbounded,clip-fill-nz-unbounded,clip-fill-eo-unbounded,clip-fill,clip-image,clip-intersect,clip-operator,clip-push-group,clip-shape,clip-stroke,clip-text,clip-twice,close-path-current-point,copy-path,coverage-rectangles,coverage-rhombus,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,coverage-abutting,culled-glyphs,dash-caps-joins,dash-curve,dash-scale,dash-state,dash-zero-length,degenerate-arc,degenerate-curve-to,degenerate-path,degenerate-pen,degenerate-rel-curve-to,drunkard-tails,extend-pad-border,extended-blend,extended-blend-alpha,extended-blend-mask,extended-blend-alpha-mask,extended-blend-solid,extended-blend-so
lid-alpha,fallback,fill-alpha,fill-alpha-pattern,fill-and-stroke,fill-and-stroke-alpha,fill-and-stroke-alpha-add,fill-degenerate-sort-order,fill-image,fill-missed-stop,fill-rule,filter-bilinear-extents,finer-grained-fallbacks,font-matrix-translation,glyph-cache-pressure,gradient-alpha,gradient-constant-alpha,group-unaligned,halo,halo-transform,hatchings,huge-linear,huge-radial,inverse-text,joins,joins-loop,joins-star,joins-retrace,large-font,large-twin-antialias-mixed,leaky-dashed-stroke,line-width-overlap-offset,line-width-scale,linear-gradient,linear-gradient-reflect,linear-gradient-subset,long-dashed-lines,mask,mask-alpha,mask-ctm,mask-surface-ctm,mask-transformed-image,mask-transformed-similar,mesh-pattern,mesh-pattern-conical,mesh-pattern-control-points,mesh-pattern-fold,mesh-pattern-overlap,mesh-pattern-transformed,new-sub-path,operator-source,over-around-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,paint-source-alpha,paint-with-alpha,paint-with-alpha-clip
,paint-with-alpha-clip-mask,partial-coverage-reference,partial-coverage-three-quarter-reference,pass-through,path-append,path-stroke-twice,pdf-isolated-group,pixman-downscale-fast-96,pixman-downscale-good-96,pixman-downscale-best-96,pixman-downscale-best-24,pixman-downscale-nearest-96,pixman-downscale-bilinear-96,pixman-rotate,push-group,push-group-color,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,random-clip,random-intersections-eo,random-intersections-nonzero,random-intersections-curves-eo,random-intersections-curves-nz,raster-source,record-paint-alpha,record-paint-alpha-clip,record-paint-alpha-clip-mask,record-fill-alpha,record-select-font-face,record-text-transform,record1414x-paint-alpha,record1414x-paint-alpha-clip,record1414x-paint-alpha-clip-mask,record1414x-fill-alpha,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha,record2x-paint-alpha-clip,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-se
lect-font-face,record2x-text-transform,record90-paint-alpha,record90-paint-alpha-clip,record90-paint-alpha-clip-mask,record90-fill-alpha,record90-select-font-face,record90-text-transform,recordflip-whole-paint-alpha,recordflip-whole-paint-alpha-clip,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-select-font-face,recordflip-whole-text-transform,recordflip-paint-alpha,recordflip-paint-alpha-clip,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-select-font-face,recordflip-text-transform,record-neg-extents-unbounded,record-neg-extents-bounded,record-mesh,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,rectilinear-dash-scale-unaligned,reflected-stroke,rel-path,rotate-clip-image-surface-paint,rotated-clip,rounded-rectangle-fill,rounded-rectangle-stroke,scale-off
set-image,scale-offset-similar,stroke-ctm-caps,stroke-image,select-font-face,set-source,shifted-operator,show-glyphs-advance,show-text-current-point,shape-general-convex,shape-sierpinski,simple-edge,smask,smask-fill,smask-mask,smask-paint,smask-stroke,smask-text,spline-decomposition,stroke-pattern,subsurface,subsurface-scale,surface-pattern,surface-pattern-operator,surface-pattern-scale-down,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,tighten-bounds,tiger,a1-tiger,transforms,trap-clip,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-subpixel,unbounded-operator,unclosed-strokes,user-font,user-font-mask,user-font-proxy,user-font-rescale,world-map,world-map-stroke,world-map-fill,xcb-huge-image-shm,xcb-huge-subimage,xcomposite-projection,pthread-same-source,pth
read-show-text,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-pdf-argb32.txt b/.gitlab-ci/ignore-pdf-argb32.txt
new file mode 100644
index 000000000..8c1017c32
--- /dev/null
+++ b/.gitlab-ci/ignore-pdf-argb32.txt
@@ -0,0 +1 @@
+bug-image-compositor,clear-source,clip-operator,clip-text,culled-glyphs,extended-blend,extended-blend-solid,fallback,filter-bilinear-extents,filter-nearest-offset,filter-nearest-transformed,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,inverse-text,large-font,linear-gradient-reflect,mask,operator-alpha-alpha,overlapping-glyphs,paint-with-alpha-clip,partial-clip-text-bottom,partial-clip-text-left,pixman-downscale-fast-95,pixman-downscale-fast-24,pixman-downscale-good-24,pixman-downscale-best-95,pixman-downscale-best-24,pixman-downscale-nearest-95,pixman-downscale-nearest-24,pixman-downscale-bilinear-24,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-gradient-one-stop,record1414x-select-font-face,record1414x-text-transform,record2x-text-transform,record-replay-extend-repeat,record-replay-extend-reflect,recording-surface-over,recording-surface-extend-repeat,recording-surface-extend-reflect,rectilinear-miter-limit,rectili
near-dash,rectilinear-stroke,rotate-image-surface-paint,rotate-clip-image-surface-paint,select-font-face,self-copy,show-glyphs-advance,show-text-current-point,smask-text,smp-glyph,surface-pattern,surface-pattern-operator,surface-pattern-scale-down,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,thin-lines,trap-clip,twin,user-font-proxy,user-font-rescale,pthread-same-source,pthread-show-text,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-pdf-rgb24.txt b/.gitlab-ci/ignore-pdf-rgb24.txt
new file mode 100644
index 000000000..5c99e00e6
--- /dev/null
+++ b/.gitlab-ci/ignore-pdf-rgb24.txt
@@ -0,0 +1 @@
+bug-image-compositor,clear-source,clip-text,culled-glyphs,extended-blend-alpha-mask,extended-blend-solid,filter-bilinear-extents,filter-nearest-offset,filter-nearest-transformed,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,inverse-text,large-font,linear-gradient-reflect,mask,operator-alpha-alpha,overlapping-glyphs,paint-with-alpha-clip,partial-clip-text-bottom,partial-clip-text-left,pixman-downscale-fast-95,pixman-downscale-fast-24,pixman-downscale-good-24,pixman-downscale-best-95,pixman-downscale-best-24,pixman-downscale-nearest-95,pixman-downscale-nearest-24,pixman-downscale-bilinear-24,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-gradient-one-stop,random-intersections-curves-eo,random-intersections-curves-nz,record-paint-alpha-clip,record-select-font-face,record-text-transform,record1414x-paint-alpha,record1414x-paint-alpha-clip,record1414x-paint-alpha-clip-mask,record1414x-select-font-face,record1414x-text-tra
nsform,record2x-paint-alpha-clip-mask,record2x-select-font-face,record2x-text-transform,record90-paint-alpha-clip,record90-paint-alpha-clip-mask,record90-select-font-face,record90-text-transform,recordflip-whole-select-font-face,recordflip-whole-self-intersecting,recordflip-whole-text-transform,recordflip-select-font-face,recordflip-text-transform,record-replay-extend-repeat,record-replay-extend-reflect,recording-surface-over,recording-surface-extend-repeat,rectilinear-miter-limit,rectilinear-dash,rectilinear-stroke,rel-path,rotate-image-surface-paint,rotate-clip-image-surface-paint,select-font-face,self-copy,show-glyphs-advance,show-text-current-point,smask-text,smp-glyph,surface-pattern,surface-pattern-scale-down,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,trap-clip,twin,user-font-proxy,user-font-rescale,pthread-same-source,pthread-show-text,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type
3
diff --git a/.gitlab-ci/ignore-quartz-argb32.txt b/.gitlab-ci/ignore-quartz-argb32.txt
new file mode 100644
index 000000000..157f2f4d6
--- /dev/null
+++ b/.gitlab-ci/ignore-quartz-argb32.txt
@@ -0,0 +1 @@
+bug-361,bug-431,bug-image-compositor,clip-operator,coverage-rhombus,culled-glyphs,extended-blend-alpha,extended-blend-mask,extended-blend-alpha-mask,extended-blend-solid-alpha,fallback,negative-stride-image,operator-www,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,record-paint-alpha-clip-mask,record-fill-alpha,record-select-font-face,record-text-transform,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-select-font-face,record2x-text-transform,record90-fill-alpha,record90-select-font-face,record90-text-transform,recordflip-whole-select-font-face,recordflip-whole-text-transform,recordflip-select-font-face,recordflip-text-transform,record-neg-extents-bounded,record-mesh,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,simple-edge,subsurface,subsurface-outside-target,subsurface-scale,surface-pattern,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias
-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-unhinted-metrics,user-font-proxy,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-quartz-rgb24.txt b/.gitlab-ci/ignore-quartz-rgb24.txt
new file mode 100644
index 000000000..68f54907e
--- /dev/null
+++ b/.gitlab-ci/ignore-quartz-rgb24.txt
@@ -0,0 +1 @@
+bug-361,bug-431,bug-448,bug-image-compositor,coverage-rhombus,culled-glyphs,extended-blend,extended-blend-alpha,extended-blend-mask,extended-blend-alpha-mask,extended-blend-solid,extended-blend-solid-alpha,negative-stride-image,operator-www,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,record-paint-alpha-clip-mask,record-fill-alpha,record-select-font-face,record-text-transform,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-select-font-face,record2x-text-transform,record90-fill-alpha,record90-select-font-face,record90-text-transform,recordflip-whole-select-font-face,recordflip-whole-text-transform,recordflip-select-font-face,recordflip-text-transform,record-neg-extents-unbounded,record-neg-extents-bounded,record-mesh,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,shifted-operator,simple-edge,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-su
bpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-unhinted-metrics,user-font-proxy,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-recording-argb32.txt b/.gitlab-ci/ignore-recording-argb32.txt
new file mode 100644
index 000000000..b406fd1a7
--- /dev/null
+++ b/.gitlab-ci/ignore-recording-argb32.txt
@@ -0,0 +1 @@
+bug-source-cu,clear-source,clip-text,coverage-rectangles,culled-glyphs,finer-grained-fallbacks,halo-transform,overlapping-glyphs,record1414x-fill-alpha,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-text-transform,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,scale-offset-similar,show-glyphs-advance,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,pthread-same-source,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-recording-rgb24.txt b/.gitlab-ci/ignore-recording-rgb24.txt
new file mode 100644
index 000000000..f1f9c37a5
--- /dev/null
+++ b/.gitlab-ci/ignore-recording-rgb24.txt
@@ -0,0 +1 @@
+bug-source-cu,clear-source,clip-text,coverage-rectangles,culled-glyphs,extended-blend-alpha-mask,finer-grained-fallbacks,halo-transform,overlapping-glyphs,record1414x-fill-alpha,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-text-transform,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,scale-offset-similar,show-glyphs-advance,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,pthread-same-source,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-script-argb32.txt b/.gitlab-ci/ignore-script-argb32.txt
new file mode 100644
index 000000000..b6cb256ff
--- /dev/null
+++ b/.gitlab-ci/ignore-script-argb32.txt
@@ -0,0 +1 @@
+a1-bug,a1-fill,arc-looping-dash,bilevel-image,bug-51910,bug-84115,bug-seams,caps,caps-2,caps-1,caps-05,checkerboard,caps-joins-2,caps-joins-1,caps-joins-05,caps-joins-curve,caps-tails-curve,caps-sub-paths,clear-source,clip-disjoint-quad,clip-device-offset,clip-image,clip-mixed-antialias,clip-push-group,clip-polygons,clip-text,close-path,close-path-current-point,composite-integer-translate-over-repeat,copy-path,coverage-rectangles,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-abutting,culled-glyphs,dash-caps-joins,dash-curve,dash-infinite-loop,dash-scale,dash-state,degenerate-curve-to,degenerate-linear-gradient,degenerate-pen,degenerate-radial-gradient,degenerate-rel-curve-to,device-offset-scale,extend-pad-border,fill-and-stroke-alpha,fill-and-stroke-alpha-add,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,huge-radial,image-surface-source,xcb-surface-source,xlib-surface-source,infinite-join,inverse-text,joins,large-font
,large-source,large-twin-antialias-mixed,leaky-dashed-rectangle,leaky-dashed-stroke,leaky-polygon,line-width-scale,line-width-tolerance,linear-gradient-extend,linear-gradient-reflect,long-dashed-lines,map-all-to-image,map-bit-to-image,map-to-image-fill,mask-transformed-image,mask-transformed-similar,mesh-pattern,mesh-pattern-conical,mesh-pattern-control-points,mesh-pattern-fold,mesh-pattern-overlap,mesh-pattern-transformed,negative-stride-image,operator-alpha-alpha,overlapping-glyphs,paint-source-alpha,paint-with-alpha,paint-with-alpha-solid-clip,paint-with-alpha-clip,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,partial-coverage-half-reference,path-stroke-twice,push-group-color,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-gradient-one-stop,radial-gradient-extend,record-paint-alpha-solid-clip,record-paint-alpha-clip,record-select-font-face,record-text-transform,rec
ord1414x-paint-alpha,record1414x-paint-alpha-solid-clip,record1414x-paint-alpha-clip,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha,record2x-paint-alpha-solid-clip,record2x-paint-alpha-clip,record2x-select-font-face,record2x-text-transform,record90-paint-alpha-clip-mask,record90-select-font-face,record90-text-transform,recordflip-whole-select-font-face,recordflip-whole-text-transform,recordflip-select-font-face,recordflip-text-transform,record-neg-extents-bounded,record-mesh,record-replay-extend-none,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,rectilinear-miter-limit,reflected-stroke,scale-offset-image,scale-offset-similar,stroke-ctm-caps,select-font-face,self-copy,show-glyphs-advance,show-text-current-point,shape-sierpinski,smask,smask-image-mask,smask-mask,smask-paint,smask
-text,stride-12-image,subsurface,subsurface-scale,surface-pattern,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,transforms,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unclosed-strokes,user-font,user-font-proxy,user-font-rescale,world-map,world-map-stroke,world-map-fill,xcb-stress-cache,xcomposite-projection,pthread-show-text,bitmap-font,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3,ft-text-antialias-none,pdf-surface-source,ps-surface-source
diff --git a/.gitlab-ci/ignore-svg11-argb32.txt b/.gitlab-ci/ignore-svg11-argb32.txt
new file mode 100644
index 000000000..11422691b
--- /dev/null
+++ b/.gitlab-ci/ignore-svg11-argb32.txt
@@ -0,0 +1 @@
+alpha-similar,clear-source,clip-operator,clip-text,culled-glyphs,extended-blend-solid,extended-blend-solid-alpha,filter-bilinear-extents,filter-nearest-offset,filter-nearest-transformed,halo-transform,linear-gradient-reflect,mask-transformed-image,operator-alpha-alpha,overlapping-glyphs,paint-source-alpha,paint-with-alpha,paint-with-alpha-clip,paint-with-alpha-clip-mask,radial-gradient,radial-gradient-mask,record-paint-alpha,record-paint-alpha-clip,record-paint-alpha-clip-mask,record1414x-paint-alpha,record1414x-paint-alpha-clip,record1414x-paint-alpha-clip-mask,record1414x-fill-alpha,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha,record2x-paint-alpha-clip,record2x-paint-alpha-clip-mask,record90-paint-alpha-clip,record90-paint-alpha-clip-mask,recordflip-whole-paint-alpha,recordflip-whole-paint-alpha-clip,recordflip-whole-paint-alpha-clip-mask,recordflip-paint-alpha,recordflip-paint-alpha-clip,recordflip-paint-alpha-clip-mask,scale-offset-image,scale-sou
rce-surface-paint,self-copy,show-glyphs-advance,smask,smask-image-mask,smask-mask,smask-paint,smask-stroke,smask-text,surface-pattern,surface-pattern-operator,surface-pattern-scale-up,text-pattern,text-rotate,text-unhinted-metrics,tighten-bounds,unbounded-operator,pthread-similar,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-svg11-rgb24.txt b/.gitlab-ci/ignore-svg11-rgb24.txt
new file mode 100644
index 000000000..a00568bdc
--- /dev/null
+++ b/.gitlab-ci/ignore-svg11-rgb24.txt
@@ -0,0 +1 @@
+alpha-similar,clear-source,clip-operator,clip-text,culled-glyphs,extended-blend-alpha-mask,extended-blend-solid,extended-blend-solid-alpha,filter-bilinear-extents,filter-nearest-offset,filter-nearest-transformed,gradient-alpha,gradient-constant-alpha,halo-transform,linear-gradient-reflect,mask,mask-transformed-image,operator-alpha-alpha,overlapping-glyphs,paint-source-alpha,paint-with-alpha,paint-with-alpha-clip,paint-with-alpha-clip-mask,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,record-paint-alpha,record-paint-alpha-clip,record-paint-alpha-clip-mask,record1414x-paint-alpha,record1414x-paint-alpha-clip,record1414x-paint-alpha-clip-mask,record1414x-fill-alpha,record1414x-select-font-face,record1414x-text-transform,record2x-paint-alpha,record2x-paint-alpha-clip,record2x-paint-alpha-clip-mask,record90-paint-alpha-clip,record90-paint-alpha-clip-mask,recordflip-whole-paint-alpha,recordflip-whole-paint-alpha-clip,recordflip-whole-paint-alpha-c
lip-mask,recordflip-paint-alpha,recordflip-paint-alpha-clip,recordflip-paint-alpha-clip-mask,scale-offset-image,scale-source-surface-paint,self-copy,show-glyphs-advance,smask,smask-image-mask,smask-mask,smask-paint,smask-stroke,smask-text,surface-pattern,surface-pattern-operator,surface-pattern-scale-up,text-pattern,text-rotate,text-unhinted-metrics,tighten-bounds,unbounded-operator,pthread-similar,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xcb-argb32.txt b/.gitlab-ci/ignore-xcb-argb32.txt
new file mode 100644
index 000000000..2241039c7
--- /dev/null
+++ b/.gitlab-ci/ignore-xcb-argb32.txt
@@ -0,0 +1 @@
+bug-spline,clip-operator,coverage-rectangles,coverage-rhombus,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,culled-glyphs,fill-image,halo,halo-transform,hatchings,operator-source,overlapping-boxes,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-outer-focus,random-clip,record-self-intersecting,record1414x-fill-alpha,record1414x-self-intersecting,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-self-intersecting,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-self-intersecting,recordflip-paint-alpha-clip-mask,recordflip-self-intersecting,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-extend-repeat,recording-surface-extend-pad,rotated-clip,stroke-cl
ipped,stroke-image,simple-edge,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-rotate,tighten-bounds,a1-tiger,twin-antialias-none,unantialiased-shapes,user-font,user-font-proxy,ft-text-vertical-layout-type1
diff --git a/.gitlab-ci/ignore-xcb-fallback-rgb24.txt b/.gitlab-ci/ignore-xcb-fallback-rgb24.txt
new file mode 100644
index 000000000..39e43d94e
--- /dev/null
+++ b/.gitlab-ci/ignore-xcb-fallback-rgb24.txt
@@ -0,0 +1 @@
+clip-text,coverage-intersecting-triangles,culled-glyphs,extended-blend-alpha-mask,fallback,halo-transform,overlapping-glyphs,record1414x-select-font-face,record1414x-text-transform,show-glyphs-advance,subsurface,subsurface-scale,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xcb-render-0-0-argb32.txt b/.gitlab-ci/ignore-xcb-render-0-0-argb32.txt
new file mode 100644
index 000000000..79727e7dd
--- /dev/null
+++ b/.gitlab-ci/ignore-xcb-render-0-0-argb32.txt
@@ -0,0 +1 @@
+clip-disjoint-hatching,clip-stroke-unbounded,clip-fill-nz-unbounded,clip-fill-eo-unbounded,clip-operator,clip-polygons,clip-shape,clip-twice,coverage-intersecting-triangles,culled-glyphs,hatchings,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,random-clip,record-paint-alpha-solid-clip,record1414x-select-font-face,record1414x-text-transform,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,rotated-clip,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,trap-clip,ft-text-vertical-layout-type1
diff --git a/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt b/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt
new file mode 100644
index 000000000..d2c1efacd
--- /dev/null
+++ b/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt
@@ -0,0 +1 @@
+clip-disjoint-hatching,clip-stroke-unbounded,clip-fill-nz-unbounded,clip-fill-eo-unbounded,clip-operator,clip-polygons,clip-shape,clip-twice,coverage-intersecting-triangles,culled-glyphs,extended-blend-alpha-mask,fallback,hatchings,mask,operator-source,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,random-clip,record-paint-alpha-solid-clip,record1414x-select-font-face,record1414x-text-transform,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,recording-surface-over,recording-surface-extend-none,rotated-clip,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,trap-clip,ft-text-vertical-layout-type1
diff --git a/.gitlab-ci/ignore-xcb-rgb24.txt b/.gitlab-ci/ignore-xcb-rgb24.txt
new file mode 100644
index 000000000..c673be6ae
--- /dev/null
+++ b/.gitlab-ci/ignore-xcb-rgb24.txt
@@ -0,0 +1 @@
+arc-looping-dash,bug-spline,bug-51910,bug-84115,bug-source-cu,bug-image-compositor,caps-2,caps-1,caps-05,caps-joins-2,caps-joins-1,caps-joins-05,clear-source,clip-operator,clip-text,coverage-rectangles,coverage-rhombus,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,coverage-abutting,culled-glyphs,dash-curve,extended-blend-alpha-mask,fallback,fill-image,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,hatchings,inverse-text,large-font,linear-gradient,linear-gradient-subset,mask,mask-transformed-image,mask-transformed-similar,operator-alpha-alpha,operator-clear,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,push-group,push-group-color,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,rad
ial-outer-focus,random-clip,record-self-intersecting,record1414x-fill-alpha,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-fill-alpha,record90-self-intersecting,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-self-intersecting,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-self-intersecting,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,recording-surface-extend-pad,reflected-stroke,rotated-clip,select-font-face,stroke-clipped,stroke-image,show-glyphs-advance,show-text-current-point,simple-edge,smask,smask-fill,smask-image-mask,smask-mask,smask-paint,smask-stroke,smp-glyph,s
ubsurface,subsurface-scale,surface-pattern-operator,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-rotate,text-transform,tighten-bounds,a1-tiger,trap-clip,twin,twin-antialias-gray,twin-antialias-none,twin-antialias-subpixel,unantialiased-shapes,unbounded-operator,user-font,user-font-proxy,world-map,world-map-fill,xcomposite-projection,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xcb-window--rgb24.txt b/.gitlab-ci/ignore-xcb-window--rgb24.txt
new file mode 100644
index 000000000..ad655e852
--- /dev/null
+++ b/.gitlab-ci/ignore-xcb-window--rgb24.txt
@@ -0,0 +1 @@
+arc-looping-dash,bug-spline,bug-51910,caps-2,caps-1,caps-05,caps-joins-2,caps-joins-1,caps-joins-05,clear-source,clip-operator,clip-text,coverage-rectangles,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,coverage-abutting,culled-glyphs,extended-blend-alpha-mask,fallback,fill-image,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,inverse-text,linear-gradient,linear-gradient-subset,mask,mask-transformed-image,mask-transformed-similar,operator-alpha-alpha,operator-clear,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,push-group,push-group-color,radial-outer-focus,record-self-intersecting,record1414x-fill-alpha,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record90-p
aint-alpha-solid-clip,record90-paint-alpha-clip,record90-fill-alpha,record90-self-intersecting,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-self-intersecting,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-self-intersecting,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,recording-surface-extend-pad,reflected-stroke,rotated-clip,select-font-face,stroke-clipped,stroke-image,show-glyphs-advance,show-text-current-point,simple-edge,smask,smask-fill,smask-image-mask,smask-mask,smask-paint,smask-stroke,smp-glyph,subsurface,subsurface-scale,surface-pattern-operator,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-su
bpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-rotate,text-transform,tighten-bounds,trap-clip,twin,twin-antialias-gray,twin-antialias-none,twin-antialias-subpixel,unantialiased-shapes,unbounded-operator,xcomposite-projection,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xcb-window-rgb24.txt b/.gitlab-ci/ignore-xcb-window-rgb24.txt
new file mode 100644
index 000000000..ad655e852
--- /dev/null
+++ b/.gitlab-ci/ignore-xcb-window-rgb24.txt
@@ -0,0 +1 @@
+arc-looping-dash,bug-spline,bug-51910,caps-2,caps-1,caps-05,caps-joins-2,caps-joins-1,caps-joins-05,clear-source,clip-operator,clip-text,coverage-rectangles,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,coverage-abutting,culled-glyphs,extended-blend-alpha-mask,fallback,fill-image,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,inverse-text,linear-gradient,linear-gradient-subset,mask,mask-transformed-image,mask-transformed-similar,operator-alpha-alpha,operator-clear,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,push-group,push-group-color,radial-outer-focus,record-self-intersecting,record1414x-fill-alpha,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record90-p
aint-alpha-solid-clip,record90-paint-alpha-clip,record90-fill-alpha,record90-self-intersecting,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-self-intersecting,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-self-intersecting,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,recording-surface-extend-pad,reflected-stroke,rotated-clip,select-font-face,stroke-clipped,stroke-image,show-glyphs-advance,show-text-current-point,simple-edge,smask,smask-fill,smask-image-mask,smask-mask,smask-paint,smask-stroke,smp-glyph,subsurface,subsurface-scale,surface-pattern-operator,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-su
bpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-rotate,text-transform,tighten-bounds,trap-clip,twin,twin-antialias-gray,twin-antialias-none,twin-antialias-subpixel,unantialiased-shapes,unbounded-operator,xcomposite-projection,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xlib-argb32.txt b/.gitlab-ci/ignore-xlib-argb32.txt
new file mode 100644
index 000000000..9ea528ad2
--- /dev/null
+++ b/.gitlab-ci/ignore-xlib-argb32.txt
@@ -0,0 +1 @@
+aliasing,arc-looping-dash,bug-spline,bug-84115,bug-extents,bug-image-compositor,caps-joins-curve,clip-disjoint,clip-stroke-unbounded,clip-operator,clip-shape,clip-stroke,clip-text,close-path-current-point,coverage-rhombus,coverage-column-triangles,culled-glyphs,dash-caps-joins,dash-curve,dash-scale,degenerate-curve-to,degenerate-pen,degenerate-rel-curve-to,drunkard-tails,extended-blend-alpha-mask,fill-and-stroke,fill-and-stroke-alpha,fill-and-stroke-alpha-add,fill-image,halo,halo-transform,hatchings,joins,joins-loop,joins-retrace,large-twin-antialias-mixed,leaky-dashed-stroke,line-width-scale,line-width-tolerance,long-dashed-lines,new-sub-path,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,path-stroke-twice,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-outer-focus,random-clip,random-intersections-eo,random-intersections-nonzero,random-intersections-curves-eo,random-intersections-curves-nz,record-select-font
-face,record-self-intersecting,record-text-transform,record1414x-fill-alpha,record1414x-select-font-face,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-select-font-face,record2x-text-transform,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-select-font-face,record90-self-intersecting,record90-text-transform,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-select-font-face,recordflip-whole-self-intersecting,recordflip-whole-text-transform,recordflip-paint-alpha-clip-mask,recordflip-select-font-face,recordflip-self-intersecting,recordflip-text-transform,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-none,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-extend-repeat,recording-surface-extend-pad,reflected-stroke,rel-path,rounded-rectangle-stroke,scale-offset-image,scale-offset-similar
,stroke-clipped,stroke-image,show-glyphs-advance,shape-general-convex,shape-sierpinski,simple-edge,smask,smask-stroke,smask-text,spline-decomposition,stroke-pattern,subsurface,subsurface-scale,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,tighten-bounds,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unclosed-strokes,user-font,user-font-proxy,world-map,world-map-stroke,pthread-show-text,ft-show-glyphs-positioning,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xlib-fallback-rgb24.txt b/.gitlab-ci/ignore-xlib-fallback-rgb24.txt
new file mode 100644
index 000000000..b1f31afa8
--- /dev/null
+++ b/.gitlab-ci/ignore-xlib-fallback-rgb24.txt
@@ -0,0 +1 @@
+arc-looping-dash,bug-51910,bug-seams,caps,caps-2,caps-1,caps-05,caps-joins-2,caps-joins-1,caps-joins-05,caps-joins-curve,caps-sub-paths,clear-source,clip-disjoint-quad,clip-image,clip-mixed-antialias,clip-push-group,clip-polygons,clip-text,close-path,close-path-current-point,copy-path,coverage-intersecting-quads,coverage-abutting,culled-glyphs,dash-caps-joins,dash-infinite-loop,dash-scale,dash-zero-length,degenerate-curve-to,degenerate-pen,degenerate-rel-curve-to,extended-blend-alpha-mask,fallback,filter-bilinear-extents,finer-grained-fallbacks,font-matrix-translation,glyph-cache-pressure,halo-transform,infinite-join,inverse-text,joins,large-twin-antialias-mixed,leaky-dashed-stroke,leaky-polygon,line-width-scale,line-width-tolerance,long-dashed-lines,mask-transformed-image,mask-transformed-similar,operator-alpha-alpha,over-above-source,over-around-source,over-between-source,overlapping-glyphs,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage
-three-quarter-reference,path-stroke-twice,push-group-color,record1414x-select-font-face,record1414x-text-transform,recording-surface-over,recording-surface-extend-none,rectilinear-miter-limit,reflected-stroke,stroke-ctm-caps,select-font-face,self-copy,shifted-operator,show-glyphs-advance,show-text-current-point,smask,smask-image-mask,smask-mask,smask-paint,smask-text,smp-glyph,subsurface,subsurface-scale,surface-pattern-scale-down-extend-none,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,transforms,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unclosed-strokes,xcomposite-projection,pthread-show-text,pthread-similar,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt b/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt
new file mode 100644
index 000000000..ab55902d1
--- /dev/null
+++ b/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt
@@ -0,0 +1 @@
+caps-sub-paths,clear-source,clip-operator,clip-push-group,clip-text,clipped-group,coverage-intersecting-triangles,culled-glyphs,curve-to-as-line-to,extended-blend-alpha-mask,fallback,fill-and-stroke,fill-and-stroke-alpha,fill-and-stroke-alpha-add,finer-grained-fallbacks,halo-transform,horizontal-clip,infinite-join,large-twin-antialias-mixed,leaky-polygon,mask,operator-clear,operator-source,overlapping-glyphs,radial-outer-focus,record1414x-select-font-face,record1414x-text-transform,rectilinear-miter-limit,rectilinear-stroke,rel-path,show-glyphs-advance,smask,smask-text,subsurface,subsurface-scale,surface-pattern-operator,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-pattern,text-rotate,text-unhinted-metrics,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unbounded-operator,pthread-show-text,ft-show-glyphs-positioning,ft-text-vertic
al-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xlib-rgb24.txt b/.gitlab-ci/ignore-xlib-rgb24.txt
new file mode 100644
index 000000000..568cf5e8b
--- /dev/null
+++ b/.gitlab-ci/ignore-xlib-rgb24.txt
@@ -0,0 +1 @@
+aliasing,arc-looping-dash,bug-spline,bug-51910,bug-84115,bug-source-cu,bug-extents,bug-image-compositor,caps-joins-05,caps-joins-curve,caps-tails-curve,clear-source,clip-disjoint,clip-stroke-unbounded,clip-operator,clip-shape,clip-stroke,clip-text,close-path-current-point,coverage-rhombus,coverage-column-triangles,coverage-abutting,culled-glyphs,dash-caps-joins,dash-curve,dash-scale,degenerate-curve-to,degenerate-pen,degenerate-rel-curve-to,drunkard-tails,extended-blend-mask,extended-blend-alpha-mask,fallback,fill-and-stroke,fill-and-stroke-alpha,fill-and-stroke-alpha-add,fill-image,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,hatchings,infinite-join,inverse-text,joins,joins-loop,joins-star,joins-retrace,large-font,large-twin-antialias-mixed,leaky-dashed-stroke,line-width-scale,line-width-tolerance,linear-gradient,linear-gradient-subset,long-dashed-lines,mask,mask-transformed-image,mask-transformed-similar,miter-precision,new-sub-path,oper
ator-alpha-alpha,operator-clear,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,path-stroke-twice,push-group,push-group-color,radial-gradient,radial-gradient-mask,radial-gradient-source,radial-gradient-mask-source,radial-outer-focus,random-clip,random-intersections-eo,random-intersections-nonzero,random-intersections-curves-eo,random-intersections-curves-nz,record-select-font-face,record-self-intersecting,record-text-transform,record1414x-fill-alpha,record1414x-select-font-face,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-select-font-face,record2x-text-transform,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-fill-alpha,record90-select-font-face,record90-self-intersecting,record90-text-transform,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fi
ll-alpha,recordflip-whole-select-font-face,recordflip-whole-self-intersecting,recordflip-whole-text-transform,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-select-font-face,recordflip-self-intersecting,recordflip-text-transform,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-none,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,recording-surface-extend-pad,reflected-stroke,rel-path,rotated-clip,rounded-rectangle-stroke,scale-offset-image,scale-offset-similar,stroke-ctm-caps,stroke-clipped,stroke-image,select-font-face,shifted-operator,show-glyphs-advance,show-text-current-point,shape-general-convex,shape-sierpinski,simple-edge,smask,smask-fill,smask-image-mask,smask-mask,smask-paint,smask-stroke,smask-text,smp-glyph,spline-decomposition,stroke-pattern,subsurface
,subsurface-scale,surface-pattern-operator,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-vbgr,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,tighten-bounds,trap-clip,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unbounded-operator,unclosed-strokes,user-font,user-font-proxy,world-map,world-map-stroke,world-map-fill,xcomposite-projection,pthread-show-text,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
diff --git a/.gitlab-ci/ignore-xlib-window-rgb24.txt b/.gitlab-ci/ignore-xlib-window-rgb24.txt
new file mode 100644
index 000000000..304fe0c24
--- /dev/null
+++ b/.gitlab-ci/ignore-xlib-window-rgb24.txt
@@ -0,0 +1 @@
+aliasing,arc-looping-dash,bug-spline,bug-51910,bug-extents,caps-joins-05,caps-joins-curve,clear-source,clip-disjoint,clip-stroke-unbounded,clip-operator,clip-shape,clip-stroke,clip-text,close-path-current-point,coverage-rectangles,coverage-intersecting-quads,coverage-intersecting-triangles,coverage-row-triangles,coverage-column-triangles,coverage-triangles,coverage-abutting,culled-glyphs,dash-caps-joins,dash-scale,degenerate-curve-to,degenerate-pen,degenerate-rel-curve-to,drunkard-tails,extended-blend-mask,extended-blend-alpha-mask,fallback,fill-and-stroke,fill-and-stroke-alpha,fill-and-stroke-alpha-add,fill-image,filter-bilinear-extents,font-matrix-translation,glyph-cache-pressure,halo,halo-transform,infinite-join,inverse-text,joins,joins-loop,joins-star,joins-retrace,large-twin-antialias-mixed,leaky-dashed-stroke,line-width-scale,line-width-tolerance,linear-gradient,linear-gradient-subset,long-dashed-lines,mask,mask-transformed-image,mask-transformed-similar,miter-precision,new-su
b-path,operator-alpha-alpha,operator-clear,operator-source,overlapping-boxes,overlapping-glyphs,overlapping-dash-caps,partial-clip-text-bottom,partial-clip-text-left,partial-coverage-reference,partial-coverage-three-quarter-reference,path-stroke-twice,push-group,push-group-color,radial-outer-focus,record-select-font-face,record-self-intersecting,record-text-transform,record1414x-fill-alpha,record1414x-select-font-face,record1414x-self-intersecting,record1414x-text-transform,record2x-paint-alpha-clip-mask,record2x-fill-alpha,record2x-select-font-face,record2x-text-transform,record90-paint-alpha-solid-clip,record90-paint-alpha-clip,record90-fill-alpha,record90-select-font-face,record90-self-intersecting,record90-text-transform,recordflip-whole-paint-alpha-clip-mask,recordflip-whole-fill-alpha,recordflip-whole-select-font-face,recordflip-whole-self-intersecting,recordflip-whole-text-transform,recordflip-paint-alpha-clip-mask,recordflip-fill-alpha,recordflip-select-font-face,recordflip-
self-intersecting,recordflip-text-transform,record-neg-extents-unbounded,record-neg-extents-bounded,record-replay-extend-none,record-replay-extend-repeat,record-replay-extend-reflect,record-replay-extend-pad,recording-surface-over,recording-surface-source,recording-surface-extend-none,recording-surface-extend-repeat,recording-surface-extend-reflect,recording-surface-extend-pad,reflected-stroke,rel-path,rotated-clip,rounded-rectangle-stroke,scale-offset-image,scale-offset-similar,stroke-ctm-caps,stroke-clipped,stroke-image,select-font-face,shifted-operator,show-glyphs-advance,show-text-current-point,shape-general-convex,simple-edge,smask,smask-fill,smask-image-mask,smask-mask,smask-paint,smask-stroke,smask-text,smp-glyph,spline-decomposition,stroke-pattern,subsurface,subsurface-scale,surface-pattern-operator,surface-pattern-scale-up,text-antialias-gray,text-antialias-subpixel,text-antialias-subpixel-rgb,text-antialias-subpixel-bgr,text-antialias-subpixel-vrgb,text-antialias-subpixel-
vbgr,text-glyph-range,text-pattern,text-rotate,text-transform,text-unhinted-metrics,tighten-bounds,trap-clip,twin,twin-antialias-gray,twin-antialias-mixed,twin-antialias-none,twin-antialias-subpixel,unbounded-operator,unclosed-strokes,xcomposite-projection,pthread-show-text,ft-show-glyphs-positioning,ft-show-glyphs-table,ft-text-vertical-layout-type1,ft-text-vertical-layout-type3
commit 1e34651420fa77edb09045ee0ff33432c4e73d70
Author: Uli Schlachter <psychon at znc.in>
Date: Sat May 22 08:16:47 2021 +0200
Fix meson build without zlib
Trying to build with meson with -Dzlib=disabled failed with the
following error message:
cairo/test/meson.build:599:2: ERROR: Unknown variable
"libcairoscript_dep".
This commit fixes that problem by adding a not-found dependency if
cairo-script is not built.
Additionally, follow-up problems are fixed:
- any2ppm.c still tried to include cairo-script-interpreter.h, which was
not found
- Building cairo-test-trace was attempted, but that also failed because
of missing script support.
Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/475
Signed-off-by: Uli Schlachter <psychon at znc.in>
diff --git a/test/any2ppm.c b/test/any2ppm.c
index d2d5fc5e2..f601ec835 100644
--- a/test/any2ppm.c
+++ b/test/any2ppm.c
@@ -60,7 +60,10 @@
#include <string.h>
#include <cairo.h>
+
+#if CAIRO_HAS_INTERPRETER
#include <cairo-script-interpreter.h>
+#endif
#if CAIRO_CAN_TEST_PDF_SURFACE
#include <poppler.h>
diff --git a/test/meson.build b/test/meson.build
index 3039cf6da..fed35c310 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -602,7 +602,7 @@ if build_any2ppm
test_depends += [any2ppm_exe]
endif
-if have_shm
+if have_shm and conf.get('CAIRO_HAS_INTERPRETER', 0) == 1
cairo_test_trace_exe = executable('cairo-test-trace', cairo_test_trace_sources,
include_directories: [incbase],
c_args: pthread_c_args,
diff --git a/util/meson.build b/util/meson.build
index 0fa8ec758..152b23729 100644
--- a/util/meson.build
+++ b/util/meson.build
@@ -8,6 +8,8 @@ endif
if conf.get('CAIRO_HAS_INTERPRETER', 0) == 1
subdir('cairo-script')
+else
+ libcairoscript_dep = dependency('', required: false)
endif
if conf.get('CAIRO_HAS_TRACE', 0) == 1
commit 1981fb6dfb51f44feb68590f51309520185e0780
Author: Uli Schlachter <psychon at znc.in>
Date: Sat May 22 07:59:52 2021 +0200
meson: Use more dependency objects
For example, to depend on cairo-script, inccairoscript was added to
"include_directories:" and libcairoscript was added to "link_with:".
This commit instead uses the libcairoscript_dep dependency everywhere.
Signed-off-by: Uli Schlachter <psychon at znc.in>
diff --git a/boilerplate/meson.build b/boilerplate/meson.build
index 0216b7a6c..cc6bc9519 100644
--- a/boilerplate/meson.build
+++ b/boilerplate/meson.build
@@ -35,9 +35,13 @@ cairo_boilerplate_constructors = custom_target('cairo-boilerplate-constructors.c
command: [python3, files('make-cairo-boilerplate-constructors.py')[0], '@OUTPUT@', '@INPUT@'])
libcairoboilerplate = static_library('cairoboilerplate', cairo_boilerplate_sources + [cairo_boilerplate_constructors],
- include_directories: [incbase, incsrc],
- dependencies: deps,
- link_with: [libcairo],
+ include_directories: [incbase],
+ dependencies: deps + [libcairo_dep],
install: false,
build_by_default: false,
)
+
+cairoboilerplate_dep = declare_dependency(
+ link_with: [libcairoboilerplate],
+ include_directories: include_directories('.'),
+)
diff --git a/meson.build b/meson.build
index 9901bdf29..8d989abe9 100644
--- a/meson.build
+++ b/meson.build
@@ -890,11 +890,10 @@ deps += internal_deps
subdir('src')
-incboilerplate = include_directories('boilerplate')
if feature_conf.get('CAIRO_HAS_PNG_FUNCTIONS', 0) == 1
subdir('boilerplate')
else
- libcairoboilerplate = []
+ cairoboilerplate_dep = dependency()
endif
subdir('util')
diff --git a/src/meson.build b/src/meson.build
index 2905fdc8a..58a798404 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -309,7 +309,8 @@ cairo_headers += [configure_file(output: 'cairo-features.h', configuration: feat
libcairo_dep = declare_dependency(link_with: libcairo,
dependencies: deps,
- include_directories: incsrc)
+ include_directories: incsrc
+)
pkgmod.generate(libcairo,
description: 'Multi-platform 2D graphics library',
diff --git a/test/meson.build b/test/meson.build
index 70082f94a..3039cf6da 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -572,8 +572,6 @@ cairo_test_constructors = custom_target('cairo-test-constructors.c',
output: 'cairo-test-constructors.c',
command: [python3, files('make-cairo-test-constructors.py')[0], '@OUTPUT@', '@INPUT@'])
-incpdiff = include_directories('pdiff')
-
test_depends = []
subdir('pdiff')
@@ -598,27 +596,25 @@ endif
if build_any2ppm
any2ppm_exe = executable('any2ppm', 'any2ppm.c',
- include_directories: [incbase, incsrc, inccairoscript],
- link_with: [libcairo, libcairoscript],
- dependencies: deps + test_deps,
+ include_directories: [incbase],
+ dependencies: deps + test_deps + [libcairo_dep, libcairoscript_dep],
)
test_depends += [any2ppm_exe]
endif
if have_shm
cairo_test_trace_exe = executable('cairo-test-trace', cairo_test_trace_sources,
- include_directories: [incbase, incsrc, incboilerplate, incpdiff, inccairoscript, inccairomissing],
+ include_directories: [incbase],
c_args: pthread_c_args,
- link_with: [libcairo, libcairoboilerplate, libpdiff, libcairoscript, libcairomissing],
link_args: extra_link_args,
- dependencies: deps + test_deps + [rt_dep])
+ dependencies: deps + test_deps + [rt_dep, libcairo_dep, cairoboilerplate_dep, libpdiff_dep, libcairomissing_dep, libcairoscript_dep])
endif
exe = executable('cairo-test-suite', [cairo_test_suite_sources, test_sources, cairo_test_constructors],
- include_directories: [incbase, incsrc, incboilerplate, incpdiff],
- link_with: [libcairo, libcairoboilerplate, libpdiff],
+ include_directories: [incbase],
link_args: extra_link_args,
- dependencies: deps + test_deps,
+ dependencies: deps + test_deps + [libcairo_dep, cairoboilerplate_dep,
+ libpdiff_dep],
)
env = environment()
diff --git a/test/pdiff/meson.build b/test/pdiff/meson.build
index 30c6f1b5f..636871a1f 100644
--- a/test/pdiff/meson.build
+++ b/test/pdiff/meson.build
@@ -9,11 +9,16 @@ perceptualdiff_sources = [
]
libpdiff = static_library('pdiff', libpdiff_sources,
- include_directories: [incbase, incsrc],
- dependencies: deps,
- link_with: [libcairo],
+ include_directories: [incbase],
+ dependencies: deps + [libcairo_dep],
+)
+
+libpdiff_dep = declare_dependency(
+ include_directories: include_directories('.'),
+ link_with: [libpdiff],
)
perceptualdiff = executable('perceptualdiff', perceptualdiff_sources,
- include_directories: [incbase, incsrc],
- link_with: [libpdiff])
+ include_directories: [incbase],
+ dependencies: [libcairo_dep, libpdiff_dep],
+)
diff --git a/util/cairo-gobject/meson.build b/util/cairo-gobject/meson.build
index e4e3c8302..0a525b6fa 100644
--- a/util/cairo-gobject/meson.build
+++ b/util/cairo-gobject/meson.build
@@ -8,18 +8,15 @@ cairo_gobject_headers = [
]
libcairogobject = library('cairo-gobject', cairo_gobject_sources,
- include_directories: [incbase, incsrc],
- dependencies: [glib_dep, gobject_dep],
- link_with: [libcairo],
+ include_directories: [incbase],
+ dependencies: [glib_dep, gobject_dep, libcairo_dep],
soversion: cairo_version_sonum,
version: cairo_libversion,
install: true,
)
-incgobject = include_directories('.')
-
libcairogobject_dep = declare_dependency(link_with: libcairogobject,
- include_directories: [incgobject],
+ include_directories: include_directories('.'),
dependencies: libcairo_dep)
pkgmod.generate(libcairogobject,
diff --git a/util/cairo-missing/meson.build b/util/cairo-missing/meson.build
index 18c6caf33..3280b03fe 100644
--- a/util/cairo-missing/meson.build
+++ b/util/cairo-missing/meson.build
@@ -3,10 +3,13 @@ cairo_missing_sources = [
'getline.c',
]
-inccairomissing = include_directories('.')
-
libcairomissing = static_library('cairo-missing', cairo_missing_sources,
include_directories: [incbase, incsrc],
install: false,
build_by_default: false,
)
+
+libcairomissing_dep = declare_dependency(
+ link_with: libcairomissing,
+ include_directories: include_directories('.'),
+)
diff --git a/util/cairo-script/meson.build b/util/cairo-script/meson.build
index 7a6b55818..653c19d33 100644
--- a/util/cairo-script/meson.build
+++ b/util/cairo-script/meson.build
@@ -26,18 +26,15 @@ csi_trace_sources = [
libcairoscript = library('cairo-script-interpreter',
cairoscript_interpreter_sources,
- include_directories: [incbase, incsrc],
- dependencies: deps,
- link_with: [libcairo],
+ include_directories: [incbase],
+ dependencies: deps + [libcairo_dep],
soversion: cairo_version_sonum,
version: cairo_libversion,
install: true,
)
-inccairoscript = include_directories('.')
-
libcairoscript_dep = declare_dependency(link_with: libcairoscript,
- include_directories: [inccairoscript],
+ include_directories: include_directories('.'),
dependencies: libcairo_dep)
pkgmod.generate(libcairoscript,
@@ -49,22 +46,19 @@ pkgmod.generate(libcairoscript,
meson.override_dependency('cairo-script-interpreter', libcairoscript_dep)
csi_replay_exe = executable('csi-replay', csi_replay_sources,
- include_directories: [incbase, incsrc],
- link_with: [libcairo, libcairoscript],
- dependencies: deps,
+ include_directories: [incbase],
+ dependencies: deps + [libcairo_dep, libcairoscript_dep],
)
csi_exec_exe = executable('csi-exec', csi_exec_sources,
- include_directories: [incbase, incsrc],
- link_with: [libcairo, libcairoscript],
- dependencies: deps,
+ include_directories: [incbase],
+ dependencies: deps + [libcairo_dep, libcairoscript_dep],
)
if feature_conf.get('CAIRO_HAS_SCRIPT_SURFACE', 0) == 1 and conf.get('HAVE_LIBGEN_H', 0) == 1
csi_trace_exe = executable('csi-trace', csi_trace_sources,
- include_directories: [incbase, incsrc],
- link_with: [libcairo, libcairoscript],
- dependencies: deps,
+ include_directories: [incbase],
+ dependencies: deps + [libcairo_dep, libcairoscript_dep],
)
endif
diff --git a/util/cairo-sphinx/meson.build b/util/cairo-sphinx/meson.build
index f779744b9..20ea04d7f 100644
--- a/util/cairo-sphinx/meson.build
+++ b/util/cairo-sphinx/meson.build
@@ -16,10 +16,10 @@ libcairosphinx = library('cairo-sphinx', libcairo_sphinx_sources,
libdir = join_paths(get_option('prefix'), get_option('libdir'))
cairosphinx_exe = executable('cairo-sphinx', cairo_sphinx_sources,
- include_directories: [incbase, incsrc, inccairoscript, incboilerplate],
+ include_directories: [incbase],
c_args: ['-DLIBDIR="@0@"'.format(libdir)] + pthread_c_args,
- dependencies: deps + [glib_dep, rt_dep],
- link_with: [libcairo, libcairosphinx, libcairoscript, libcairoboilerplate],
+ dependencies: deps + [glib_dep, rt_dep, libcairo_dep, cairoboilerplate_dep, libcairoscript_dep],
+ link_with: [libcairosphinx],
link_args: extra_link_args,
install: true,
)
diff --git a/util/meson.build b/util/meson.build
index e3a1ace96..0fa8ec758 100644
--- a/util/meson.build
+++ b/util/meson.build
@@ -52,9 +52,8 @@ foreach util : cairo_utils
exe_name = util[0].split('.')[0]
util_deps = util.get(1, {}).get('deps', [])
executable(exe_name, util[0],
- include_directories: [incbase, incsrc, inccairoscript],
- dependencies: deps + util_deps,
- link_with: [libcairo, libcairoscript],
+ include_directories: [incbase],
+ dependencies: deps + util_deps + [libcairo_dep, libcairoscript_dep],
)
endforeach
commit 339671c7872335a5ce748a635a314cbe375e303e
Author: Uli Schlachter <psychon at znc.in>
Date: Sat May 15 10:53:08 2021 +0200
meson: Add perf/ directory
This adds the code under perf/ to meson. The only testing I did was "it
builds for me". I do not have gtk+2 installed and so I did not even try
whether that thing builds. Besides that, I mostly tried to stay close to
the autofoo build.
diff --git a/meson.build b/meson.build
index 06df7f9c1..11002f501 100644
--- a/meson.build
+++ b/meson.build
@@ -901,6 +901,7 @@ subdir('util')
if not get_option('tests').disabled() and feature_conf.get('CAIRO_HAS_PNG_FUNCTIONS', 0) == 1
subdir('test')
+ subdir('perf')
endif
configure_file(output: 'config.h', configuration: conf)
diff --git a/perf/meson.build b/perf/meson.build
new file mode 100644
index 000000000..40ebeea05
--- /dev/null
+++ b/perf/meson.build
@@ -0,0 +1,93 @@
+incmicro = include_directories('.')
+
+subdir('micro')
+
+gtk2_dep = dependency('gtk+-2.0', required: false)
+
+libcairoperf = static_library('cairoperf',
+ [
+ 'cairo-perf.c',
+ 'cairo-perf-report.c',
+ 'cairo-stats.c',
+ '../src/cairo-time.c',
+ 'cairo-perf.h',
+ 'cairo-stats.h',
+ ],
+ include_directories: [incbase, incsrc, incboilerplate, inccairomissing],
+ link_with: [libcairomissing, libcairoboilerplate],
+ dependencies: [pixman_dep],
+)
+
+
+analyse_trace = executable('cairo-analyse-trace',
+ [
+ 'cairo-analyse-trace.c',
+ '../src/cairo-error.c',
+ ],
+ include_directories: [incbase, incsrc, incboilerplate, inccairoscript, inccairomissing],
+ link_with: [libcairo, libcairoboilerplate, libcairoscript, libcairomissing],
+ dependencies: [pixman_dep, fontconfig_dep],
+)
+
+perf_trace = executable('cairo-perf-trace',
+ [
+ 'cairo-perf-trace.c',
+ '../src/cairo-error.c',
+ '../src/cairo-hash.c',
+ ],
+ include_directories: [incbase, incsrc, incboilerplate, inccairoscript, inccairomissing],
+ link_with: [libcairoperf, libcairoscript],
+ dependencies: [pixman_dep, fontconfig_dep],
+)
+
+micro = executable('cairo-perf-micro',
+ [ 'cairo-perf-micro.c', ],
+ include_directories: [incbase, incsrc, incboilerplate, inccairomissing],
+ link_with: [libcairoperf, libcairoperfmicro],
+ dependencies: [fontconfig_dep],
+)
+
+diff_files = executable('cairo-perf-diff-files',
+ [
+ 'cairo-perf-diff-files.c',
+ ],
+ include_directories: [incbase, incsrc, incboilerplate],
+ link_with: [libcairoperf],
+)
+
+print = executable('cairo-perf-print',
+ [
+ 'cairo-perf-print.c',
+ ],
+ include_directories: [incbase, incsrc, incboilerplate],
+ link_with: [libcairoperf],
+)
+
+chart = executable('cairo-perf-chart',
+ [
+ 'cairo-perf-chart.c',
+ ],
+ include_directories: [incbase, incsrc, incboilerplate],
+ link_with: [libcairoperf],
+)
+
+compare_backends = executable('cairo-perf-compare-backends',
+ [
+ 'cairo-perf-compare-backends.c',
+ ],
+ include_directories: [incbase, incsrc, incboilerplate],
+ link_with: [libcairoperf],
+)
+
+if gtk2_dep.found()
+ graph_files = executable('cairo-perf-graph',
+ [
+ 'cairo-perf-graph-files.c',
+ 'cairo-perf-graph-widget.c',
+ 'cairo-perf-graph.h',
+ ],
+ include_directories: [incbase, incsrc, incboilerplate],
+ link_with: [libcairo, libcairoboilerplate, libcairoperf],
+ dependencies: [gtk2_dep],
+ )
+endif
diff --git a/perf/micro/meson.build b/perf/micro/meson.build
new file mode 100644
index 000000000..5ee45b5ce
--- /dev/null
+++ b/perf/micro/meson.build
@@ -0,0 +1,57 @@
+perf_micro_sources = [
+ 'cairo-perf-cover.c',
+ 'box-outline.c',
+ 'composite-checker.c',
+ 'disjoint.c',
+ 'fill.c',
+ 'hatching.c',
+ 'hash-table.c',
+ 'line.c',
+ 'a1-line.c',
+ 'long-lines.c',
+ 'mosaic.c',
+ 'paint.c',
+ 'paint-with-alpha.c',
+ 'mask.c',
+ 'pattern_create_radial.c',
+ 'rectangles.c',
+ 'rounded-rectangles.c',
+ 'stroke.c',
+ 'subimage_copy.c',
+ 'tessellate.c',
+ 'text.c',
+ 'tiger.c',
+ 'glyphs.c',
+ 'twin.c',
+ 'unaligned-clip.c',
+ 'wave.c',
+ 'world-map.c',
+ 'zrusin.c',
+ 'long-dashed-lines.c',
+ 'dragon.c',
+ 'pythagoras-tree.c',
+ 'intersections.c',
+ 'many-strokes.c',
+ 'wide-strokes.c',
+ 'many-fills.c',
+ 'wide-fills.c',
+ 'many-curves.c',
+ 'curve.c',
+ 'a1-curve.c',
+ 'spiral.c',
+ 'pixel.c',
+ 'sierpinski.c',
+ 'fill-clip.c',
+]
+
+perf_micro_headers = [
+ 'mosaic.h',
+ 'world-map.h',
+ 'zrusin-another.h',
+]
+
+libcairoperfmicro = static_library('cairo-perf-micro',
+ perf_micro_sources + perf_micro_headers,
+ include_directories: [incbase, incsrc, incboilerplate, incmicro],
+ dependencies: [pixman_dep],
+)
commit 1c5b4716f727584373178ff5aa46d6f2df400b84
Author: Uli Schlachter <psychon at znc.in>
Date: Fri May 14 17:08:02 2021 +0200
meson: Add shell script tests
There are a couple of shell scripts in src/ that run various tests. This
commit adds them to the meson build.
The one exception is check-def.sh, which I couldn't get to work and thus
only add it commented out.
check-headers.sh and check-plt.sh required some tweaking to get them to
work. check-plt.sh will print an error when run since the file
'.libs/lib*.so' does not exist, but it will still run its check
correctly.
diff --git a/src/check-headers.sh b/src/check-headers.sh
index 61232954b..f6c7bd59f 100755
--- a/src/check-headers.sh
+++ b/src/check-headers.sh
@@ -11,7 +11,7 @@ echo Checking public headers for missing cairo_public decorators
cd "$srcdir"
FILES=$all_cairo_headers
if test "x$FILES" = x; then
- FILES=`find . -name 'cairo*.h' ! -name '*-private.h' ! -name 'cairoint.h'`
+ FILES=`find . -name 'cairo*.h' ! -name '*-private.h' ! -name 'cairoint.h' ! -name '*-inline.h' ! -name cairo-drm-intel-brw-eu.h`
fi
grep -B 1 '^cairo_.*[ ]\+(' /dev/null $FILES |
diff --git a/src/check-plt.sh b/src/check-plt.sh
index 5a9dae126..6f3d07401 100755
--- a/src/check-plt.sh
+++ b/src/check-plt.sh
@@ -14,13 +14,15 @@ test -z "$srcdir" && srcdir=.
test -z "$MAKE" && MAKE=make
stat=0
-$MAKE check-has-hidden-symbols.i > /dev/null || exit 1
-if tail -1 check-has-hidden-symbols.i | grep CAIRO_HAS_HIDDEN_SYMBOLS >/dev/null; then
- echo "Compiler doesn't support symbol visibility; skipping test"
- exit 0
+if [ "x$CAIRO_HAS_HIDDEN_SYMBOLS" = x ]; then
+ $MAKE check-has-hidden-symbols.i > /dev/null || exit 1
+ if tail -1 check-has-hidden-symbols.i | grep CAIRO_HAS_HIDDEN_SYMBOLS >/dev/null; then
+ echo "Compiler doesn't support symbol visibility; skipping test"
+ exit 0
+ fi
fi
-for so in .libs/lib*.so; do
+for so in .libs/lib*.so "$@"; do
echo Checking "$so" for local PLT entries
readelf -W -r "$so" | grep 'JU\?MP_SLO' | grep 'cairo' >&2 && stat=1
done
diff --git a/src/meson.build b/src/meson.build
index 2905fdc8a..d04b4976c 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -319,3 +319,30 @@ pkgmod.generate(libcairo,
meson.override_dependency('cairo', libcairo_dep)
install_headers(cairo_headers, subdir: 'cairo')
+
+shell = find_program('sh', required: false)
+if shell.found()
+ test_scripts = [
+ # This script calls back into make to generate cairo.def
+ # TODO: Make this work, somehow
+ #'check-def.sh',
+ 'check-doc-syntax.sh',
+ 'check-headers.sh',
+ 'check-preprocessor-syntax.sh',
+ ]
+
+ foreach test_script: test_scripts
+ test(test_script, shell,
+ args: [test_script],
+ workdir: meson.current_source_dir())
+ endforeach
+
+ env = environment()
+ env.set('CAIRO_HAS_HIDDEN_SYMBOLS', '1')
+
+ test('check-plt.sh', shell,
+ args: ['check-plt.sh', libcairo ],
+ env: env,
+ workdir: meson.current_source_dir())
+
+endif
More information about the cairo-commit
mailing list