Tests/buffer-diff: Don't consider alpha if one of the formats is opaque

RGB24 image surfaces have one byte of padding to make each pixel
take exactly 4 bytes; the format is actually RGBX32. The padding
byte contains undefined values and should never be read.

Enhances https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/243
This commit is contained in:
Luca Bacci 2025-02-06 12:40:30 +01:00
parent d3a35678a2
commit 464dfc52af
20 changed files with 4 additions and 640 deletions

View file

@ -1,63 +1,26 @@
a1-clip-fill-rule
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
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
@ -67,7 +30,4 @@ text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
thin-lines
user-font-mask
xcb-surface-source
xlib-surface-source

View file

@ -1,14 +1,9 @@
a1-bug
a1-clip-fill-rule
a1-tiger
aliasing
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
@ -24,13 +19,11 @@ 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
@ -61,8 +54,6 @@ degenerate-curve-to
degenerate-path
degenerate-pen
degenerate-rel-curve-to
device-offset
device-offset-positive
drunkard-tails
extended-blend
extended-blend-alpha
@ -78,7 +69,6 @@ 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
@ -92,8 +82,6 @@ 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
@ -109,7 +97,6 @@ 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
@ -128,7 +115,6 @@ mesh-pattern-fold
mesh-pattern-overlap
mesh-pattern-transformed
new-sub-path
nil-surface
operator-source
over-around-source
overlapping-boxes
@ -207,7 +193,6 @@ 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
@ -222,7 +207,6 @@ rounded-rectangle-fill
rounded-rectangle-stroke
scale-offset-image
scale-offset-similar
scale-source-surface-paint
select-font-face
set-source
shape-general-convex
@ -237,13 +221,11 @@ 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
@ -260,7 +242,6 @@ text-pattern
text-rotate
text-transform
text-unhinted-metrics
thin-lines
tiger
tighten-bounds
transforms

View file

@ -1,18 +1,8 @@
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
fill-empty
filter-bilinear-extents
filter-nearest-offset
filter-nearest-transformed
@ -20,27 +10,15 @@ ft-color-font
ft-show-glyphs-positioning
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-zero-stops
gradient-zero-stops-mask
halo-transform
huge-linear
huge-radial
image-surface-source
linear-gradient-one-stop
linear-gradient-reflect
mask
mask-ctm
mask-surface-ctm
nil-surface
overlapping-boxes
overlapping-glyphs
pass-through
pdf-surface-source
pixman-downscale-best-95
pixman-downscale-fast-95
pixman-downscale-nearest-95
pixman-rotate
ps-surface-source
pthread-same-source
pthread-show-text
radial-gradient
@ -65,24 +43,18 @@ recordflip-whole-select-font-face
recordflip-whole-self-intersecting
recordflip-whole-text-transform
record-paint-alpha-clip
record-replay-extend-pad
record-select-font-face
rectilinear-dash
rectilinear-stroke
rel-path
rotate-clip-image-surface-paint
rotate-image-surface-paint
set-source
show-glyphs-advance
smask-text
source-surface-scale-paint
surface-pattern
surface-pattern-scale-down
text-pattern
text-rotate
text-unhinted-metrics
thin-lines
twin
user-font-rescale
xcb-surface-source
xlib-surface-source

View file

@ -1,7 +1,5 @@
arc-direction
arc-looping-dash
bug-361
bug-431
bug-448
bug-51910
bug-bo-ricotz
@ -66,7 +64,6 @@ ft-color-font
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-constant-alpha
gradient-zero-stops
group-unaligned
hairline
hairline-anisotropic
@ -76,7 +73,6 @@ hairline-scaled
halo
halo-transform
horizontal-clip
image-surface-source
inverse-text
joins
joins-loop
@ -108,7 +104,6 @@ pixman-downscale-nearest-95
pixman-rotate
ps-surface-source
pthread-same-source
radial-gradient-source
random-intersections-curves-eo
random-intersections-curves-nz
random-intersections-eo
@ -154,10 +149,8 @@ rounded-rectangle-fill
rounded-rectangle-stroke
scale-offset-image
scale-offset-similar
scale-source-surface-paint
select-font-face
self-intersecting
set-source
shape-general-convex
shape-sierpinski
show-glyphs-advance
@ -165,7 +158,6 @@ show-text-current-point
smask
smask-text
smp-glyph
source-surface-scale-paint
spline-decomposition
stroke-clipped
stroke-ctm-caps
@ -180,7 +172,6 @@ text-pattern
text-rotate
text-transform
text-unhinted-metrics
thin-lines
tiger
transforms
twin
@ -193,5 +184,3 @@ user-font-subpixel
world-map
world-map-fill
world-map-stroke
xcb-surface-source
xlib-surface-source

