From 464dfc52af647eb6a89b31ba8483db67e86cf907 Mon Sep 17 00:00:00 2001 From: Luca Bacci Date: Thu, 6 Feb 2025 12:40:30 +0100 Subject: [PATCH] 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 --- .gitlab-ci/ignore-image-rgb24.txt | 40 --------------- .gitlab-ci/ignore-image16-rgb24.txt | 19 ------- .gitlab-ci/ignore-pdf-rgb24.txt | 28 ----------- .gitlab-ci/ignore-ps2-rgb24.txt | 11 ----- .gitlab-ci/ignore-ps3-rgb24.txt | 11 ----- .gitlab-ci/ignore-quartz-rgb24.txt | 27 ---------- .gitlab-ci/ignore-recording-rgb24.txt | 40 --------------- .gitlab-ci/ignore-svg11-rgb24.txt | 55 --------------------- .gitlab-ci/ignore-win32-ddb-rgb24.txt | 38 -------------- .gitlab-ci/ignore-win32-dib-rgb24.txt | 33 ------------- .gitlab-ci/ignore-xcb-fallback-rgb24.txt | 43 ---------------- .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt | 42 ---------------- .gitlab-ci/ignore-xcb-rgb24.txt | 34 ------------- .gitlab-ci/ignore-xcb-window&-rgb24.txt | 34 ------------- .gitlab-ci/ignore-xcb-window-rgb24.txt | 34 ------------- .gitlab-ci/ignore-xlib-fallback-rgb24.txt | 42 ---------------- .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt | 43 ---------------- .gitlab-ci/ignore-xlib-rgb24.txt | 32 ------------ .gitlab-ci/ignore-xlib-window-rgb24.txt | 32 ------------ test/buffer-diff.c | 6 ++- 20 files changed, 4 insertions(+), 640 deletions(-) diff --git a/.gitlab-ci/ignore-image-rgb24.txt b/.gitlab-ci/ignore-image-rgb24.txt index 3c90818b9..9017df695 100644 --- a/.gitlab-ci/ignore-image-rgb24.txt +++ b/.gitlab-ci/ignore-image-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-image16-rgb24.txt b/.gitlab-ci/ignore-image16-rgb24.txt index 418275a30..0e2533821 100644 --- a/.gitlab-ci/ignore-image16-rgb24.txt +++ b/.gitlab-ci/ignore-image16-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-pdf-rgb24.txt b/.gitlab-ci/ignore-pdf-rgb24.txt index d0e31a95d..800f27d6b 100644 --- a/.gitlab-ci/ignore-pdf-rgb24.txt +++ b/.gitlab-ci/ignore-pdf-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-ps2-rgb24.txt b/.gitlab-ci/ignore-ps2-rgb24.txt index 0ca0b8b45..4ee5af145 100644 --- a/.gitlab-ci/ignore-ps2-rgb24.txt +++ b/.gitlab-ci/ignore-ps2-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-ps3-rgb24.txt b/.gitlab-ci/ignore-ps3-rgb24.txt index 70584a89e..f8dd7e022 100644 --- a/.gitlab-ci/ignore-ps3-rgb24.txt +++ b/.gitlab-ci/ignore-ps3-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-quartz-rgb24.txt b/.gitlab-ci/ignore-quartz-rgb24.txt index 9db477c35..92d36f905 100644 --- a/.gitlab-ci/ignore-quartz-rgb24.txt +++ b/.gitlab-ci/ignore-quartz-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-recording-rgb24.txt b/.gitlab-ci/ignore-recording-rgb24.txt index cd1173b82..7dab563bc 100644 --- a/.gitlab-ci/ignore-recording-rgb24.txt +++ b/.gitlab-ci/ignore-recording-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-svg11-rgb24.txt b/.gitlab-ci/ignore-svg11-rgb24.txt index 44ddbff0e..f4de5ce27 100644 --- a/.gitlab-ci/ignore-svg11-rgb24.txt +++ b/.gitlab-ci/ignore-svg11-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-win32-ddb-rgb24.txt b/.gitlab-ci/ignore-win32-ddb-rgb24.txt index bae147b75..a7575938a 100644 --- a/.gitlab-ci/ignore-win32-ddb-rgb24.txt +++ b/.gitlab-ci/ignore-win32-ddb-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-win32-dib-rgb24.txt b/.gitlab-ci/ignore-win32-dib-rgb24.txt index 74c0f1b26..37032bb97 100644 --- a/.gitlab-ci/ignore-win32-dib-rgb24.txt +++ b/.gitlab-ci/ignore-win32-dib-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-xcb-fallback-rgb24.txt b/.gitlab-ci/ignore-xcb-fallback-rgb24.txt index 842796fa6..6b027ae37 100644 --- a/.gitlab-ci/ignore-xcb-fallback-rgb24.txt +++ b/.gitlab-ci/ignore-xcb-fallback-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt b/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt index 070e45b6c..cf0c86fe3 100644 --- a/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt +++ b/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-xcb-rgb24.txt b/.gitlab-ci/ignore-xcb-rgb24.txt index c725bedb9..8bda5809d 100644 --- a/.gitlab-ci/ignore-xcb-rgb24.txt +++ b/.gitlab-ci/ignore-xcb-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-xcb-window&-rgb24.txt b/.gitlab-ci/ignore-xcb-window&-rgb24.txt index 7e6febe3b..9066fb817 100644 --- a/.gitlab-ci/ignore-xcb-window&-rgb24.txt +++ b/.gitlab-ci/ignore-xcb-window&-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-xcb-window-rgb24.txt b/.gitlab-ci/ignore-xcb-window-rgb24.txt index 6f27c97b1..fc8789e86 100644 --- a/.gitlab-ci/ignore-xcb-window-rgb24.txt +++ b/.gitlab-ci/ignore-xcb-window-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-xlib-fallback-rgb24.txt b/.gitlab-ci/ignore-xlib-fallback-rgb24.txt index 6c9360def..705772f34 100644 --- a/.gitlab-ci/ignore-xlib-fallback-rgb24.txt +++ b/.gitlab-ci/ignore-xlib-fallback-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt b/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt index bc4e4e21c..233ef1fe3 100644 --- a/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt +++ b/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-xlib-rgb24.txt b/.gitlab-ci/ignore-xlib-rgb24.txt index e7d8b13a5..7c292870b 100644 --- a/.gitlab-ci/ignore-xlib-rgb24.txt +++ b/.gitlab-ci/ignore-xlib-rgb24.txt @@ -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 diff --git a/.gitlab-ci/ignore-xlib-window-rgb24.txt b/.gitlab-ci/ignore-xlib-window-rgb24.txt index 18f75875f..455fffa32 100644 --- a/.gitlab-ci/ignore-xlib-window-rgb24.txt +++ b/.gitlab-ci/ignore-xlib-window-rgb24.txt @@ -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 diff --git a/test/buffer-diff.c b/test/buffer-diff.c index 0796ca42a..0c7e8add1 100644 --- a/test/buffer-diff.c +++ b/test/buffer-diff.c @@ -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) {