summaryrefslogtreecommitdiff
path: root/.gitlab-ci
diff options
context:
space:
mode:
authorManuel Stoeckl <code@mstoeckl.com>2021-08-25 21:08:36 -0400
committerManuel Stoeckl <code@mstoeckl.com>2021-08-29 11:57:30 -0400
commit6647511593ce0ab1de3dbd514796e926e232d644 (patch)
tree59ec6e8bfa3ed19f282e996e8ab7afc61ae837d0 /.gitlab-ci
parent04906075847dd5f13d9b02503032a2fbb557b32e (diff)
downloadcairo-6647511593ce0ab1de3dbd514796e926e232d644.tar.gz
test: explicitly handle image formats in buffer_diff_core
In practice, the A and B images may be any mixture of RGB24 and ARGB32 formats, so this change accepts all combinations of these types, and converts the pixel values to a common (ARGB32) format as needed. Some of the newly added test failures are cases where the image output is RGB24, but the matching reference image is ARGB32 with noticeable transparency. Some of the newly passing tests are cases where the unused 'alpha' channel of an RGB24 image was not equal to 0xff, and the previous code had incorrectly used this channel in max_diff calculations.
Diffstat (limited to '.gitlab-ci')
-rw-r--r--.gitlab-ci/ignore-image-rgb24.txt42
-rw-r--r--.gitlab-ci/ignore-image16-rgb24.txt21
-rw-r--r--.gitlab-ci/ignore-pdf-argb32.txt28
-rw-r--r--.gitlab-ci/ignore-pdf-rgb24.txt62
-rw-r--r--.gitlab-ci/ignore-quartz-argb32.txt1
-rw-r--r--.gitlab-ci/ignore-quartz-rgb24.txt33
-rw-r--r--.gitlab-ci/ignore-recording-rgb24.txt42
-rw-r--r--.gitlab-ci/ignore-script-argb32.txt104
-rw-r--r--.gitlab-ci/ignore-svg11-argb32.txt11
-rw-r--r--.gitlab-ci/ignore-svg11-rgb24.txt65
-rw-r--r--.gitlab-ci/ignore-xcb-fallback-rgb24.txt45
-rw-r--r--.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt51
-rw-r--r--.gitlab-ci/ignore-xcb-rgb24.txt106
-rw-r--r--.gitlab-ci/ignore-xcb-window&-rgb24.txt100
-rw-r--r--.gitlab-ci/ignore-xcb-window-rgb24.txt100
-rw-r--r--.gitlab-ci/ignore-xlib-fallback-rgb24.txt112
-rw-r--r--.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt53
-rw-r--r--.gitlab-ci/ignore-xlib-rgb24.txt86
-rw-r--r--.gitlab-ci/ignore-xlib-window-rgb24.txt83
19 files changed, 572 insertions, 573 deletions
diff --git a/.gitlab-ci/ignore-image-rgb24.txt b/.gitlab-ci/ignore-image-rgb24.txt
index 9017df695..3b9f32f9f 100644
--- a/.gitlab-ci/ignore-image-rgb24.txt
+++ b/.gitlab-ci/ignore-image-rgb24.txt
@@ -1,26 +1,65 @@
+a1-clip-fill-rule
+alpha-similar
+big-empty-box
+big-empty-triangle
+big-little-box
+bitmap-font
+bug-361
+bug-431
bug-source-cu
+clip-device-offset
+clip-fill-rule-pixel-aligned
clip-text
+clip-unbounded
culled-glyphs
dash-zero-length
degenerate-path
+device-offset
+device-offset-positive
extended-blend-alpha-mask
fill-and-stroke
+fill-empty
fill-missed-stop
finer-grained-fallbacks
+ft-color-font
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-alpha
gradient-constant-alpha
+gradient-zero-stops
+gradient-zero-stops-mask
halo-transform
+image-surface-source
+linear-gradient-one-stop
+mask-ctm
+mask-surface-ctm
new-sub-path
+nil-surface
+overlapping-boxes
overlapping-glyphs
+pass-through
+pdf-surface-source
+pixman-downscale-best-24
+pixman-rotate
+ps-surface-source
+radial-gradient-source
record1414x-select-font-face
record1414x-text-transform
+record-neg-extents-bounded
+record-neg-extents-unbounded
+record-replay-extend-none
+record-replay-extend-pad
+record-replay-extend-reflect
+record-replay-extend-repeat
rel-path
+scale-source-surface-paint
+set-source
shifted-operator
show-glyphs-advance
+source-surface-scale-paint
subsurface
+subsurface-outside-target
subsurface-scale
text-antialias-subpixel
text-antialias-subpixel-bgr
@@ -30,4 +69,7 @@ text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
+thin-lines
user-font-mask
+xcb-surface-source
+xlib-surface-source
diff --git a/.gitlab-ci/ignore-image16-rgb24.txt b/.gitlab-ci/ignore-image16-rgb24.txt
index 0e2533821..7b1c2e906 100644
--- a/.gitlab-ci/ignore-image16-rgb24.txt
+++ b/.gitlab-ci/ignore-image16-rgb24.txt
@@ -1,9 +1,15 @@
a1-bug
+a1-clip-fill-rule
a1-tiger
aliasing
+alpha-similar
arc-direction
arc-looping-dash
+big-empty-box
+big-empty-triangle
big-line
+big-little-box
+bitmap-font
bug-84115
bug-bo-ricotz
bug-extents
@@ -19,11 +25,13 @@ caps-joins-alpha
caps-joins-curve
caps-tails-curve
clear-source
+clip-device-offset
clip-disjoint
clip-disjoint-quad
clip-fill
clip-fill-eo-unbounded
clip-fill-nz-unbounded
+clip-fill-rule-pixel-aligned
clip-image
clip-intersect
clip-operator
@@ -33,6 +41,7 @@ clip-stroke
clip-stroke-unbounded
clip-text
clip-twice
+clip-unbounded
close-path-current-point
copy-path
coverage-abutting
@@ -54,6 +63,8 @@ degenerate-curve-to
degenerate-path
degenerate-pen
degenerate-rel-curve-to
+device-offset
+device-offset-positive
drunkard-tails
extended-blend
extended-blend-alpha
@@ -69,6 +80,7 @@ fill-and-stroke
fill-and-stroke-alpha
fill-and-stroke-alpha-add
fill-degenerate-sort-order
+fill-empty
fill-image
fill-missed-stop
fill-rule
@@ -82,6 +94,8 @@ ft-text-vertical-layout-type3
glyph-cache-pressure
gradient-alpha
gradient-constant-alpha
+gradient-zero-stops
+gradient-zero-stops-mask
group-unaligned
halo
halo-transform
@@ -97,6 +111,7 @@ large-font
large-twin-antialias-mixed
leaky-dashed-stroke
linear-gradient
+linear-gradient-one-stop
linear-gradient-reflect
linear-gradient-subset
line-width-overlap-offset
@@ -115,6 +130,7 @@ mesh-pattern-fold
mesh-pattern-overlap
mesh-pattern-transformed
new-sub-path
+nil-surface
operator-source
over-around-source
overlapping-boxes
@@ -193,6 +209,7 @@ record-neg-extents-unbounded
record-paint-alpha
record-paint-alpha-clip
record-paint-alpha-clip-mask
+record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
@@ -207,6 +224,7 @@ rounded-rectangle-fill
rounded-rectangle-stroke
scale-offset-image
scale-offset-similar
+scale-source-surface-paint
select-font-face
set-source
shape-general-convex
@@ -221,11 +239,13 @@ smask-mask
smask-paint
smask-stroke
smask-text
+source-surface-scale-paint
spline-decomposition
stroke-ctm-caps
stroke-image
stroke-pattern
subsurface
+subsurface-outside-target
subsurface-scale
surface-pattern
surface-pattern-operator
@@ -242,6 +262,7 @@ text-pattern
text-rotate
text-transform
text-unhinted-metrics
+thin-lines
tiger
tighten-bounds
transforms
diff --git a/.gitlab-ci/ignore-pdf-argb32.txt b/.gitlab-ci/ignore-pdf-argb32.txt
index bb7abf93a..cea0d4256 100644
--- a/.gitlab-ci/ignore-pdf-argb32.txt
+++ b/.gitlab-ci/ignore-pdf-argb32.txt
@@ -9,30 +9,15 @@ fallback
filter-bilinear-extents
filter-nearest-offset
filter-nearest-transformed
-font-matrix-translation
ft-show-glyphs-positioning
-ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
-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-best-24
pixman-downscale-best-95
-pixman-downscale-bilinear-24
-pixman-downscale-fast-24
pixman-downscale-fast-95
-pixman-downscale-good-24
-pixman-downscale-nearest-24
pixman-downscale-nearest-95
pthread-same-source
pthread-show-text
@@ -44,32 +29,19 @@ radial-gradient-source
record1414x-select-font-face
record1414x-text-transform
record2x-text-transform
-recording-surface-extend-reflect
-recording-surface-extend-repeat
-recording-surface-over
record-replay-extend-reflect
-record-replay-extend-repeat
rectilinear-dash
-rectilinear-miter-limit
rectilinear-stroke
rotate-clip-image-surface-paint
rotate-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
diff --git a/.gitlab-ci/ignore-pdf-rgb24.txt b/.gitlab-ci/ignore-pdf-rgb24.txt
index 33b8694f6..380d37710 100644
--- a/.gitlab-ci/ignore-pdf-rgb24.txt
+++ b/.gitlab-ci/ignore-pdf-rgb24.txt
@@ -1,37 +1,44 @@
+big-empty-box
+big-empty-triangle
+big-little-box
+bitmap-font
+bug-361
bug-image-compositor
clear-source
+clip-device-offset
+clip-fill-rule-pixel-aligned
clip-text
culled-glyphs
+device-offset
+device-offset-positive
extended-blend-alpha-mask
-extended-blend-solid
+fill-empty
filter-bilinear-extents
filter-nearest-offset
filter-nearest-transformed
-font-matrix-translation
+ft-color-font
ft-show-glyphs-positioning
-ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
-glyph-cache-pressure
-halo
+gradient-zero-stops
+gradient-zero-stops-mask
halo-transform
-inverse-text
-large-font
+image-surface-source
+linear-gradient-one-stop
linear-gradient-reflect
mask
-operator-alpha-alpha
+mask-ctm
+mask-surface-ctm
+nil-surface
+overlapping-boxes
overlapping-glyphs
-paint-with-alpha-clip
-partial-clip-text-bottom
-partial-clip-text-left
-pixman-downscale-best-24
+pass-through
+pdf-surface-source
pixman-downscale-best-95
-pixman-downscale-bilinear-24
-pixman-downscale-fast-24
pixman-downscale-fast-95
-pixman-downscale-good-24
-pixman-downscale-nearest-24
pixman-downscale-nearest-95
+pixman-rotate
+ps-surface-source
pthread-same-source
pthread-show-text
radial-gradient
@@ -50,41 +57,30 @@ 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-select-font-face
-recordflip-text-transform
recordflip-whole-select-font-face
recordflip-whole-self-intersecting
recordflip-whole-text-transform
-recording-surface-extend-repeat
-recording-surface-over
record-paint-alpha-clip
-record-replay-extend-reflect
-record-replay-extend-repeat
+record-replay-extend-pad
record-select-font-face
-record-text-transform
rectilinear-dash
-rectilinear-miter-limit
rectilinear-stroke
rel-path
rotate-clip-image-surface-paint
rotate-image-surface-paint
-select-font-face
-self-copy
+set-source
show-glyphs-advance
-show-text-current-point
smask-text
-smp-glyph
+source-surface-scale-paint
surface-pattern
surface-pattern-scale-down
-text-glyph-range
text-pattern
text-rotate
-text-transform
text-unhinted-metrics
-trap-clip
+thin-lines
twin
-user-font-proxy
user-font-rescale
+xcb-surface-source
+xlib-surface-source
diff --git a/.gitlab-ci/ignore-quartz-argb32.txt b/.gitlab-ci/ignore-quartz-argb32.txt
index e00077831..b09168133 100644
--- a/.gitlab-ci/ignore-quartz-argb32.txt
+++ b/.gitlab-ci/ignore-quartz-argb32.txt
@@ -14,6 +14,7 @@ ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
negative-stride-image
operator-www
+pdf-operators-text
radial-gradient
radial-gradient-mask
radial-gradient-mask-source
diff --git a/.gitlab-ci/ignore-quartz-rgb24.txt b/.gitlab-ci/ignore-quartz-rgb24.txt
index 58d226784..277ad4bca 100644
--- a/.gitlab-ci/ignore-quartz-rgb24.txt
+++ b/.gitlab-ci/ignore-quartz-rgb24.txt
@@ -1,21 +1,46 @@
+a1-clip-fill-rule
+alpha-similar
+big-empty-box
+big-empty-triangle
+big-little-box
+bitmap-font
bug-361
bug-431
bug-448
bug-image-compositor
bug-source-cu
+clip-device-offset
+clip-fill-rule-pixel-aligned
+clip-unbounded
coverage-rhombus
culled-glyphs
-extended-blend-alpha
+device-offset
+device-offset-positive
extended-blend-alpha-mask
extended-blend-mask
-extended-blend-solid-alpha
+fill-and-stroke
+fill-empty
fill-missed-stop
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-alpha
+gradient-constant-alpha
+gradient-zero-stops
+gradient-zero-stops-mask
+hatchings
+image-surface-source
+linear-gradient-one-stop
+mask-ctm
+mask-surface-ctm
negative-stride-image
+nil-surface
operator-www
+overlapping-boxes
+pass-through
+pdf-surface-source
+ps-surface-source
+quartz-surface-source
radial-gradient
radial-gradient-mask
radial-gradient-mask-source
@@ -37,15 +62,18 @@ record-mesh
record-neg-extents-bounded
record-neg-extents-unbounded
record-paint-alpha-clip-mask
+record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-select-font-face
record-text-transform
rel-path
+scale-source-surface-paint
set-source
shifted-operator
simple-edge
+source-surface-scale-paint
subsurface
subsurface-scale
text-antialias-subpixel
@@ -54,4 +82,5 @@ text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-unhinted-metrics
+thin-lines
user-font-proxy
diff --git a/.gitlab-ci/ignore-recording-rgb24.txt b/.gitlab-ci/ignore-recording-rgb24.txt
index 39ba6df2e..90eb1d5fe 100644
--- a/.gitlab-ci/ignore-recording-rgb24.txt
+++ b/.gitlab-ci/ignore-recording-rgb24.txt
@@ -1,23 +1,52 @@
+a1-clip-fill-rule
+alpha-similar
+big-empty-box
+big-empty-triangle
+big-little-box
+bitmap-font
+bug-361
+bug-431
bug-source-cu
clear-source
+clip-device-offset
+clip-fill-rule-pixel-aligned
clip-text
+clip-unbounded
coverage-rectangles
culled-glyphs
dash-zero-length
degenerate-path
+device-offset
+device-offset-positive
extended-blend-alpha-mask
fill-and-stroke
+fill-empty
fill-missed-stop
finer-grained-fallbacks
+ft-color-font
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-alpha
gradient-constant-alpha
+gradient-zero-stops
+gradient-zero-stops-mask
halo-transform
+image-surface-source
+linear-gradient-one-stop
+mask-ctm
+mask-surface-ctm
new-sub-path
+nil-surface
+overlapping-boxes
overlapping-glyphs
+pass-through
+pdf-surface-source
+pixman-downscale-best-24
+pixman-rotate
+ps-surface-source
pthread-same-source
+radial-gradient-source
record1414x-fill-alpha
record1414x-select-font-face
record1414x-text-transform
@@ -29,10 +58,20 @@ recording-surface-extend-reflect
recording-surface-extend-repeat
recording-surface-over
recording-surface-source
+record-neg-extents-bounded
+record-neg-extents-unbounded
+record-replay-extend-none
+record-replay-extend-pad
+record-replay-extend-reflect
+record-replay-extend-repeat
rel-path
scale-offset-similar
+scale-source-surface-paint
+set-source
show-glyphs-advance
+source-surface-scale-paint
subsurface
+subsurface-outside-target
subsurface-scale
text-antialias-subpixel
text-antialias-subpixel-bgr
@@ -42,3 +81,6 @@ text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
+thin-lines
+xcb-surface-source
+xlib-surface-source
diff --git a/.gitlab-ci/ignore-script-argb32.txt b/.gitlab-ci/ignore-script-argb32.txt
index dd8b6ee8c..8ea8607c2 100644
--- a/.gitlab-ci/ignore-script-argb32.txt
+++ b/.gitlab-ci/ignore-script-argb32.txt
@@ -1,124 +1,44 @@
-a1-bug
a1-fill
-arc-looping-dash
bilevel-image
bitmap-font
-bug-51910
-bug-84115
-bug-seams
-caps
-caps-05
-caps-1
-caps-2
-caps-joins-05
-caps-joins-1
-caps-joins-2
-caps-joins-curve
-caps-sub-paths
-caps-tails-curve
-checkerboard
clear-source
clip-device-offset
-clip-disjoint-quad
-clip-image
-clip-mixed-antialias
-clip-polygons
-clip-push-group
clip-text
-close-path
-close-path-current-point
composite-integer-translate-over-repeat
-copy-path
coverage-abutting
-coverage-intersecting-quads
coverage-intersecting-triangles
coverage-rectangles
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
ft-show-glyphs-positioning
-ft-show-glyphs-table
ft-text-antialias-none
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
-glyph-cache-pressure
-halo
halo-transform
-huge-radial
image-surface-source
-infinite-join
-inverse-text
-joins
-large-font
large-source
large-twin-antialias-mixed
leaky-dashed-rectangle
-leaky-dashed-stroke
-leaky-polygon
-linear-gradient-extend
linear-gradient-reflect
-line-width-scale
-line-width-tolerance
-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-clip
-paint-with-alpha-solid-clip
-partial-clip-text-bottom
-partial-clip-text-left
-partial-coverage-half-reference
-partial-coverage-reference
-partial-coverage-three-quarter-reference
-path-stroke-twice
pdf-surface-source
ps-surface-source
pthread-show-text
push-group-color
radial-gradient
-radial-gradient-extend
radial-gradient-mask
radial-gradient-mask-source
-radial-gradient-one-stop
radial-gradient-source
-record1414x-paint-alpha
-record1414x-paint-alpha-clip
-record1414x-paint-alpha-solid-clip
record1414x-select-font-face
record1414x-text-transform
-record2x-paint-alpha
-record2x-paint-alpha-clip
-record2x-paint-alpha-solid-clip
record2x-select-font-face
record2x-text-transform
-record90-paint-alpha-clip-mask
record90-select-font-face
record90-text-transform
recordflip-select-font-face
@@ -130,61 +50,37 @@ recording-surface-extend-reflect
recording-surface-extend-repeat
recording-surface-over
recording-surface-source
-record-mesh
record-neg-extents-bounded
-record-paint-alpha-clip
-record-paint-alpha-solid-clip
record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-select-font-face
record-text-transform
-rectilinear-miter-limit
-reflected-stroke
scale-offset-image
scale-offset-similar
-select-font-face
-self-copy
-shape-sierpinski
show-glyphs-advance
-show-text-current-point
smask
-smask-image-mask
-smask-mask
-smask-paint
smask-text
stride-12-image
-stroke-ctm-caps
subsurface
subsurface-scale
-surface-pattern
-surface-pattern-scale-up
-text-antialias-gray
text-antialias-subpixel
text-antialias-subpixel-bgr
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
-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-fill
-world-map-stroke
xcb-stress-cache
xcb-surface-source
-xcomposite-projection
xlib-surface-source
diff --git a/.gitlab-ci/ignore-svg11-argb32.txt b/.gitlab-ci/ignore-svg11-argb32.txt
index f231e26dc..c0f6bb287 100644
--- a/.gitlab-ci/ignore-svg11-argb32.txt
+++ b/.gitlab-ci/ignore-svg11-argb32.txt
@@ -13,16 +13,12 @@ ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
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
-pthread-similar
-radial-gradient
-radial-gradient-mask
record1414x-fill-alpha
record1414x-paint-alpha
record1414x-paint-alpha-clip
@@ -45,14 +41,7 @@ record-paint-alpha-clip
record-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
diff --git a/.gitlab-ci/ignore-svg11-rgb24.txt b/.gitlab-ci/ignore-svg11-rgb24.txt
index cb52865d2..f344cb841 100644
--- a/.gitlab-ci/ignore-svg11-rgb24.txt
+++ b/.gitlab-ci/ignore-svg11-rgb24.txt
@@ -1,39 +1,72 @@
alpha-similar
+big-empty-box
+big-empty-triangle
+big-little-box
+bitmap-font
+bug-361
+bug-source-cu
clear-source
+clip-device-offset
+clip-fill-eo-unbounded
+clip-fill-nz-unbounded
+clip-fill-rule-pixel-aligned
clip-operator
+clip-stroke-unbounded
clip-text
+clip-unbounded
culled-glyphs
+dash-zero-length
+degenerate-path
+device-offset
+device-offset-positive
extended-blend-alpha-mask
extended-blend-solid
extended-blend-solid-alpha
+fill-and-stroke
+fill-empty
+fill-missed-stop
filter-bilinear-extents
filter-nearest-offset
filter-nearest-transformed
+finer-grained-fallbacks
+ft-color-font
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-alpha
gradient-constant-alpha
+gradient-zero-stops
+gradient-zero-stops-mask
halo-transform
+image-surface-source
+linear-gradient-one-stop
linear-gradient-reflect
-mask
-mask-transformed-image
+mask-ctm
+mask-surface-ctm
+new-sub-path
+nil-surface
operator-alpha-alpha
+operator-source
+overlapping-boxes
overlapping-glyphs
paint-source-alpha
paint-with-alpha
paint-with-alpha-clip
paint-with-alpha-clip-mask
-pthread-similar
-radial-gradient
-radial-gradient-mask
+pass-through
+pdf-surface-source
+pixman-rotate
+ps-surface-source
radial-gradient-mask-source
radial-gradient-source
record1414x-fill-alpha
+record1414x-paint
record1414x-paint-alpha
record1414x-paint-alpha-clip
record1414x-paint-alpha-clip-mask
+record1414x-paint-alpha-solid-clip
record1414x-select-font-face
+record1414x-self-intersecting
record1414x-text-transform
record2x-paint-alpha
record2x-paint-alpha-clip
@@ -46,24 +79,32 @@ recordflip-paint-alpha-clip-mask
recordflip-whole-paint-alpha
recordflip-whole-paint-alpha-clip
recordflip-whole-paint-alpha-clip-mask
+recording-surface-extend-none
+recording-surface-extend-reflect
+recording-surface-over
+recording-surface-source
+record-neg-extents-bounded
+record-neg-extents-unbounded
record-paint-alpha
record-paint-alpha-clip
record-paint-alpha-clip-mask
+record-replay-extend-none
+record-replay-extend-pad
+record-replay-extend-reflect
+rel-path
scale-offset-image
scale-source-surface-paint
-self-copy
+set-source
show-glyphs-advance
-smask
-smask-image-mask
-smask-mask
-smask-paint
-smask-stroke
-smask-text
+source-surface-scale-paint
surface-pattern
surface-pattern-operator
surface-pattern-scale-up
text-pattern
text-rotate
text-unhinted-metrics
+thin-lines
tighten-bounds
unbounded-operator
+xcb-surface-source
+xlib-surface-source
diff --git a/.gitlab-ci/ignore-xcb-fallback-rgb24.txt b/.gitlab-ci/ignore-xcb-fallback-rgb24.txt
index 9c4cd185e..42f15e80a 100644
--- a/.gitlab-ci/ignore-xcb-fallback-rgb24.txt
+++ b/.gitlab-ci/ignore-xcb-fallback-rgb24.txt
@@ -1,23 +1,63 @@
+a1-clip-fill-rule
+alpha-similar
+big-empty-box
+big-empty-triangle
+big-little-box
+bitmap-font
+bug-361
+bug-431
+clip-device-offset
+clip-fill-rule-pixel-aligned
clip-text
+clip-unbounded
coverage-intersecting-triangles
culled-glyphs
dash-zero-length
degenerate-path
+device-offset
+device-offset-positive
extended-blend-alpha-mask
-fallback
+fill-and-stroke
+fill-empty
fill-missed-stop
+finer-grained-fallbacks
+ft-color-font
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
+gradient-alpha
+gradient-constant-alpha
+gradient-zero-stops
+gradient-zero-stops-mask
halo-transform
+image-surface-source
+linear-gradient-one-stop
+mask-ctm
+mask-surface-ctm
new-sub-path
+nil-surface
+overlapping-boxes
overlapping-glyphs
+pass-through
+pdf-surface-source
+pixman-downscale-best-24
+pixman-rotate
+ps-surface-source
record1414x-select-font-face
record1414x-text-transform
+record-neg-extents-bounded
+record-neg-extents-unbounded
+record-replay-extend-none
record-replay-extend-pad
+record-replay-extend-reflect
+record-replay-extend-repeat
rel-path
+scale-source-surface-paint
+set-source
show-glyphs-advance
+source-surface-scale-paint
subsurface
+subsurface-outside-target
subsurface-scale
text-antialias-subpixel
text-antialias-subpixel-bgr
@@ -27,3 +67,6 @@ text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
+thin-lines
+xcb-surface-source
+xlib-surface-source
diff --git a/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt b/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt
index c2d889e19..69e5f75d7 100644
--- a/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt
+++ b/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt
@@ -1,23 +1,53 @@
+a1-clip-fill-rule
+alpha-similar
+big-empty-box
+big-empty-triangle
+big-little-box
+bitmap-font
+bug-361
+bug-431
+bug-source-cu
+clip-device-offset
clip-disjoint-hatching
clip-fill-eo-unbounded
clip-fill-nz-unbounded
+clip-fill-rule-pixel-aligned
clip-operator
clip-polygons
clip-shape
clip-stroke-unbounded
-clip-twice
+clip-unbounded
coverage-intersecting-triangles
culled-glyphs
dash-zero-length
degenerate-path
+device-offset
+device-offset-positive
extended-blend-alpha-mask
-fallback
+fill-and-stroke
+fill-empty
fill-missed-stop
+finer-grained-fallbacks
+ft-color-font
ft-text-vertical-layout-type1
+gradient-alpha
+gradient-constant-alpha
+gradient-zero-stops
+gradient-zero-stops-mask
hatchings
-mask
+image-surface-source
+linear-gradient-one-stop
+mask-ctm
+mask-surface-ctm
new-sub-path
-operator-source
+nil-surface
+overlapping-boxes
+overlapping-glyphs
+pass-through
+pdf-surface-source
+pixman-downscale-best-24
+pixman-rotate
+ps-surface-source
radial-gradient
radial-gradient-mask
radial-gradient-mask-source
@@ -25,18 +55,25 @@ radial-gradient-source
random-clip
record1414x-select-font-face
record1414x-text-transform
-recording-surface-extend-none
-recording-surface-over
record-neg-extents-bounded
+record-neg-extents-unbounded
record-paint-alpha-solid-clip
+record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
rel-path
rotated-clip
+scale-source-surface-paint
+set-source
+source-surface-scale-paint
+subsurface-outside-target
text-antialias-subpixel
text-antialias-subpixel-bgr
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
-trap-clip
+text-pattern
+thin-lines
+xcb-surface-source
+xlib-surface-source
diff --git a/.gitlab-ci/ignore-xcb-rgb24.txt b/.gitlab-ci/ignore-xcb-rgb24.txt
index cbb1b2d37..eb56f6949 100644
--- a/.gitlab-ci/ignore-xcb-rgb24.txt
+++ b/.gitlab-ci/ignore-xcb-rgb24.txt
@@ -1,19 +1,16 @@
+a1-clip-fill-rule
a1-tiger
-arc-looping-dash
-bug-51910
-bug-84115
-bug-image-compositor
+alpha-similar
+big-empty-box
+big-empty-triangle
+big-little-box
+bitmap-font
+bug-431
bug-spline
-caps-05
-caps-1
-caps-2
-caps-joins-05
-caps-joins-1
-caps-joins-2
-clear-source
+clip-device-offset
+clip-fill-rule-pixel-aligned
clip-operator
-clip-text
-coverage-abutting
+clip-unbounded
coverage-column-triangles
coverage-intersecting-quads
coverage-intersecting-triangles
@@ -22,37 +19,32 @@ coverage-rhombus
coverage-row-triangles
coverage-triangles
culled-glyphs
-dash-curve
+device-offset
+device-offset-positive
extended-blend-alpha-mask
-fallback
+fill-empty
fill-image
-filter-bilinear-extents
-font-matrix-translation
-ft-show-glyphs-positioning
-ft-show-glyphs-table
+ft-color-font
ft-text-vertical-layout-type1
-ft-text-vertical-layout-type3
-glyph-cache-pressure
+gradient-alpha
+gradient-constant-alpha
+gradient-zero-stops
+gradient-zero-stops-mask
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
+image-surface-source
+linear-gradient-one-stop
+mask-ctm
+mask-surface-ctm
+nil-surface
operator-source
overlapping-boxes
-overlapping-dash-caps
-overlapping-glyphs
-partial-clip-text-bottom
-partial-clip-text-left
-partial-coverage-reference
-partial-coverage-three-quarter-reference
+pass-through
+pdf-surface-source
+pixman-downscale-best-24
+pixman-rotate
+ps-surface-source
radial-gradient
radial-gradient-mask
radial-gradient-mask-source
@@ -61,70 +53,44 @@ radial-outer-focus
random-clip
record1414x-fill-alpha
record1414x-self-intersecting
-record1414x-text-transform
record2x-fill-alpha
record2x-paint-alpha-clip-mask
-record90-fill-alpha
record90-paint-alpha-clip
record90-paint-alpha-solid-clip
record90-self-intersecting
-recordflip-fill-alpha
recordflip-paint-alpha-clip-mask
recordflip-self-intersecting
recordflip-whole-fill-alpha
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-self-intersecting
-recording-surface-extend-none
recording-surface-extend-pad
-recording-surface-extend-reflect
-recording-surface-extend-repeat
-recording-surface-over
-recording-surface-source
record-neg-extents-bounded
record-neg-extents-unbounded
+record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-self-intersecting
-reflected-stroke
rotated-clip
-select-font-face
-show-glyphs-advance
-show-text-current-point
+scale-source-surface-paint
+set-source
simple-edge
-smask
-smask-fill
-smask-image-mask
-smask-mask
-smask-paint
-smask-stroke
-smp-glyph
+source-surface-scale-paint
stroke-clipped
stroke-image
-subsurface
-subsurface-scale
-surface-pattern-operator
-surface-pattern-scale-up
-text-antialias-gray
+subsurface-outside-target
text-antialias-subpixel
text-antialias-subpixel-bgr
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
-text-glyph-range
text-pattern
text-rotate
-text-transform
+thin-lines
tighten-bounds
-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
+xcb-surface-source
+xlib-surface-source
diff --git a/.gitlab-ci/ignore-xcb-window&-rgb24.txt b/.gitlab-ci/ignore-xcb-window&-rgb24.txt
index 10b9c9c3a..105fcfc6f 100644
--- a/.gitlab-ci/ignore-xcb-window&-rgb24.txt
+++ b/.gitlab-ci/ignore-xcb-window&-rgb24.txt
@@ -1,16 +1,15 @@
-arc-looping-dash
-bug-51910
+a1-clip-fill-rule
+alpha-similar
+big-empty-box
+big-empty-triangle
+big-little-box
+bitmap-font
+bug-431
bug-spline
-caps-05
-caps-1
-caps-2
-caps-joins-05
-caps-joins-1
-caps-joins-2
-clear-source
+clip-device-offset
+clip-fill-rule-pixel-aligned
clip-operator
-clip-text
-coverage-abutting
+clip-unbounded
coverage-column-triangles
coverage-intersecting-quads
coverage-intersecting-triangles
@@ -18,97 +17,70 @@ coverage-rectangles
coverage-row-triangles
coverage-triangles
culled-glyphs
+device-offset
+device-offset-positive
extended-blend-alpha-mask
-fallback
+fill-empty
fill-image
-filter-bilinear-extents
-font-matrix-translation
-ft-show-glyphs-positioning
-ft-show-glyphs-table
+ft-color-font
ft-text-vertical-layout-type1
-ft-text-vertical-layout-type3
-glyph-cache-pressure
+gradient-alpha
+gradient-constant-alpha
+gradient-zero-stops
+gradient-zero-stops-mask
halo
halo-transform
-inverse-text
-linear-gradient
-linear-gradient-subset
-mask
-mask-transformed-image
-mask-transformed-similar
-operator-alpha-alpha
-operator-clear
+image-surface-source
+linear-gradient-one-stop
+mask-ctm
+mask-surface-ctm
+nil-surface
operator-source
overlapping-boxes
-overlapping-dash-caps
-overlapping-glyphs
-partial-clip-text-bottom
-partial-clip-text-left
-partial-coverage-reference
-partial-coverage-three-quarter-reference
+pass-through
+pdf-surface-source
+pixman-downscale-best-24
+pixman-rotate
+ps-surface-source
radial-outer-focus
record1414x-fill-alpha
record1414x-self-intersecting
-record1414x-text-transform
record2x-fill-alpha
record2x-paint-alpha-clip-mask
-record90-fill-alpha
record90-paint-alpha-clip
record90-paint-alpha-solid-clip
record90-self-intersecting
-recordflip-fill-alpha
recordflip-paint-alpha-clip-mask
recordflip-self-intersecting
recordflip-whole-fill-alpha
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-self-intersecting
-recording-surface-extend-none
recording-surface-extend-pad
-recording-surface-extend-reflect
-recording-surface-extend-repeat
-recording-surface-over
-recording-surface-source
record-neg-extents-bounded
record-neg-extents-unbounded
+record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-self-intersecting
-reflected-stroke
rotated-clip
-select-font-face
-show-glyphs-advance
-show-text-current-point
+scale-source-surface-paint
+set-source
simple-edge
-smask
-smask-fill
-smask-image-mask
-smask-mask
-smask-paint
-smask-stroke
-smp-glyph
+source-surface-scale-paint
stroke-clipped
stroke-image
-subsurface
-subsurface-scale
-surface-pattern-operator
-surface-pattern-scale-up
-text-antialias-gray
+subsurface-outside-target
text-antialias-subpixel
text-antialias-subpixel-bgr
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
-text-glyph-range
text-pattern
text-rotate
-text-transform
+thin-lines
tighten-bounds
-trap-clip
-twin
-twin-antialias-gray
twin-antialias-none
-twin-antialias-subpixel
unantialiased-shapes
-unbounded-operator
-xcomposite-projection
+xcb-surface-source
+xlib-surface-source
diff --git a/.gitlab-ci/ignore-xcb-window-rgb24.txt b/.gitlab-ci/ignore-xcb-window-rgb24.txt
index 26df57963..1ecea73ed 100644
--- a/.gitlab-ci/ignore-xcb-window-rgb24.txt
+++ b/.gitlab-ci/ignore-xcb-window-rgb24.txt
@@ -1,16 +1,15 @@
-arc-looping-dash
-bug-51910
+a1-clip-fill-rule
+alpha-similar
+big-empty-box
+big-empty-triangle
+big-little-box
+bitmap-font
+bug-431
bug-spline
-caps-05
-caps-1
-caps-2
-caps-joins-05
-caps-joins-1
-caps-joins-2
-clear-source
+clip-device-offset
+clip-fill-rule-pixel-aligned
clip-operator
-clip-text
-coverage-abutting
+clip-unbounded
coverage-column-triangles
coverage-intersecting-quads
coverage-intersecting-triangles
@@ -18,99 +17,72 @@ coverage-rectangles
coverage-row-triangles
coverage-triangles
culled-glyphs
+device-offset
+device-offset-positive
extended-blend-alpha-mask
-fallback
+fill-empty
fill-image
-filter-bilinear-extents
-font-matrix-translation
-ft-show-glyphs-positioning
-ft-show-glyphs-table
+ft-color-font
ft-text-vertical-layout-type1
-ft-text-vertical-layout-type3
-glyph-cache-pressure
+gradient-alpha
+gradient-constant-alpha
+gradient-zero-stops
+gradient-zero-stops-mask
halo
halo-transform
-inverse-text
-linear-gradient
-linear-gradient-subset
-mask
-mask-transformed-image
-mask-transformed-similar
-operator-alpha-alpha
-operator-clear
+image-surface-source
+linear-gradient-one-stop
+mask-ctm
+mask-surface-ctm
+nil-surface
operator-source
overlapping-boxes
-overlapping-dash-caps
-overlapping-glyphs
-partial-clip-text-bottom
-partial-clip-text-left
-partial-coverage-reference
-partial-coverage-three-quarter-reference
+pass-through
+pdf-surface-source
+pixman-downscale-best-24
+pixman-rotate
+ps-surface-source
push-group
push-group-color
radial-outer-focus
record1414x-fill-alpha
record1414x-self-intersecting
-record1414x-text-transform
record2x-fill-alpha
record2x-paint-alpha-clip-mask
-record90-fill-alpha
record90-paint-alpha-clip
record90-paint-alpha-solid-clip
record90-self-intersecting
-recordflip-fill-alpha
recordflip-paint-alpha-clip-mask
recordflip-self-intersecting
recordflip-whole-fill-alpha
recordflip-whole-paint-alpha-clip-mask
recordflip-whole-self-intersecting
-recording-surface-extend-none
recording-surface-extend-pad
-recording-surface-extend-reflect
-recording-surface-extend-repeat
-recording-surface-over
-recording-surface-source
record-neg-extents-bounded
record-neg-extents-unbounded
+record-replay-extend-none
record-replay-extend-pad
record-replay-extend-reflect
record-replay-extend-repeat
record-self-intersecting
-reflected-stroke
rotated-clip
-select-font-face
-show-glyphs-advance
-show-text-current-point
+scale-source-surface-paint
+set-source
simple-edge
-smask
-smask-fill
-smask-image-mask
-smask-mask
-smask-paint
-smask-stroke
-smp-glyph
+source-surface-scale-paint
stroke-clipped
stroke-image
-subsurface
-subsurface-scale
-surface-pattern-operator
-surface-pattern-scale-up
-text-antialias-gray
+subsurface-outside-target
text-antialias-subpixel
text-antialias-subpixel-bgr
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
-text-glyph-range
text-pattern
text-rotate
-text-transform
+thin-lines
tighten-bounds
-trap-clip
-twin
-twin-antialias-gray
twin-antialias-none
-twin-antialias-subpixel
unantialiased-shapes
-unbounded-operator
-xcomposite-projection
+xcb-surface-source
+xlib-surface-source
diff --git a/.gitlab-ci/ignore-xlib-fallback-rgb24.txt b/.gitlab-ci/ignore-xlib-fallback-rgb24.txt
index f4effb215..617d4d07d 100644
--- a/.gitlab-ci/ignore-xlib-fallback-rgb24.txt
+++ b/.gitlab-ci/ignore-xlib-fallback-rgb24.txt
@@ -1,112 +1,88 @@
-arc-looping-dash
-bug-51910
+a1-clip-fill-rule
+alpha-similar
+big-empty-box
+big-empty-triangle
+big-little-box
+bitmap-font
+bug-361
+bug-431
bug-seams
-caps
-caps-05
-caps-1
-caps-2
-caps-joins-05
-caps-joins-1
-caps-joins-2
-caps-joins-curve
-caps-sub-paths
-clear-source
-clip-disjoint-quad
-clip-image
-clip-mixed-antialias
-clip-polygons
-clip-push-group
+clip-device-offset
+clip-fill-rule-pixel-aligned
clip-text
-close-path
-close-path-current-point
-copy-path
-coverage-abutting
-coverage-intersecting-quads
+clip-unbounded
culled-glyphs
-dash-caps-joins
-dash-infinite-loop
-dash-scale
dash-zero-length
-degenerate-curve-to
degenerate-path
-degenerate-pen
-degenerate-rel-curve-to
+device-offset
+device-offset-positive
extended-blend-alpha-mask
fallback
+fill-and-stroke
+fill-empty
fill-missed-stop
-filter-bilinear-extents
finer-grained-fallbacks
-font-matrix-translation
+ft-color-font
ft-show-glyphs-positioning
-ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
-glyph-cache-pressure
+gradient-alpha
+gradient-constant-alpha
+gradient-zero-stops
+gradient-zero-stops-mask
halo-transform
-infinite-join
-inverse-text
-joins
+image-surface-source
large-twin-antialias-mixed
-leaky-dashed-stroke
-leaky-polygon
-line-width-scale
-line-width-tolerance
-long-dashed-lines
-mask-transformed-image
-mask-transformed-similar
+linear-gradient-one-stop
+mask-ctm
+mask-surface-ctm
new-sub-path
-operator-alpha-alpha
+nil-surface
over-above-source
over-around-source
over-between-source
+overlapping-boxes
overlapping-glyphs
-partial-clip-text-bottom
-partial-clip-text-left
-partial-coverage-reference
-partial-coverage-three-quarter-reference
-path-stroke-twice
+pass-through
+pdf-surface-source
+pixman-downscale-best-24
+pixman-rotate
+ps-surface-source
pthread-show-text
pthread-similar
push-group-color
record1414x-select-font-face
record1414x-text-transform
-recording-surface-extend-none
-recording-surface-over
-rectilinear-miter-limit
-reflected-stroke
+record-neg-extents-bounded
+record-neg-extents-unbounded
+record-replay-extend-none
+record-replay-extend-pad
+record-replay-extend-reflect
+record-replay-extend-repeat
rel-path
-select-font-face
-self-copy
+scale-source-surface-paint
+set-source
shifted-operator
show-glyphs-advance
-show-text-current-point
smask
-smask-image-mask
-smask-mask
-smask-paint
smask-text
-smp-glyph
-stroke-ctm-caps
+source-surface-scale-paint
subsurface
+subsurface-outside-target
subsurface-scale
surface-pattern-scale-down-extend-none
-surface-pattern-scale-up
-text-antialias-gray
text-antialias-subpixel
text-antialias-subpixel-bgr
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
-text-glyph-range
text-pattern
text-rotate
-text-transform
text-unhinted-metrics
-transforms
-twin
+thin-lines
twin-antialias-gray
twin-antialias-mixed
twin-antialias-none
twin-antialias-subpixel
-unclosed-strokes
-xcomposite-projection
+xcb-surface-source
+xlib-surface-source
diff --git a/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt b/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt
index fc31fb370..004faf999 100644
--- a/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt
+++ b/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt
@@ -1,48 +1,82 @@
-caps-sub-paths
-clear-source
+a1-clip-fill-rule
+alpha-similar
+big-empty-box
+big-empty-triangle
+big-little-box
+bitmap-font
+bug-361
+bug-431
+bug-source-cu
+clip-device-offset
+clip-fill-rule-pixel-aligned
clip-operator
clipped-group
-clip-push-group
clip-text
+clip-unbounded
coverage-intersecting-triangles
culled-glyphs
curve-to-as-line-to
-dash-zero-length
degenerate-path
+device-offset
+device-offset-positive
extended-blend-alpha-mask
-fallback
fill-and-stroke
fill-and-stroke-alpha
fill-and-stroke-alpha-add
+fill-empty
fill-missed-stop
finer-grained-fallbacks
+ft-color-font
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
+gradient-alpha
+gradient-constant-alpha
+gradient-zero-stops
+gradient-zero-stops-mask
halo-transform
horizontal-clip
-infinite-join
+image-surface-source
large-twin-antialias-mixed
leaky-polygon
+linear-gradient-one-stop
mask
+mask-ctm
+mask-surface-ctm
new-sub-path
+nil-surface
operator-clear
operator-source
+overlapping-boxes
overlapping-glyphs
+pass-through
+pdf-surface-source
+pixman-downscale-best-24
+pixman-rotate
+ps-surface-source
pthread-show-text
+radial-gradient-source
radial-outer-focus
record1414x-select-font-face
record1414x-text-transform
-rectilinear-miter-limit
+record-neg-extents-bounded
+record-neg-extents-unbounded
+record-replay-extend-none
+record-replay-extend-pad
+record-replay-extend-reflect
+record-replay-extend-repeat
rectilinear-stroke
rel-path
+scale-source-surface-paint
+set-source
show-glyphs-advance
smask
smask-text
+source-surface-scale-paint
subsurface
+subsurface-outside-target
subsurface-scale
surface-pattern-operator
-text-antialias-gray
text-antialias-subpixel
text-antialias-subpixel-bgr
text-antialias-subpixel-rgb
@@ -51,8 +85,11 @@ text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
+thin-lines
twin-antialias-gray
twin-antialias-mixed
twin-antialias-none
twin-antialias-subpixel
unbounded-operator
+xcb-surface-source
+xlib-surface-source
diff --git a/.gitlab-ci/ignore-xlib-rgb24.txt b/.gitlab-ci/ignore-xlib-rgb24.txt
index b7b11523b..cf2d7239d 100644
--- a/.gitlab-ci/ignore-xlib-rgb24.txt
+++ b/.gitlab-ci/ignore-xlib-rgb24.txt
@@ -1,22 +1,26 @@
+a1-clip-fill-rule
aliasing
+alpha-similar
arc-looping-dash
-bug-51910
+big-empty-box
+big-empty-triangle
+big-little-box
+bitmap-font
bug-84115
bug-extents
bug-image-compositor
bug-spline
-caps-joins-05
caps-joins-curve
-caps-tails-curve
-clear-source
+clip-device-offset
clip-disjoint
+clip-fill-rule-pixel-aligned
clip-operator
clip-shape
clip-stroke
clip-stroke-unbounded
clip-text
+clip-unbounded
close-path-current-point
-coverage-abutting
coverage-column-triangles
coverage-rhombus
culled-glyphs
@@ -26,54 +30,50 @@ dash-scale
degenerate-curve-to
degenerate-pen
degenerate-rel-curve-to
+device-offset
+device-offset-positive
drunkard-tails
extended-blend-alpha-mask
-extended-blend-mask
-fallback
fill-and-stroke
fill-and-stroke-alpha
fill-and-stroke-alpha-add
+fill-empty
fill-image
-filter-bilinear-extents
-font-matrix-translation
+ft-color-font
ft-show-glyphs-positioning
-ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
-glyph-cache-pressure
+gradient-alpha
+gradient-constant-alpha
+gradient-zero-stops
+gradient-zero-stops-mask
halo
halo-transform
hatchings
-infinite-join
-inverse-text
+image-surface-source
joins
joins-loop
joins-retrace
-joins-star
-large-font
large-twin-antialias-mixed
leaky-dashed-stroke
-linear-gradient
-linear-gradient-subset
+linear-gradient-one-stop
line-width-scale
line-width-tolerance
long-dashed-lines
-mask
-mask-transformed-image
-mask-transformed-similar
-miter-precision
+mask-ctm
+mask-surface-ctm
new-sub-path
-operator-alpha-alpha
-operator-clear
+nil-surface
operator-source
overlapping-boxes
overlapping-dash-caps
overlapping-glyphs
-partial-clip-text-bottom
-partial-clip-text-left
-partial-coverage-reference
-partial-coverage-three-quarter-reference
+pass-through
path-stroke-twice
+pdf-surface-source
+pixman-downscale-best-24
+pixman-rotate
+ps-surface-source
pthread-show-text
radial-gradient
radial-gradient-mask
@@ -93,13 +93,11 @@ record2x-fill-alpha
record2x-paint-alpha-clip-mask
record2x-select-font-face
record2x-text-transform
-record90-fill-alpha
record90-paint-alpha-clip
record90-paint-alpha-solid-clip
record90-select-font-face
record90-self-intersecting
record90-text-transform
-recordflip-fill-alpha
recordflip-paint-alpha-clip-mask
recordflip-select-font-face
recordflip-self-intersecting
@@ -109,12 +107,7 @@ recordflip-whole-paint-alpha-clip-mask
recordflip-whole-select-font-face
recordflip-whole-self-intersecting
recordflip-whole-text-transform
-recording-surface-extend-none
recording-surface-extend-pad
-recording-surface-extend-reflect
-recording-surface-extend-repeat
-recording-surface-over
-recording-surface-source
record-neg-extents-bounded
record-neg-extents-unbounded
record-replay-extend-none
@@ -126,57 +119,46 @@ record-self-intersecting
record-text-transform
reflected-stroke
rel-path
-rotated-clip
rounded-rectangle-stroke
scale-offset-image
scale-offset-similar
-select-font-face
+scale-source-surface-paint
+set-source
shape-general-convex
shape-sierpinski
shifted-operator
show-glyphs-advance
-show-text-current-point
simple-edge
smask
-smask-fill
-smask-image-mask
-smask-mask
-smask-paint
smask-stroke
smask-text
-smp-glyph
+source-surface-scale-paint
spline-decomposition
stroke-clipped
-stroke-ctm-caps
stroke-image
stroke-pattern
subsurface
+subsurface-outside-target
subsurface-scale
-surface-pattern-operator
-surface-pattern-scale-up
-text-antialias-gray
text-antialias-subpixel
text-antialias-subpixel-bgr
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
-text-glyph-range
text-pattern
text-rotate
-text-transform
text-unhinted-metrics
+thin-lines
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-fill
world-map-stroke
-xcomposite-projection
+xcb-surface-source
+xlib-surface-source
diff --git a/.gitlab-ci/ignore-xlib-window-rgb24.txt b/.gitlab-ci/ignore-xlib-window-rgb24.txt
index ac83dd920..e05790caa 100644
--- a/.gitlab-ci/ignore-xlib-window-rgb24.txt
+++ b/.gitlab-ci/ignore-xlib-window-rgb24.txt
@@ -1,19 +1,24 @@
+a1-clip-fill-rule
aliasing
+alpha-similar
arc-looping-dash
-bug-51910
+big-empty-box
+big-empty-triangle
+big-little-box
+bitmap-font
bug-extents
bug-spline
-caps-joins-05
caps-joins-curve
-clear-source
+clip-device-offset
clip-disjoint
+clip-fill-rule-pixel-aligned
clip-operator
clip-shape
clip-stroke
clip-stroke-unbounded
clip-text
+clip-unbounded
close-path-current-point
-coverage-abutting
coverage-column-triangles
coverage-intersecting-quads
coverage-intersecting-triangles
@@ -26,52 +31,49 @@ dash-scale
degenerate-curve-to
degenerate-pen
degenerate-rel-curve-to
+device-offset
+device-offset-positive
drunkard-tails
extended-blend-alpha-mask
-extended-blend-mask
-fallback
fill-and-stroke
fill-and-stroke-alpha
fill-and-stroke-alpha-add
+fill-empty
fill-image
-filter-bilinear-extents
-font-matrix-translation
+ft-color-font
ft-show-glyphs-positioning
-ft-show-glyphs-table
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
-glyph-cache-pressure
+gradient-alpha
+gradient-constant-alpha
+gradient-zero-stops
+gradient-zero-stops-mask
halo
halo-transform
-infinite-join
-inverse-text
+image-surface-source
joins
joins-loop
joins-retrace
-joins-star
large-twin-antialias-mixed
leaky-dashed-stroke
-linear-gradient
-linear-gradient-subset
+linear-gradient-one-stop
line-width-scale
line-width-tolerance
long-dashed-lines
-mask
-mask-transformed-image
-mask-transformed-similar
-miter-precision
+mask-ctm
+mask-surface-ctm
new-sub-path
-operator-alpha-alpha
-operator-clear
+nil-surface
operator-source
overlapping-boxes
overlapping-dash-caps
overlapping-glyphs
-partial-clip-text-bottom
-partial-clip-text-left
-partial-coverage-reference
-partial-coverage-three-quarter-reference
+pass-through
path-stroke-twice
+pdf-surface-source
+pixman-downscale-best-24
+pixman-rotate
+ps-surface-source
pthread-show-text
radial-outer-focus
record1414x-fill-alpha
@@ -82,13 +84,11 @@ record2x-fill-alpha
record2x-paint-alpha-clip-mask
record2x-select-font-face
record2x-text-transform
-record90-fill-alpha
record90-paint-alpha-clip
record90-paint-alpha-solid-clip
record90-select-font-face
record90-self-intersecting
record90-text-transform
-recordflip-fill-alpha
recordflip-paint-alpha-clip-mask
recordflip-select-font-face
recordflip-self-intersecting
@@ -98,12 +98,7 @@ recordflip-whole-paint-alpha-clip-mask
recordflip-whole-select-font-face
recordflip-whole-self-intersecting
recordflip-whole-text-transform
-recording-surface-extend-none
recording-surface-extend-pad
-recording-surface-extend-reflect
-recording-surface-extend-repeat
-recording-surface-over
-recording-surface-source
record-neg-extents-bounded
record-neg-extents-unbounded
record-replay-extend-none
@@ -115,51 +110,41 @@ record-self-intersecting
record-text-transform
reflected-stroke
rel-path
-rotated-clip
rounded-rectangle-stroke
scale-offset-image
scale-offset-similar
-select-font-face
+scale-source-surface-paint
+set-source
shape-general-convex
shifted-operator
show-glyphs-advance
-show-text-current-point
simple-edge
smask
-smask-fill
-smask-image-mask
-smask-mask
-smask-paint
smask-stroke
smask-text
-smp-glyph
+source-surface-scale-paint
spline-decomposition
stroke-clipped
-stroke-ctm-caps
stroke-image
stroke-pattern
subsurface
+subsurface-outside-target
subsurface-scale
-surface-pattern-operator
-surface-pattern-scale-up
-text-antialias-gray
text-antialias-subpixel
text-antialias-subpixel-bgr
text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
-text-glyph-range
text-pattern
text-rotate
-text-transform
text-unhinted-metrics
+thin-lines
tighten-bounds
-trap-clip
twin
twin-antialias-gray
twin-antialias-mixed
twin-antialias-none
twin-antialias-subpixel
-unbounded-operator
unclosed-strokes
-xcomposite-projection
+xcb-surface-source
+xlib-surface-source