View file

@ -1,7 +1,5 @@
arc-direction
arc-looping-dash
bug-361
bug-431
bug-448
bug-51910
bug-bo-ricotz
@ -66,7 +64,6 @@ filter-nearest-transformed
font-matrix-translation
ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
gradient-zero-stops
group-unaligned
hairline
hairline-anisotropic
@ -76,7 +73,6 @@ hairline-scaled
halo
halo-transform
horizontal-clip
image-surface-source
inverse-text
joins
joins-loop
@ -118,7 +114,6 @@ ps-surface-source
pthread-same-source
push-group-color
radial-gradient-one-stop
radial-gradient-source
random-intersections-curves-eo
random-intersections-curves-nz
random-intersections-eo
@ -164,10 +159,8 @@ rounded-rectangle-fill
rounded-rectangle-stroke
scale-offset-image
scale-offset-similar
scale-source-surface-paint
select-font-face
self-intersecting
set-source
shape-general-convex
shape-sierpinski
show-glyphs-advance
@ -175,7 +168,6 @@ show-text-current-point
smask
smask-text
smp-glyph
source-surface-scale-paint
spline-decomposition
stroke-clipped
stroke-ctm-caps
@ -190,7 +182,6 @@ text-pattern
text-rotate
text-transform
text-unhinted-metrics
thin-lines
tiger
transforms
trap-clip
@ -204,5 +195,3 @@ user-font-subpixel
world-map
world-map-fill
world-map-stroke
xcb-surface-source
xlib-surface-source

View file

@ -1,44 +1,21 @@
a1-clip-fill-rule
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
coverage-column-triangles
coverage-rhombus
culled-glyphs
device-offset
device-offset-positive
extended-blend-alpha-mask
extended-blend-mask
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
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
@ -60,18 +37,15 @@ 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
@ -80,5 +54,4 @@ text-antialias-subpixel-rgb
text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-unhinted-metrics
thin-lines
user-font-proxy

View file

@ -1,51 +1,24 @@
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
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
@ -57,20 +30,10 @@ 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
@ -80,6 +43,3 @@ text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
thin-lines
xcb-surface-source
xlib-surface-source

View file

@ -1,70 +1,30 @@
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
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-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
pass-through
pdf-surface-source
pixman-rotate
ps-surface-source
radial-gradient-mask-source
radial-gradient-source
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
@ -77,33 +37,18 @@ 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
set-source
show-glyphs-advance
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
user-font-color

View file

@ -1,14 +1,4 @@
a1-clip-fill-rule
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-361
bug-431
bug-source-cu
clear
clip-device-offset
clip-fill-rule-pixel-aligned
clip-operator
clip-text
coverage-intersecting-triangles
@ -16,13 +6,8 @@ coverage-triangles
culled-glyphs
dash-zero-length
degenerate-path
device-offset
device-offset-positive
extended-blend-mask
fill-and-stroke
fill-empty
fill-missed-stop
finer-grained-fallbacks
font-matrix-translation
ft-show-glyphs-positioning
ft-show-glyphs-table
@ -31,43 +16,25 @@ ft-text-vertical-layout-type1
ft-text-vertical-layout-type3
get-path-extents
glyph-cache-pressure
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo
halo-transform
image-surface-source
inverse-text
large-font
linear-gradient-one-stop
mask-ctm
mask-ctm mask-surface-ctm
mask-surface-ctm
new-sub-path
nil-surface
operator-clear
operator-source
operator-www
overlapping-boxes
overlapping-glyphs
partial-clip-text-bottom
partial-clip-text-left
partial-clip-text-right
partial-clip-text-top
pass-through
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
pthread-show-text
radial-gradient
radial-gradient-mask
radial-gradient-mask-source
radial-gradient-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
@ -84,17 +51,13 @@ recordflip-text-transform
recordflip-whole-select-font-face
recordflip-whole-text-transform
rel-path
scale-source-surface-paint
select-font-face
set-source
show-glyphs-advance
show-text-current-point
smask
smask-text
smp-glyph
source-surface-scale-paint
subsurface
subsurface-outside-target
subsurface-scale
text-antialias-gray
text-antialias-none
@ -108,7 +71,6 @@ text-pattern
text-rotate
text-transform
text-unhinted-metrics
thin-lines
unbounded-operator
user-font-color
user-font-mask

View file

@ -1,15 +1,6 @@
a1-clip-fill-rule
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-361
bug-361 bug-431
bug-431
bug-source-cu
clear
clip-device-offset
clip-fill-rule-pixel-aligned
clip-operator
clip-text
coverage-intersecting-triangles
@ -17,11 +8,8 @@ coverage-triangles
culled-glyphs
dash-zero-length
degenerate-path
device-offset
device-offset-positive
extended-blend-mask
fill-and-stroke
fill-empty
fill-missed-stop
finer-grained-fallbacks
font-matrix-translation
@ -34,41 +22,25 @@ get-path-extents
glyph-cache-pressure
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo
halo-transform
image-surface-source
inverse-text
large-font
linear-gradient-one-stop
mask-ctm
mask-ctm mask-surface-ctm
mask-surface-ctm
new-sub-path
nil-surface
operator-clear
operator-source
operator-www
overlapping-boxes
overlapping-glyphs
partial-clip-text-bottom
partial-clip-text-left
partial-clip-text-right
partial-clip-text-top
pass-through
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
pthread-show-text
radial-gradient
radial-gradient-mask
radial-gradient-mask-source
radial-gradient-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
@ -85,17 +57,13 @@ recordflip-text-transform
recordflip-whole-select-font-face
recordflip-whole-text-transform
rel-path
scale-source-surface-paint
select-font-face
set-source
show-glyphs-advance
show-text-current-point
smask
smask-text
smp-glyph
source-surface-scale-paint
subsurface
subsurface-outside-target
subsurface-scale
text-antialias-gray
text-antialias-none
@ -109,7 +77,6 @@ text-pattern
text-rotate
text-transform
text-unhinted-metrics
thin-lines
unbounded-operator
user-font-color
user-font-mask

View file

@ -1,62 +1,22 @@
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
coverage-intersecting-triangles
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
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
@ -66,6 +26,3 @@ text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
thin-lines
xcb-surface-source
xlib-surface-source

View file

@ -1,17 +1,7 @@
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
@ -20,33 +10,11 @@ coverage-intersecting-triangles
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-text-vertical-layout-type1
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
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
radial-gradient-mask
radial-gradient-mask-source
@ -55,24 +23,14 @@ random-clip
record1414x-select-font-face
record1414x-text-transform
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
text-pattern
thin-lines
xcb-surface-source
xlib-surface-source

View file

@ -1,14 +1,6 @@
a1-clip-fill-rule
a1-tiger
alpha-similar
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-431
bug-spline
clip-device-offset
clip-fill-rule-pixel-aligned
clip-operator
coverage-column-triangles
coverage-intersecting-quads
@ -18,32 +10,14 @@ coverage-rhombus
coverage-row-triangles
coverage-triangles
culled-glyphs
device-offset
device-offset-positive
extended-blend-alpha-mask
fill-empty
fill-image
ft-color-font
ft-text-vertical-layout-type1
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo
halo-transform
hatchings
image-surface-source
linear-gradient-one-stop
mask-ctm
mask-surface-ctm
nil-surface
operator-source
overlapping-boxes
pass-through
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
radial-gradient
radial-gradient-mask
radial-gradient-mask-source
@ -65,19 +39,14 @@ recordflip-whole-self-intersecting
recording-surface-extend-pad
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
rotated-clip
scale-source-surface-paint
set-source
simple-edge
source-surface-scale-paint
stroke-clipped
stroke-image
subsurface-outside-target
text-antialias-subpixel
text-antialias-subpixel-bgr
text-antialias-subpixel-rgb
@ -85,11 +54,8 @@ text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-pattern
text-rotate
thin-lines
tighten-bounds
twin-antialias-none
unantialiased-shapes
user-font
user-font-proxy
xcb-surface-source
xlib-surface-source

View file

@ -1,13 +1,5 @@
a1-clip-fill-rule
alpha-similar
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-431
bug-spline
clip-device-offset
clip-fill-rule-pixel-aligned
clip-operator
coverage-column-triangles
coverage-intersecting-quads
@ -16,31 +8,13 @@ coverage-rectangles
coverage-row-triangles
coverage-triangles
culled-glyphs
device-offset
device-offset-positive
extended-blend-alpha-mask
fill-empty
fill-image
ft-color-font
ft-text-vertical-layout-type1
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo
halo-transform
image-surface-source
linear-gradient-one-stop
mask-ctm
mask-surface-ctm
nil-surface
operator-source
overlapping-boxes
pass-through
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
radial-outer-focus
record1414x-fill-alpha
record1414x-self-intersecting
@ -57,19 +31,14 @@ recordflip-whole-self-intersecting
recording-surface-extend-pad
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
rotated-clip
scale-source-surface-paint
set-source
simple-edge
source-surface-scale-paint
stroke-clipped
stroke-image
subsurface-outside-target
text-antialias-subpixel
text-antialias-subpixel-bgr
text-antialias-subpixel-rgb
@ -77,9 +46,6 @@ text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-pattern
text-rotate
thin-lines
tighten-bounds
twin-antialias-none
unantialiased-shapes
xcb-surface-source
xlib-surface-source

View file

@ -1,13 +1,5 @@
a1-clip-fill-rule
alpha-similar
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-431
bug-spline
clip-device-offset
clip-fill-rule-pixel-aligned
clip-operator
coverage-column-triangles
coverage-intersecting-quads
@ -16,31 +8,13 @@ coverage-rectangles
coverage-row-triangles
coverage-triangles
culled-glyphs
device-offset
device-offset-positive
extended-blend-alpha-mask
fill-empty
fill-image
ft-color-font
ft-text-vertical-layout-type1
gradient-alpha
gradient-constant-alpha
gradient-zero-stops
gradient-zero-stops-mask
halo
halo-transform
image-surface-source
linear-gradient-one-stop
mask-ctm
mask-surface-ctm
nil-surface
operator-source
overlapping-boxes
pass-through
pdf-surface-source
pixman-downscale-best-24
pixman-rotate
ps-surface-source
push-group
push-group-color
radial-outer-focus
@ -59,19 +33,14 @@ recordflip-whole-self-intersecting
recording-surface-extend-pad
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
rotated-clip
scale-source-surface-paint
set-source
simple-edge
source-surface-scale-paint
stroke-clipped
stroke-image
subsurface-outside-target
text-antialias-subpixel
text-antialias-subpixel-bgr
text-antialias-subpixel-rgb
@ -79,9 +48,6 @@ text-antialias-subpixel-vbgr
text-antialias-subpixel-vrgb
text-pattern
text-rotate
thin-lines
tighten-bounds
twin-antialias-none
unantialiased-shapes
xcb-surface-source
xlib-surface-source

View file

@ -1,73 +1,34 @@
a1-clip-fill-rule
alpha-similar
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-361
bug-431
bug-seams
clip-device-offset
clip-fill-rule-pixel-aligned
clip-text
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
large-twin-antialias-mixed
linear-gradient-one-stop
mask-ctm
mask-surface-ctm
new-sub-path
nil-surface
over-above-source
over-around-source
over-between-source
overlapping-boxes
overlapping-glyphs
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
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
smask
smask-text
source-surface-scale-paint
subsurface
subsurface-outside-target
subsurface-scale
surface-pattern-scale-down-extend-none
text-antialias-subpixel
@ -78,10 +39,7 @@ 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
xcb-surface-source
xlib-surface-source

View file

@ -1,14 +1,4 @@
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-text
@ -16,64 +6,34 @@ coverage-intersecting-triangles
culled-glyphs
curve-to-as-line-to
degenerate-path
device-offset
device-offset-positive
extended-blend-alpha-mask
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
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
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-subpixel
@ -84,11 +44,8 @@ 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

View file

@ -1,19 +1,12 @@
a1-clip-fill-rule
aliasing
alpha-similar
arc-looping-dash
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-84115
bug-extents
bug-image-compositor
bug-spline
caps-joins-curve
clip-device-offset
clip-disjoint
clip-fill-rule-pixel-aligned
clip-operator
clip-shape
clip-stroke
@ -29,50 +22,32 @@ dash-scale
degenerate-curve-to
degenerate-pen
degenerate-rel-curve-to
device-offset
device-offset-positive
drunkard-tails
extended-blend-alpha-mask
fill-and-stroke
fill-and-stroke-alpha
fill-and-stroke-alpha-add
fill-empty
fill-image
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
halo-transform
hatchings
image-surface-source
joins
joins-loop
joins-retrace
large-twin-antialias-mixed
leaky-dashed-stroke
linear-gradient-one-stop
line-width-scale
line-width-tolerance
long-dashed-lines
mask-ctm
mask-surface-ctm
new-sub-path
nil-surface
operator-source
overlapping-boxes
overlapping-dash-caps
overlapping-glyphs
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
@ -121,8 +96,6 @@ rel-path
rounded-rectangle-stroke
scale-offset-image
scale-offset-similar
scale-source-surface-paint
set-source
shape-general-convex
shape-sierpinski
shifted-operator
@ -131,13 +104,11 @@ simple-edge
smask
smask-stroke
smask-text
source-surface-scale-paint
spline-decomposition
stroke-clipped
stroke-image
stroke-pattern
subsurface
subsurface-outside-target
subsurface-scale
text-antialias-subpixel
text-antialias-subpixel-bgr
@ -147,7 +118,6 @@ text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
thin-lines
tighten-bounds
twin
twin-antialias-gray
@ -159,5 +129,3 @@ user-font
user-font-proxy
world-map
world-map-stroke
xcb-surface-source
xlib-surface-source

View file

@ -1,17 +1,10 @@
a1-clip-fill-rule
aliasing
alpha-similar
arc-looping-dash
big-empty-box
big-empty-triangle
big-little-box
bitmap-font
bug-extents
bug-spline
caps-joins-curve
clip-device-offset
clip-disjoint
clip-fill-rule-pixel-aligned
clip-operator
clip-shape
clip-stroke
@ -30,49 +23,31 @@ dash-scale
degenerate-curve-to
degenerate-pen
degenerate-rel-curve-to
device-offset
device-offset-positive
drunkard-tails
extended-blend-alpha-mask
fill-and-stroke
fill-and-stroke-alpha
fill-and-stroke-alpha-add
fill-empty
fill-image
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
halo-transform
image-surface-source
joins
joins-loop
joins-retrace
large-twin-antialias-mixed
leaky-dashed-stroke
linear-gradient-one-stop
line-width-scale
line-width-tolerance
long-dashed-lines
mask-ctm
mask-surface-ctm
new-sub-path
nil-surface
operator-source
overlapping-boxes
overlapping-dash-caps
overlapping-glyphs
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
@ -112,8 +87,6 @@ rel-path
rounded-rectangle-stroke
scale-offset-image
scale-offset-similar
scale-source-surface-paint
set-source
shape-general-convex
shifted-operator
show-glyphs-advance
@ -121,13 +94,11 @@ simple-edge
smask
smask-stroke
smask-text
source-surface-scale-paint
spline-decomposition
stroke-clipped
stroke-image
stroke-pattern
subsurface
subsurface-outside-target
subsurface-scale
text-antialias-subpixel
text-antialias-subpixel-bgr
@ -137,7 +108,6 @@ text-antialias-subpixel-vrgb
text-pattern
text-rotate
text-unhinted-metrics
thin-lines
tighten-bounds
twin
twin-antialias-gray
@ -145,5 +115,3 @@ twin-antialias-mixed
twin-antialias-none
twin-antialias-subpixel
unclosed-strokes
xcb-surface-source
xlib-surface-source

View file

@ -81,10 +81,12 @@ buffer_diff_core (const unsigned char *_buf_a, int stride_a, cairo_format_t form
uint32_t pixel_a = row_a[x];
uint32_t pixel_b = row_b[x];
/* convert pixel data to ARGB32 if necessary */
if (format_a == CAIRO_FORMAT_RGB24)
if (format_a == CAIRO_FORMAT_RGB24 ||
format_b == CAIRO_FORMAT_RGB24)
{
pixel_a |= 0xff000000;
if (format_b == CAIRO_FORMAT_RGB24)
pixel_b |= 0xff000000;
}
/* check if the pixels are the same */
if (pixel_a != pixel_b) {