From a8012953ed2821b1d9444b28e1dcc95846004dce Mon Sep 17 00:00:00 2001 From: Manuel Stoeckl Date: Sun, 29 Aug 2021 11:54:36 -0400 Subject: [PATCH 1/3] ci: sort lists of ignored tests --- .gitlab-ci/ignore-image-argb32.txt | 10 +- .gitlab-ci/ignore-image-rgb24.txt | 10 +- .gitlab-ci/ignore-image16-rgb24.txt | 126 ++++++++++---------- .gitlab-ci/ignore-pdf-argb32.txt | 38 +++--- .gitlab-ci/ignore-pdf-rgb24.txt | 46 +++---- .gitlab-ci/ignore-quartz-argb32.txt | 32 ++--- .gitlab-ci/ignore-quartz-rgb24.txt | 34 +++--- .gitlab-ci/ignore-recording-argb32.txt | 20 ++-- .gitlab-ci/ignore-recording-rgb24.txt | 20 ++-- .gitlab-ci/ignore-script-argb32.txt | 98 +++++++-------- .gitlab-ci/ignore-svg11-argb32.txt | 22 ++-- .gitlab-ci/ignore-svg11-rgb24.txt | 24 ++-- .gitlab-ci/ignore-xcb-argb32.txt | 40 +++---- .gitlab-ci/ignore-xcb-fallback-rgb24.txt | 10 +- .gitlab-ci/ignore-xcb-render-0-0-argb32.txt | 16 +-- .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt | 22 ++-- .gitlab-ci/ignore-xcb-rgb24.txt | 76 ++++++------ .gitlab-ci/ignore-xcb-window&-rgb24.txt | 68 +++++------ .gitlab-ci/ignore-xcb-window-rgb24.txt | 68 +++++------ .gitlab-ci/ignore-xlib-argb32.txt | 64 +++++----- .gitlab-ci/ignore-xlib-fallback-rgb24.txt | 32 ++--- .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt | 14 +-- .gitlab-ci/ignore-xlib-rgb24.txt | 96 +++++++-------- .gitlab-ci/ignore-xlib-window-rgb24.txt | 86 ++++++------- 24 files changed, 536 insertions(+), 536 deletions(-) diff --git a/.gitlab-ci/ignore-image-argb32.txt b/.gitlab-ci/ignore-image-argb32.txt index 9b70c84a5..84a246f17 100644 --- a/.gitlab-ci/ignore-image-argb32.txt +++ b/.gitlab-ci/ignore-image-argb32.txt @@ -1,5 +1,8 @@ clip-text culled-glyphs +ft-show-glyphs-positioning +ft-text-vertical-layout-type1 +ft-text-vertical-layout-type3 halo-transform overlapping-glyphs record1414x-select-font-face @@ -8,13 +11,10 @@ show-glyphs-advance subsurface subsurface-scale text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-pattern text-rotate text-unhinted-metrics -ft-show-glyphs-positioning -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-image-rgb24.txt b/.gitlab-ci/ignore-image-rgb24.txt index abaa20111..2ed564551 100644 --- a/.gitlab-ci/ignore-image-rgb24.txt +++ b/.gitlab-ci/ignore-image-rgb24.txt @@ -1,6 +1,9 @@ clip-text culled-glyphs extended-blend-alpha-mask +ft-show-glyphs-positioning +ft-text-vertical-layout-type1 +ft-text-vertical-layout-type3 halo-transform overlapping-glyphs record1414x-select-font-face @@ -10,13 +13,10 @@ show-glyphs-advance subsurface subsurface-scale text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-pattern text-rotate text-unhinted-metrics -ft-show-glyphs-positioning -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-image16-rgb24.txt b/.gitlab-ci/ignore-image16-rgb24.txt index 6705caf6b..0e2533821 100644 --- a/.gitlab-ci/ignore-image16-rgb24.txt +++ b/.gitlab-ci/ignore-image16-rgb24.txt @@ -1,18 +1,19 @@ a1-bug +a1-tiger aliasing arc-direction arc-looping-dash big-line -bug-spline bug-84115 bug-bo-ricotz -bug-source-cu bug-extents -bug-seams bug-image-compositor +bug-seams +bug-source-cu +bug-spline caps -caps-2 caps-05 +caps-2 caps-joins-2 caps-joins-alpha caps-joins-curve @@ -20,28 +21,28 @@ caps-tails-curve clear-source clip-disjoint clip-disjoint-quad -clip-stroke-unbounded -clip-fill-nz-unbounded -clip-fill-eo-unbounded clip-fill +clip-fill-eo-unbounded +clip-fill-nz-unbounded clip-image clip-intersect clip-operator clip-push-group clip-shape clip-stroke +clip-stroke-unbounded clip-text clip-twice close-path-current-point copy-path -coverage-rectangles -coverage-rhombus +coverage-abutting +coverage-column-triangles coverage-intersecting-quads coverage-intersecting-triangles +coverage-rectangles +coverage-rhombus coverage-row-triangles -coverage-column-triangles coverage-triangles -coverage-abutting culled-glyphs dash-caps-joins dash-curve @@ -54,13 +55,13 @@ degenerate-path degenerate-pen degenerate-rel-curve-to drunkard-tails -extend-pad-border extended-blend extended-blend-alpha -extended-blend-mask extended-blend-alpha-mask +extended-blend-mask extended-blend-solid extended-blend-solid-alpha +extend-pad-border fallback fill-alpha fill-alpha-pattern @@ -74,6 +75,10 @@ fill-rule filter-bilinear-extents finer-grained-fallbacks font-matrix-translation +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 @@ -86,16 +91,16 @@ huge-radial inverse-text joins joins-loop -joins-star joins-retrace +joins-star large-font large-twin-antialias-mixed leaky-dashed-stroke -line-width-overlap-offset -line-width-scale linear-gradient linear-gradient-reflect linear-gradient-subset +line-width-overlap-offset +line-width-scale long-dashed-lines mask mask-alpha @@ -113,8 +118,8 @@ new-sub-path operator-source over-around-source overlapping-boxes -overlapping-glyphs overlapping-dash-caps +overlapping-glyphs paint-source-alpha paint-with-alpha paint-with-alpha-clip @@ -125,72 +130,74 @@ pass-through path-append path-stroke-twice pdf-isolated-group +pixman-downscale-best-24 +pixman-downscale-best-96 +pixman-downscale-bilinear-96 pixman-downscale-fast-96 pixman-downscale-good-96 -pixman-downscale-best-96 -pixman-downscale-best-24 pixman-downscale-nearest-96 -pixman-downscale-bilinear-96 pixman-rotate +pthread-same-source +pthread-show-text push-group push-group-color radial-gradient radial-gradient-mask -radial-gradient-source radial-gradient-mask-source +radial-gradient-source random-clip -random-intersections-eo -random-intersections-nonzero random-intersections-curves-eo random-intersections-curves-nz +random-intersections-eo +random-intersections-nonzero raster-source -record-paint-alpha -record-paint-alpha-clip -record-paint-alpha-clip-mask -record-fill-alpha -record-select-font-face -record-text-transform +record1414x-fill-alpha record1414x-paint-alpha record1414x-paint-alpha-clip record1414x-paint-alpha-clip-mask -record1414x-fill-alpha record1414x-select-font-face record1414x-text-transform +record2x-fill-alpha record2x-paint-alpha record2x-paint-alpha-clip record2x-paint-alpha-clip-mask -record2x-fill-alpha record2x-select-font-face record2x-text-transform +record90-fill-alpha record90-paint-alpha record90-paint-alpha-clip record90-paint-alpha-clip-mask -record90-fill-alpha record90-select-font-face record90-text-transform -recordflip-whole-paint-alpha -recordflip-whole-paint-alpha-clip -recordflip-whole-paint-alpha-clip-mask -recordflip-whole-fill-alpha -recordflip-whole-select-font-face -recordflip-whole-text-transform +record-fill-alpha +recordflip-fill-alpha recordflip-paint-alpha recordflip-paint-alpha-clip recordflip-paint-alpha-clip-mask -recordflip-fill-alpha recordflip-select-font-face recordflip-text-transform -record-neg-extents-unbounded -record-neg-extents-bounded -record-mesh -record-replay-extend-repeat -record-replay-extend-reflect -record-replay-extend-pad +recordflip-whole-fill-alpha +recordflip-whole-paint-alpha +recordflip-whole-paint-alpha-clip +recordflip-whole-paint-alpha-clip-mask +recordflip-whole-select-font-face +recordflip-whole-text-transform +recording-surface-extend-none +recording-surface-extend-reflect +recording-surface-extend-repeat recording-surface-over recording-surface-source -recording-surface-extend-none -recording-surface-extend-repeat -recording-surface-extend-reflect +record-mesh +record-neg-extents-bounded +record-neg-extents-unbounded +record-paint-alpha +record-paint-alpha-clip +record-paint-alpha-clip-mask +record-replay-extend-pad +record-replay-extend-reflect +record-replay-extend-repeat +record-select-font-face +record-text-transform rectilinear-dash-scale-unaligned reflected-stroke rel-path @@ -200,15 +207,13 @@ rounded-rectangle-fill rounded-rectangle-stroke scale-offset-image scale-offset-similar -stroke-ctm-caps -stroke-image select-font-face set-source +shape-general-convex +shape-sierpinski shifted-operator show-glyphs-advance show-text-current-point -shape-general-convex -shape-sierpinski simple-edge smask smask-fill @@ -217,6 +222,8 @@ smask-paint smask-stroke smask-text spline-decomposition +stroke-ctm-caps +stroke-image stroke-pattern subsurface subsurface-scale @@ -226,18 +233,17 @@ surface-pattern-scale-down surface-pattern-scale-up text-antialias-gray text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-glyph-range text-pattern text-rotate text-transform text-unhinted-metrics -tighten-bounds tiger -a1-tiger +tighten-bounds transforms trap-clip twin @@ -251,14 +257,8 @@ user-font-mask user-font-proxy user-font-rescale world-map -world-map-stroke world-map-fill +world-map-stroke xcb-huge-image-shm xcb-huge-subimage xcomposite-projection -pthread-same-source -pthread-show-text -ft-show-glyphs-positioning -ft-show-glyphs-table -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-pdf-argb32.txt b/.gitlab-ci/ignore-pdf-argb32.txt index 2fc1fa760..bb7abf93a 100644 --- a/.gitlab-ci/ignore-pdf-argb32.txt +++ b/.gitlab-ci/ignore-pdf-argb32.txt @@ -10,6 +10,10 @@ 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 @@ -22,32 +26,34 @@ overlapping-glyphs paint-with-alpha-clip partial-clip-text-bottom partial-clip-text-left -pixman-downscale-fast-95 -pixman-downscale-fast-24 -pixman-downscale-good-24 -pixman-downscale-best-95 pixman-downscale-best-24 -pixman-downscale-nearest-95 -pixman-downscale-nearest-24 +pixman-downscale-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 radial-gradient radial-gradient-mask -radial-gradient-source radial-gradient-mask-source radial-gradient-one-stop +radial-gradient-source record1414x-select-font-face record1414x-text-transform record2x-text-transform -record-replay-extend-repeat -record-replay-extend-reflect -recording-surface-over -recording-surface-extend-repeat recording-surface-extend-reflect -rectilinear-miter-limit +recording-surface-extend-repeat +recording-surface-over +record-replay-extend-reflect +record-replay-extend-repeat rectilinear-dash +rectilinear-miter-limit rectilinear-stroke -rotate-image-surface-paint rotate-clip-image-surface-paint +rotate-image-surface-paint select-font-face self-copy show-glyphs-advance @@ -67,9 +73,3 @@ trap-clip twin user-font-proxy user-font-rescale -pthread-same-source -pthread-show-text -ft-show-glyphs-positioning -ft-show-glyphs-table -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-pdf-rgb24.txt b/.gitlab-ci/ignore-pdf-rgb24.txt index ae5e7e994..33b8694f6 100644 --- a/.gitlab-ci/ignore-pdf-rgb24.txt +++ b/.gitlab-ci/ignore-pdf-rgb24.txt @@ -8,6 +8,10 @@ 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 @@ -20,24 +24,23 @@ overlapping-glyphs paint-with-alpha-clip partial-clip-text-bottom partial-clip-text-left -pixman-downscale-fast-95 -pixman-downscale-fast-24 -pixman-downscale-good-24 -pixman-downscale-best-95 pixman-downscale-best-24 -pixman-downscale-nearest-95 -pixman-downscale-nearest-24 +pixman-downscale-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 radial-gradient radial-gradient-mask -radial-gradient-source radial-gradient-mask-source radial-gradient-one-stop +radial-gradient-source random-intersections-curves-eo random-intersections-curves-nz -record-paint-alpha-clip -record-select-font-face -record-text-transform record1414x-paint-alpha record1414x-paint-alpha-clip record1414x-paint-alpha-clip-mask @@ -50,21 +53,24 @@ 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 -recordflip-select-font-face -recordflip-text-transform -record-replay-extend-repeat -record-replay-extend-reflect -recording-surface-over recording-surface-extend-repeat -rectilinear-miter-limit +recording-surface-over +record-paint-alpha-clip +record-replay-extend-reflect +record-replay-extend-repeat +record-select-font-face +record-text-transform rectilinear-dash +rectilinear-miter-limit rectilinear-stroke rel-path -rotate-image-surface-paint rotate-clip-image-surface-paint +rotate-image-surface-paint select-font-face self-copy show-glyphs-advance @@ -82,9 +88,3 @@ trap-clip twin user-font-proxy user-font-rescale -pthread-same-source -pthread-show-text -ft-show-glyphs-positioning -ft-show-glyphs-table -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-quartz-argb32.txt b/.gitlab-ci/ignore-quartz-argb32.txt index 67810065a..e00077831 100644 --- a/.gitlab-ci/ignore-quartz-argb32.txt +++ b/.gitlab-ci/ignore-quartz-argb32.txt @@ -5,20 +5,19 @@ clip-operator coverage-rhombus culled-glyphs extended-blend-alpha -extended-blend-mask extended-blend-alpha-mask +extended-blend-mask extended-blend-solid-alpha fallback +ft-show-glyphs-positioning +ft-text-vertical-layout-type1 +ft-text-vertical-layout-type3 negative-stride-image operator-www radial-gradient radial-gradient-mask -radial-gradient-source radial-gradient-mask-source -record-paint-alpha-clip-mask -record-fill-alpha -record-select-font-face -record-text-transform +radial-gradient-source record1414x-select-font-face record1414x-text-transform record2x-paint-alpha-clip-mask @@ -27,27 +26,28 @@ record2x-text-transform record90-fill-alpha record90-select-font-face record90-text-transform -recordflip-whole-select-font-face -recordflip-whole-text-transform +record-fill-alpha recordflip-select-font-face recordflip-text-transform -record-neg-extents-bounded +recordflip-whole-select-font-face +recordflip-whole-text-transform record-mesh -record-replay-extend-repeat -record-replay-extend-reflect +record-neg-extents-bounded +record-paint-alpha-clip-mask record-replay-extend-pad +record-replay-extend-reflect +record-replay-extend-repeat +record-select-font-face +record-text-transform simple-edge subsurface subsurface-outside-target subsurface-scale surface-pattern text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-unhinted-metrics user-font-proxy -ft-show-glyphs-positioning -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-quartz-rgb24.txt b/.gitlab-ci/ignore-quartz-rgb24.txt index 314ef4aef..d2084bd31 100644 --- a/.gitlab-ci/ignore-quartz-rgb24.txt +++ b/.gitlab-ci/ignore-quartz-rgb24.txt @@ -6,20 +6,19 @@ coverage-rhombus culled-glyphs extended-blend extended-blend-alpha -extended-blend-mask extended-blend-alpha-mask +extended-blend-mask extended-blend-solid extended-blend-solid-alpha +ft-show-glyphs-positioning +ft-text-vertical-layout-type1 +ft-text-vertical-layout-type3 negative-stride-image operator-www radial-gradient radial-gradient-mask -radial-gradient-source radial-gradient-mask-source -record-paint-alpha-clip-mask -record-fill-alpha -record-select-font-face -record-text-transform +radial-gradient-source record1414x-select-font-face record1414x-text-transform record2x-paint-alpha-clip-mask @@ -28,27 +27,28 @@ record2x-text-transform record90-fill-alpha record90-select-font-face record90-text-transform -recordflip-whole-select-font-face -recordflip-whole-text-transform +record-fill-alpha recordflip-select-font-face recordflip-text-transform -record-neg-extents-unbounded -record-neg-extents-bounded +recordflip-whole-select-font-face +recordflip-whole-text-transform record-mesh -record-replay-extend-repeat -record-replay-extend-reflect +record-neg-extents-bounded +record-neg-extents-unbounded +record-paint-alpha-clip-mask record-replay-extend-pad +record-replay-extend-reflect +record-replay-extend-repeat +record-select-font-face +record-text-transform shifted-operator simple-edge subsurface subsurface-scale text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-unhinted-metrics user-font-proxy -ft-show-glyphs-positioning -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-recording-argb32.txt b/.gitlab-ci/ignore-recording-argb32.txt index 99cee110f..2697bd99c 100644 --- a/.gitlab-ci/ignore-recording-argb32.txt +++ b/.gitlab-ci/ignore-recording-argb32.txt @@ -4,32 +4,32 @@ clip-text coverage-rectangles culled-glyphs finer-grained-fallbacks +ft-show-glyphs-positioning +ft-text-vertical-layout-type1 +ft-text-vertical-layout-type3 halo-transform overlapping-glyphs +pthread-same-source record1414x-fill-alpha record1414x-select-font-face record1414x-text-transform -record2x-paint-alpha-clip-mask record2x-fill-alpha +record2x-paint-alpha-clip-mask record2x-text-transform +recording-surface-extend-none +recording-surface-extend-reflect +recording-surface-extend-repeat recording-surface-over recording-surface-source -recording-surface-extend-none -recording-surface-extend-repeat -recording-surface-extend-reflect scale-offset-similar show-glyphs-advance subsurface subsurface-scale text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-pattern text-rotate text-unhinted-metrics -pthread-same-source -ft-show-glyphs-positioning -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-recording-rgb24.txt b/.gitlab-ci/ignore-recording-rgb24.txt index 47838dcc3..9ad61875d 100644 --- a/.gitlab-ci/ignore-recording-rgb24.txt +++ b/.gitlab-ci/ignore-recording-rgb24.txt @@ -5,32 +5,32 @@ coverage-rectangles culled-glyphs extended-blend-alpha-mask finer-grained-fallbacks +ft-show-glyphs-positioning +ft-text-vertical-layout-type1 +ft-text-vertical-layout-type3 halo-transform overlapping-glyphs +pthread-same-source record1414x-fill-alpha record1414x-select-font-face record1414x-text-transform -record2x-paint-alpha-clip-mask record2x-fill-alpha +record2x-paint-alpha-clip-mask record2x-text-transform +recording-surface-extend-none +recording-surface-extend-reflect +recording-surface-extend-repeat recording-surface-over recording-surface-source -recording-surface-extend-none -recording-surface-extend-repeat -recording-surface-extend-reflect scale-offset-similar show-glyphs-advance subsurface subsurface-scale text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-pattern text-rotate text-unhinted-metrics -pthread-same-source -ft-show-glyphs-positioning -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-script-argb32.txt b/.gitlab-ci/ignore-script-argb32.txt index 493e69bdb..dd8b6ee8c 100644 --- a/.gitlab-ci/ignore-script-argb32.txt +++ b/.gitlab-ci/ignore-script-argb32.txt @@ -2,36 +2,37 @@ a1-bug a1-fill arc-looping-dash bilevel-image +bitmap-font bug-51910 bug-84115 bug-seams caps -caps-2 -caps-1 caps-05 -checkerboard -caps-joins-2 -caps-joins-1 +caps-1 +caps-2 caps-joins-05 +caps-joins-1 +caps-joins-2 caps-joins-curve -caps-tails-curve caps-sub-paths +caps-tails-curve +checkerboard clear-source -clip-disjoint-quad clip-device-offset +clip-disjoint-quad clip-image clip-mixed-antialias -clip-push-group clip-polygons +clip-push-group clip-text close-path close-path-current-point composite-integer-translate-over-repeat copy-path -coverage-rectangles +coverage-abutting coverage-intersecting-quads coverage-intersecting-triangles -coverage-abutting +coverage-rectangles culled-glyphs dash-caps-joins dash-curve @@ -49,13 +50,16 @@ 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 -xcb-surface-source -xlib-surface-source infinite-join inverse-text joins @@ -65,10 +69,10 @@ large-twin-antialias-mixed leaky-dashed-rectangle leaky-dashed-stroke leaky-polygon -line-width-scale -line-width-tolerance linear-gradient-extend linear-gradient-reflect +line-width-scale +line-width-tolerance long-dashed-lines map-all-to-image map-bit-to-image @@ -86,79 +90,82 @@ operator-alpha-alpha overlapping-glyphs paint-source-alpha paint-with-alpha -paint-with-alpha-solid-clip 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 -partial-coverage-half-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-source radial-gradient-mask-source radial-gradient-one-stop -radial-gradient-extend -record-paint-alpha-solid-clip -record-paint-alpha-clip -record-select-font-face -record-text-transform +radial-gradient-source record1414x-paint-alpha -record1414x-paint-alpha-solid-clip record1414x-paint-alpha-clip +record1414x-paint-alpha-solid-clip record1414x-select-font-face record1414x-text-transform record2x-paint-alpha -record2x-paint-alpha-solid-clip 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-whole-select-font-face -recordflip-whole-text-transform recordflip-select-font-face recordflip-text-transform -record-neg-extents-bounded -record-mesh -record-replay-extend-none -record-replay-extend-repeat -record-replay-extend-reflect -record-replay-extend-pad +recordflip-whole-select-font-face +recordflip-whole-text-transform +recording-surface-extend-none +recording-surface-extend-reflect +recording-surface-extend-repeat recording-surface-over recording-surface-source -recording-surface-extend-none -recording-surface-extend-repeat -recording-surface-extend-reflect +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 -stroke-ctm-caps select-font-face self-copy +shape-sierpinski show-glyphs-advance show-text-current-point -shape-sierpinski 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-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-glyph-range text-pattern text-rotate @@ -175,16 +182,9 @@ user-font user-font-proxy user-font-rescale world-map -world-map-stroke world-map-fill +world-map-stroke xcb-stress-cache +xcb-surface-source xcomposite-projection -pthread-show-text -bitmap-font -ft-show-glyphs-positioning -ft-show-glyphs-table -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 -ft-text-antialias-none -pdf-surface-source -ps-surface-source +xlib-surface-source diff --git a/.gitlab-ci/ignore-svg11-argb32.txt b/.gitlab-ci/ignore-svg11-argb32.txt index 26de01d66..f231e26dc 100644 --- a/.gitlab-ci/ignore-svg11-argb32.txt +++ b/.gitlab-ci/ignore-svg11-argb32.txt @@ -8,6 +8,9 @@ extended-blend-solid-alpha filter-bilinear-extents filter-nearest-offset filter-nearest-transformed +ft-show-glyphs-positioning +ft-text-vertical-layout-type1 +ft-text-vertical-layout-type3 halo-transform linear-gradient-reflect mask-transformed-image @@ -17,15 +20,13 @@ paint-source-alpha paint-with-alpha paint-with-alpha-clip paint-with-alpha-clip-mask +pthread-similar radial-gradient radial-gradient-mask -record-paint-alpha -record-paint-alpha-clip -record-paint-alpha-clip-mask +record1414x-fill-alpha record1414x-paint-alpha record1414x-paint-alpha-clip record1414x-paint-alpha-clip-mask -record1414x-fill-alpha record1414x-select-font-face record1414x-text-transform record2x-paint-alpha @@ -33,12 +34,15 @@ record2x-paint-alpha-clip record2x-paint-alpha-clip-mask record90-paint-alpha-clip record90-paint-alpha-clip-mask -recordflip-whole-paint-alpha -recordflip-whole-paint-alpha-clip -recordflip-whole-paint-alpha-clip-mask recordflip-paint-alpha recordflip-paint-alpha-clip recordflip-paint-alpha-clip-mask +recordflip-whole-paint-alpha +recordflip-whole-paint-alpha-clip +recordflip-whole-paint-alpha-clip-mask +record-paint-alpha +record-paint-alpha-clip +record-paint-alpha-clip-mask scale-offset-image scale-source-surface-paint self-copy @@ -57,7 +61,3 @@ text-rotate text-unhinted-metrics tighten-bounds unbounded-operator -pthread-similar -ft-show-glyphs-positioning -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-svg11-rgb24.txt b/.gitlab-ci/ignore-svg11-rgb24.txt index 4dd13ae01..cb52865d2 100644 --- a/.gitlab-ci/ignore-svg11-rgb24.txt +++ b/.gitlab-ci/ignore-svg11-rgb24.txt @@ -9,6 +9,9 @@ extended-blend-solid-alpha filter-bilinear-extents filter-nearest-offset filter-nearest-transformed +ft-show-glyphs-positioning +ft-text-vertical-layout-type1 +ft-text-vertical-layout-type3 gradient-alpha gradient-constant-alpha halo-transform @@ -21,17 +24,15 @@ paint-source-alpha paint-with-alpha paint-with-alpha-clip paint-with-alpha-clip-mask +pthread-similar radial-gradient radial-gradient-mask -radial-gradient-source radial-gradient-mask-source -record-paint-alpha -record-paint-alpha-clip -record-paint-alpha-clip-mask +radial-gradient-source +record1414x-fill-alpha record1414x-paint-alpha record1414x-paint-alpha-clip record1414x-paint-alpha-clip-mask -record1414x-fill-alpha record1414x-select-font-face record1414x-text-transform record2x-paint-alpha @@ -39,12 +40,15 @@ record2x-paint-alpha-clip record2x-paint-alpha-clip-mask record90-paint-alpha-clip record90-paint-alpha-clip-mask -recordflip-whole-paint-alpha -recordflip-whole-paint-alpha-clip -recordflip-whole-paint-alpha-clip-mask recordflip-paint-alpha recordflip-paint-alpha-clip recordflip-paint-alpha-clip-mask +recordflip-whole-paint-alpha +recordflip-whole-paint-alpha-clip +recordflip-whole-paint-alpha-clip-mask +record-paint-alpha +record-paint-alpha-clip +record-paint-alpha-clip-mask scale-offset-image scale-source-surface-paint self-copy @@ -63,7 +67,3 @@ text-rotate text-unhinted-metrics tighten-bounds unbounded-operator -pthread-similar -ft-show-glyphs-positioning -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-xcb-argb32.txt b/.gitlab-ci/ignore-xcb-argb32.txt index 2acf41059..18cfefded 100644 --- a/.gitlab-ci/ignore-xcb-argb32.txt +++ b/.gitlab-ci/ignore-xcb-argb32.txt @@ -1,14 +1,16 @@ +a1-tiger bug-spline clip-operator -coverage-rectangles -coverage-rhombus +coverage-column-triangles coverage-intersecting-quads coverage-intersecting-triangles +coverage-rectangles +coverage-rhombus coverage-row-triangles -coverage-column-triangles coverage-triangles culled-glyphs fill-image +ft-text-vertical-layout-type1 halo halo-transform hatchings @@ -16,41 +18,39 @@ operator-source overlapping-boxes radial-gradient radial-gradient-mask -radial-gradient-source radial-gradient-mask-source +radial-gradient-source radial-outer-focus random-clip -record-self-intersecting record1414x-fill-alpha record1414x-self-intersecting -record2x-paint-alpha-clip-mask record2x-fill-alpha -record90-paint-alpha-solid-clip +record2x-paint-alpha-clip-mask record90-paint-alpha-clip +record90-paint-alpha-solid-clip record90-self-intersecting -recordflip-whole-paint-alpha-clip-mask -recordflip-whole-fill-alpha -recordflip-whole-self-intersecting recordflip-paint-alpha-clip-mask recordflip-self-intersecting -record-neg-extents-unbounded -record-neg-extents-bounded -record-replay-extend-repeat -record-replay-extend-reflect -record-replay-extend-pad -recording-surface-extend-repeat +recordflip-whole-fill-alpha +recordflip-whole-paint-alpha-clip-mask +recordflip-whole-self-intersecting recording-surface-extend-pad +recording-surface-extend-repeat +record-neg-extents-bounded +record-neg-extents-unbounded +record-replay-extend-pad +record-replay-extend-reflect +record-replay-extend-repeat +record-self-intersecting rotated-clip +simple-edge stroke-clipped stroke-image -simple-edge -text-antialias-subpixel-vrgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-rotate tighten-bounds -a1-tiger twin-antialias-none unantialiased-shapes user-font user-font-proxy -ft-text-vertical-layout-type1 diff --git a/.gitlab-ci/ignore-xcb-fallback-rgb24.txt b/.gitlab-ci/ignore-xcb-fallback-rgb24.txt index 8f2477884..902ffa63d 100644 --- a/.gitlab-ci/ignore-xcb-fallback-rgb24.txt +++ b/.gitlab-ci/ignore-xcb-fallback-rgb24.txt @@ -3,6 +3,9 @@ coverage-intersecting-triangles culled-glyphs extended-blend-alpha-mask fallback +ft-show-glyphs-positioning +ft-text-vertical-layout-type1 +ft-text-vertical-layout-type3 halo-transform overlapping-glyphs record1414x-select-font-face @@ -11,13 +14,10 @@ show-glyphs-advance subsurface subsurface-scale text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-pattern text-rotate text-unhinted-metrics -ft-show-glyphs-positioning -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-xcb-render-0-0-argb32.txt b/.gitlab-ci/ignore-xcb-render-0-0-argb32.txt index 13bcae273..9e9fbc37c 100644 --- a/.gitlab-ci/ignore-xcb-render-0-0-argb32.txt +++ b/.gitlab-ci/ignore-xcb-render-0-0-argb32.txt @@ -1,30 +1,30 @@ clip-disjoint-hatching -clip-stroke-unbounded -clip-fill-nz-unbounded clip-fill-eo-unbounded +clip-fill-nz-unbounded clip-operator clip-polygons clip-shape +clip-stroke-unbounded clip-twice coverage-intersecting-triangles culled-glyphs +ft-text-vertical-layout-type1 hatchings radial-gradient radial-gradient-mask -radial-gradient-source radial-gradient-mask-source +radial-gradient-source random-clip -record-paint-alpha-solid-clip record1414x-select-font-face record1414x-text-transform record-neg-extents-bounded -record-replay-extend-repeat +record-paint-alpha-solid-clip record-replay-extend-reflect +record-replay-extend-repeat rotated-clip text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb trap-clip -ft-text-vertical-layout-type1 diff --git a/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt b/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt index 21de16050..1578b7e9a 100644 --- a/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt +++ b/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt @@ -1,36 +1,36 @@ clip-disjoint-hatching -clip-stroke-unbounded -clip-fill-nz-unbounded clip-fill-eo-unbounded +clip-fill-nz-unbounded clip-operator clip-polygons clip-shape +clip-stroke-unbounded clip-twice coverage-intersecting-triangles culled-glyphs extended-blend-alpha-mask fallback +ft-text-vertical-layout-type1 hatchings mask operator-source radial-gradient radial-gradient-mask -radial-gradient-source radial-gradient-mask-source +radial-gradient-source random-clip -record-paint-alpha-solid-clip record1414x-select-font-face record1414x-text-transform -record-neg-extents-bounded -record-replay-extend-repeat -record-replay-extend-reflect -recording-surface-over recording-surface-extend-none +recording-surface-over +record-neg-extents-bounded +record-paint-alpha-solid-clip +record-replay-extend-reflect +record-replay-extend-repeat rotated-clip text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb trap-clip -ft-text-vertical-layout-type1 diff --git a/.gitlab-ci/ignore-xcb-rgb24.txt b/.gitlab-ci/ignore-xcb-rgb24.txt index c1823bb5a..6baceeb65 100644 --- a/.gitlab-ci/ignore-xcb-rgb24.txt +++ b/.gitlab-ci/ignore-xcb-rgb24.txt @@ -1,26 +1,27 @@ +a1-tiger arc-looping-dash -bug-spline bug-51910 bug-84115 -bug-source-cu bug-image-compositor -caps-2 -caps-1 +bug-source-cu +bug-spline caps-05 -caps-joins-2 -caps-joins-1 +caps-1 +caps-2 caps-joins-05 +caps-joins-1 +caps-joins-2 clear-source clip-operator clip-text -coverage-rectangles -coverage-rhombus +coverage-abutting +coverage-column-triangles coverage-intersecting-quads coverage-intersecting-triangles +coverage-rectangles +coverage-rhombus coverage-row-triangles -coverage-column-triangles coverage-triangles -coverage-abutting culled-glyphs dash-curve extended-blend-alpha-mask @@ -28,6 +29,10 @@ fallback fill-image filter-bilinear-extents 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 @@ -43,8 +48,8 @@ operator-alpha-alpha operator-clear operator-source overlapping-boxes -overlapping-glyphs overlapping-dash-caps +overlapping-glyphs partial-clip-text-bottom partial-clip-text-left partial-coverage-reference @@ -53,42 +58,40 @@ push-group push-group-color radial-gradient radial-gradient-mask -radial-gradient-source radial-gradient-mask-source +radial-gradient-source radial-outer-focus random-clip -record-self-intersecting record1414x-fill-alpha record1414x-self-intersecting record1414x-text-transform -record2x-paint-alpha-clip-mask record2x-fill-alpha -record90-paint-alpha-solid-clip -record90-paint-alpha-clip +record2x-paint-alpha-clip-mask record90-fill-alpha +record90-paint-alpha-clip +record90-paint-alpha-solid-clip record90-self-intersecting -recordflip-whole-paint-alpha-clip-mask -recordflip-whole-fill-alpha -recordflip-whole-self-intersecting -recordflip-paint-alpha-clip-mask recordflip-fill-alpha +recordflip-paint-alpha-clip-mask recordflip-self-intersecting -record-neg-extents-unbounded -record-neg-extents-bounded -record-replay-extend-repeat -record-replay-extend-reflect -record-replay-extend-pad +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 -recording-surface-extend-none -recording-surface-extend-repeat -recording-surface-extend-reflect -recording-surface-extend-pad +record-neg-extents-bounded +record-neg-extents-unbounded +record-replay-extend-pad +record-replay-extend-reflect +record-replay-extend-repeat +record-self-intersecting reflected-stroke rotated-clip select-font-face -stroke-clipped -stroke-image show-glyphs-advance show-text-current-point simple-edge @@ -99,21 +102,22 @@ smask-mask smask-paint smask-stroke smp-glyph +stroke-clipped +stroke-image subsurface subsurface-scale surface-pattern-operator surface-pattern-scale-up text-antialias-gray text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-glyph-range text-rotate text-transform tighten-bounds -a1-tiger trap-clip twin twin-antialias-gray @@ -126,7 +130,3 @@ user-font-proxy world-map world-map-fill xcomposite-projection -ft-show-glyphs-positioning -ft-show-glyphs-table -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-xcb-window&-rgb24.txt b/.gitlab-ci/ignore-xcb-window&-rgb24.txt index f0137c1c2..8f6f96d5c 100644 --- a/.gitlab-ci/ignore-xcb-window&-rgb24.txt +++ b/.gitlab-ci/ignore-xcb-window&-rgb24.txt @@ -1,28 +1,32 @@ arc-looping-dash -bug-spline bug-51910 -caps-2 -caps-1 +bug-spline caps-05 -caps-joins-2 -caps-joins-1 +caps-1 +caps-2 caps-joins-05 +caps-joins-1 +caps-joins-2 clear-source clip-operator clip-text -coverage-rectangles +coverage-abutting +coverage-column-triangles coverage-intersecting-quads coverage-intersecting-triangles +coverage-rectangles coverage-row-triangles -coverage-column-triangles coverage-triangles -coverage-abutting culled-glyphs extended-blend-alpha-mask fallback fill-image filter-bilinear-extents font-matrix-translation +ft-show-glyphs-positioning +ft-show-glyphs-table +ft-text-vertical-layout-type1 +ft-text-vertical-layout-type3 glyph-cache-pressure halo halo-transform @@ -36,8 +40,8 @@ operator-alpha-alpha operator-clear operator-source overlapping-boxes -overlapping-glyphs overlapping-dash-caps +overlapping-glyphs partial-clip-text-bottom partial-clip-text-left partial-coverage-reference @@ -45,38 +49,36 @@ partial-coverage-three-quarter-reference push-group push-group-color radial-outer-focus -record-self-intersecting record1414x-fill-alpha record1414x-self-intersecting record1414x-text-transform -record2x-paint-alpha-clip-mask record2x-fill-alpha -record90-paint-alpha-solid-clip -record90-paint-alpha-clip +record2x-paint-alpha-clip-mask record90-fill-alpha +record90-paint-alpha-clip +record90-paint-alpha-solid-clip record90-self-intersecting -recordflip-whole-paint-alpha-clip-mask -recordflip-whole-fill-alpha -recordflip-whole-self-intersecting -recordflip-paint-alpha-clip-mask recordflip-fill-alpha +recordflip-paint-alpha-clip-mask recordflip-self-intersecting -record-neg-extents-unbounded -record-neg-extents-bounded -record-replay-extend-repeat -record-replay-extend-reflect -record-replay-extend-pad +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 -recording-surface-extend-none -recording-surface-extend-repeat -recording-surface-extend-reflect -recording-surface-extend-pad +record-neg-extents-bounded +record-neg-extents-unbounded +record-replay-extend-pad +record-replay-extend-reflect +record-replay-extend-repeat +record-self-intersecting reflected-stroke rotated-clip select-font-face -stroke-clipped -stroke-image show-glyphs-advance show-text-current-point simple-edge @@ -87,16 +89,18 @@ smask-mask smask-paint smask-stroke smp-glyph +stroke-clipped +stroke-image subsurface subsurface-scale surface-pattern-operator surface-pattern-scale-up text-antialias-gray text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-glyph-range text-rotate text-transform @@ -109,7 +113,3 @@ twin-antialias-subpixel unantialiased-shapes unbounded-operator xcomposite-projection -ft-show-glyphs-positioning -ft-show-glyphs-table -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-xcb-window-rgb24.txt b/.gitlab-ci/ignore-xcb-window-rgb24.txt index f0137c1c2..8f6f96d5c 100644 --- a/.gitlab-ci/ignore-xcb-window-rgb24.txt +++ b/.gitlab-ci/ignore-xcb-window-rgb24.txt @@ -1,28 +1,32 @@ arc-looping-dash -bug-spline bug-51910 -caps-2 -caps-1 +bug-spline caps-05 -caps-joins-2 -caps-joins-1 +caps-1 +caps-2 caps-joins-05 +caps-joins-1 +caps-joins-2 clear-source clip-operator clip-text -coverage-rectangles +coverage-abutting +coverage-column-triangles coverage-intersecting-quads coverage-intersecting-triangles +coverage-rectangles coverage-row-triangles -coverage-column-triangles coverage-triangles -coverage-abutting culled-glyphs extended-blend-alpha-mask fallback fill-image filter-bilinear-extents font-matrix-translation +ft-show-glyphs-positioning +ft-show-glyphs-table +ft-text-vertical-layout-type1 +ft-text-vertical-layout-type3 glyph-cache-pressure halo halo-transform @@ -36,8 +40,8 @@ operator-alpha-alpha operator-clear operator-source overlapping-boxes -overlapping-glyphs overlapping-dash-caps +overlapping-glyphs partial-clip-text-bottom partial-clip-text-left partial-coverage-reference @@ -45,38 +49,36 @@ partial-coverage-three-quarter-reference push-group push-group-color radial-outer-focus -record-self-intersecting record1414x-fill-alpha record1414x-self-intersecting record1414x-text-transform -record2x-paint-alpha-clip-mask record2x-fill-alpha -record90-paint-alpha-solid-clip -record90-paint-alpha-clip +record2x-paint-alpha-clip-mask record90-fill-alpha +record90-paint-alpha-clip +record90-paint-alpha-solid-clip record90-self-intersecting -recordflip-whole-paint-alpha-clip-mask -recordflip-whole-fill-alpha -recordflip-whole-self-intersecting -recordflip-paint-alpha-clip-mask recordflip-fill-alpha +recordflip-paint-alpha-clip-mask recordflip-self-intersecting -record-neg-extents-unbounded -record-neg-extents-bounded -record-replay-extend-repeat -record-replay-extend-reflect -record-replay-extend-pad +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 -recording-surface-extend-none -recording-surface-extend-repeat -recording-surface-extend-reflect -recording-surface-extend-pad +record-neg-extents-bounded +record-neg-extents-unbounded +record-replay-extend-pad +record-replay-extend-reflect +record-replay-extend-repeat +record-self-intersecting reflected-stroke rotated-clip select-font-face -stroke-clipped -stroke-image show-glyphs-advance show-text-current-point simple-edge @@ -87,16 +89,18 @@ smask-mask smask-paint smask-stroke smp-glyph +stroke-clipped +stroke-image subsurface subsurface-scale surface-pattern-operator surface-pattern-scale-up text-antialias-gray text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-glyph-range text-rotate text-transform @@ -109,7 +113,3 @@ twin-antialias-subpixel unantialiased-shapes unbounded-operator xcomposite-projection -ft-show-glyphs-positioning -ft-show-glyphs-table -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-xlib-argb32.txt b/.gitlab-ci/ignore-xlib-argb32.txt index 914a7c1bf..098259fc7 100644 --- a/.gitlab-ci/ignore-xlib-argb32.txt +++ b/.gitlab-ci/ignore-xlib-argb32.txt @@ -1,19 +1,19 @@ aliasing arc-looping-dash -bug-spline bug-84115 bug-extents bug-image-compositor +bug-spline caps-joins-curve clip-disjoint -clip-stroke-unbounded clip-operator clip-shape clip-stroke +clip-stroke-unbounded clip-text close-path-current-point -coverage-rhombus coverage-column-triangles +coverage-rhombus culled-glyphs dash-caps-joins dash-curve @@ -27,6 +27,9 @@ fill-and-stroke fill-and-stroke-alpha fill-and-stroke-alpha-add fill-image +ft-show-glyphs-positioning +ft-text-vertical-layout-type1 +ft-text-vertical-layout-type3 halo halo-transform hatchings @@ -41,72 +44,73 @@ long-dashed-lines new-sub-path operator-source overlapping-boxes -overlapping-glyphs overlapping-dash-caps +overlapping-glyphs path-stroke-twice +pthread-show-text radial-gradient radial-gradient-mask -radial-gradient-source radial-gradient-mask-source +radial-gradient-source radial-outer-focus random-clip -random-intersections-eo -random-intersections-nonzero random-intersections-curves-eo random-intersections-curves-nz -record-select-font-face -record-self-intersecting -record-text-transform +random-intersections-eo +random-intersections-nonzero record1414x-fill-alpha record1414x-select-font-face record1414x-self-intersecting record1414x-text-transform -record2x-paint-alpha-clip-mask record2x-fill-alpha +record2x-paint-alpha-clip-mask record2x-select-font-face record2x-text-transform -record90-paint-alpha-solid-clip record90-paint-alpha-clip +record90-paint-alpha-solid-clip record90-select-font-face record90-self-intersecting record90-text-transform -recordflip-whole-paint-alpha-clip-mask -recordflip-whole-fill-alpha -recordflip-whole-select-font-face -recordflip-whole-self-intersecting -recordflip-whole-text-transform recordflip-paint-alpha-clip-mask recordflip-select-font-face recordflip-self-intersecting recordflip-text-transform -record-neg-extents-unbounded -record-neg-extents-bounded -record-replay-extend-none -record-replay-extend-repeat -record-replay-extend-reflect -record-replay-extend-pad -recording-surface-extend-repeat +recordflip-whole-fill-alpha +recordflip-whole-paint-alpha-clip-mask +recordflip-whole-select-font-face +recordflip-whole-self-intersecting +recordflip-whole-text-transform recording-surface-extend-pad +recording-surface-extend-repeat +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-select-font-face +record-self-intersecting +record-text-transform reflected-stroke rel-path rounded-rectangle-stroke scale-offset-image scale-offset-similar -stroke-clipped -stroke-image -show-glyphs-advance shape-general-convex shape-sierpinski +show-glyphs-advance simple-edge smask smask-stroke smask-text spline-decomposition +stroke-clipped +stroke-image stroke-pattern subsurface subsurface-scale -text-antialias-subpixel-vrgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-pattern text-rotate text-unhinted-metrics @@ -121,7 +125,3 @@ user-font user-font-proxy world-map world-map-stroke -pthread-show-text -ft-show-glyphs-positioning -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-xlib-fallback-rgb24.txt b/.gitlab-ci/ignore-xlib-fallback-rgb24.txt index f308f68c2..d86d694a1 100644 --- a/.gitlab-ci/ignore-xlib-fallback-rgb24.txt +++ b/.gitlab-ci/ignore-xlib-fallback-rgb24.txt @@ -2,26 +2,26 @@ arc-looping-dash bug-51910 bug-seams caps -caps-2 -caps-1 caps-05 -caps-joins-2 -caps-joins-1 +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-push-group clip-polygons +clip-push-group clip-text close-path close-path-current-point copy-path -coverage-intersecting-quads coverage-abutting +coverage-intersecting-quads culled-glyphs dash-caps-joins dash-infinite-loop @@ -35,6 +35,10 @@ fallback filter-bilinear-extents finer-grained-fallbacks 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-transform infinite-join @@ -58,14 +62,15 @@ partial-clip-text-left partial-coverage-reference partial-coverage-three-quarter-reference path-stroke-twice +pthread-show-text +pthread-similar push-group-color record1414x-select-font-face record1414x-text-transform -recording-surface-over recording-surface-extend-none +recording-surface-over rectilinear-miter-limit reflected-stroke -stroke-ctm-caps select-font-face self-copy shifted-operator @@ -77,16 +82,17 @@ smask-mask smask-paint smask-text smp-glyph +stroke-ctm-caps subsurface subsurface-scale surface-pattern-scale-down-extend-none surface-pattern-scale-up text-antialias-gray text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-glyph-range text-pattern text-rotate @@ -100,9 +106,3 @@ twin-antialias-none twin-antialias-subpixel unclosed-strokes xcomposite-projection -pthread-show-text -pthread-similar -ft-show-glyphs-positioning -ft-show-glyphs-table -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt b/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt index fb2c53607..a5f0ec34f 100644 --- a/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt +++ b/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt @@ -1,9 +1,9 @@ caps-sub-paths clear-source clip-operator +clipped-group clip-push-group clip-text -clipped-group coverage-intersecting-triangles culled-glyphs curve-to-as-line-to @@ -13,6 +13,9 @@ fill-and-stroke fill-and-stroke-alpha fill-and-stroke-alpha-add finer-grained-fallbacks +ft-show-glyphs-positioning +ft-text-vertical-layout-type1 +ft-text-vertical-layout-type3 halo-transform horizontal-clip infinite-join @@ -22,6 +25,7 @@ mask operator-clear operator-source overlapping-glyphs +pthread-show-text radial-outer-focus record1414x-select-font-face record1414x-text-transform @@ -36,10 +40,10 @@ subsurface-scale surface-pattern-operator text-antialias-gray text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-pattern text-rotate text-unhinted-metrics @@ -48,7 +52,3 @@ twin-antialias-mixed twin-antialias-none twin-antialias-subpixel unbounded-operator -pthread-show-text -ft-show-glyphs-positioning -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-xlib-rgb24.txt b/.gitlab-ci/ignore-xlib-rgb24.txt index 144bbf2ad..0a4c9f616 100644 --- a/.gitlab-ci/ignore-xlib-rgb24.txt +++ b/.gitlab-ci/ignore-xlib-rgb24.txt @@ -1,25 +1,25 @@ aliasing arc-looping-dash -bug-spline bug-51910 bug-84115 -bug-source-cu bug-extents bug-image-compositor +bug-source-cu +bug-spline caps-joins-05 caps-joins-curve caps-tails-curve clear-source clip-disjoint -clip-stroke-unbounded clip-operator clip-shape clip-stroke +clip-stroke-unbounded clip-text close-path-current-point -coverage-rhombus -coverage-column-triangles coverage-abutting +coverage-column-triangles +coverage-rhombus culled-glyphs dash-caps-joins dash-curve @@ -28,8 +28,8 @@ degenerate-curve-to degenerate-pen degenerate-rel-curve-to drunkard-tails -extended-blend-mask extended-blend-alpha-mask +extended-blend-mask fallback fill-and-stroke fill-and-stroke-alpha @@ -37,6 +37,10 @@ fill-and-stroke-alpha-add fill-image filter-bilinear-extents 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 @@ -45,15 +49,15 @@ infinite-join inverse-text joins joins-loop -joins-star joins-retrace +joins-star large-font large-twin-antialias-mixed leaky-dashed-stroke -line-width-scale -line-width-tolerance linear-gradient linear-gradient-subset +line-width-scale +line-width-tolerance long-dashed-lines mask mask-transformed-image @@ -64,79 +68,77 @@ operator-alpha-alpha operator-clear operator-source overlapping-boxes -overlapping-glyphs overlapping-dash-caps +overlapping-glyphs partial-clip-text-bottom partial-clip-text-left partial-coverage-reference partial-coverage-three-quarter-reference path-stroke-twice +pthread-show-text push-group push-group-color radial-gradient radial-gradient-mask -radial-gradient-source radial-gradient-mask-source +radial-gradient-source radial-outer-focus random-clip -random-intersections-eo -random-intersections-nonzero random-intersections-curves-eo random-intersections-curves-nz -record-select-font-face -record-self-intersecting -record-text-transform +random-intersections-eo +random-intersections-nonzero record1414x-fill-alpha record1414x-select-font-face record1414x-self-intersecting record1414x-text-transform -record2x-paint-alpha-clip-mask record2x-fill-alpha +record2x-paint-alpha-clip-mask record2x-select-font-face record2x-text-transform -record90-paint-alpha-solid-clip -record90-paint-alpha-clip record90-fill-alpha +record90-paint-alpha-clip +record90-paint-alpha-solid-clip record90-select-font-face record90-self-intersecting record90-text-transform -recordflip-whole-paint-alpha-clip-mask -recordflip-whole-fill-alpha -recordflip-whole-select-font-face -recordflip-whole-self-intersecting -recordflip-whole-text-transform -recordflip-paint-alpha-clip-mask recordflip-fill-alpha +recordflip-paint-alpha-clip-mask recordflip-select-font-face recordflip-self-intersecting recordflip-text-transform -record-neg-extents-unbounded -record-neg-extents-bounded -record-replay-extend-none -record-replay-extend-repeat -record-replay-extend-reflect -record-replay-extend-pad +recordflip-whole-fill-alpha +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 -recording-surface-extend-none -recording-surface-extend-repeat -recording-surface-extend-reflect -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-select-font-face +record-self-intersecting +record-text-transform reflected-stroke rel-path rotated-clip rounded-rectangle-stroke scale-offset-image scale-offset-similar -stroke-ctm-caps -stroke-clipped -stroke-image select-font-face +shape-general-convex +shape-sierpinski shifted-operator show-glyphs-advance show-text-current-point -shape-general-convex -shape-sierpinski simple-edge smask smask-fill @@ -147,6 +149,9 @@ smask-stroke smask-text smp-glyph spline-decomposition +stroke-clipped +stroke-ctm-caps +stroke-image stroke-pattern subsurface subsurface-scale @@ -154,10 +159,10 @@ surface-pattern-operator surface-pattern-scale-up text-antialias-gray text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-glyph-range text-pattern text-rotate @@ -175,11 +180,6 @@ unclosed-strokes user-font user-font-proxy world-map -world-map-stroke world-map-fill +world-map-stroke xcomposite-projection -pthread-show-text -ft-show-glyphs-positioning -ft-show-glyphs-table -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 diff --git a/.gitlab-ci/ignore-xlib-window-rgb24.txt b/.gitlab-ci/ignore-xlib-window-rgb24.txt index 7501b8c11..814bd7da6 100644 --- a/.gitlab-ci/ignore-xlib-window-rgb24.txt +++ b/.gitlab-ci/ignore-xlib-window-rgb24.txt @@ -1,25 +1,25 @@ aliasing arc-looping-dash -bug-spline bug-51910 bug-extents +bug-spline caps-joins-05 caps-joins-curve clear-source clip-disjoint -clip-stroke-unbounded clip-operator clip-shape clip-stroke +clip-stroke-unbounded clip-text close-path-current-point -coverage-rectangles +coverage-abutting +coverage-column-triangles coverage-intersecting-quads coverage-intersecting-triangles +coverage-rectangles coverage-row-triangles -coverage-column-triangles coverage-triangles -coverage-abutting culled-glyphs dash-caps-joins dash-scale @@ -27,8 +27,8 @@ degenerate-curve-to degenerate-pen degenerate-rel-curve-to drunkard-tails -extended-blend-mask extended-blend-alpha-mask +extended-blend-mask fallback fill-and-stroke fill-and-stroke-alpha @@ -36,6 +36,10 @@ fill-and-stroke-alpha-add fill-image filter-bilinear-extents 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 @@ -43,14 +47,14 @@ infinite-join inverse-text joins joins-loop -joins-star joins-retrace +joins-star large-twin-antialias-mixed leaky-dashed-stroke -line-width-scale -line-width-tolerance linear-gradient linear-gradient-subset +line-width-scale +line-width-tolerance long-dashed-lines mask mask-transformed-image @@ -61,69 +65,67 @@ operator-alpha-alpha operator-clear operator-source overlapping-boxes -overlapping-glyphs overlapping-dash-caps +overlapping-glyphs partial-clip-text-bottom partial-clip-text-left partial-coverage-reference partial-coverage-three-quarter-reference path-stroke-twice +pthread-show-text push-group push-group-color radial-outer-focus -record-select-font-face -record-self-intersecting -record-text-transform record1414x-fill-alpha record1414x-select-font-face record1414x-self-intersecting record1414x-text-transform -record2x-paint-alpha-clip-mask record2x-fill-alpha +record2x-paint-alpha-clip-mask record2x-select-font-face record2x-text-transform -record90-paint-alpha-solid-clip -record90-paint-alpha-clip record90-fill-alpha +record90-paint-alpha-clip +record90-paint-alpha-solid-clip record90-select-font-face record90-self-intersecting record90-text-transform -recordflip-whole-paint-alpha-clip-mask -recordflip-whole-fill-alpha -recordflip-whole-select-font-face -recordflip-whole-self-intersecting -recordflip-whole-text-transform -recordflip-paint-alpha-clip-mask recordflip-fill-alpha +recordflip-paint-alpha-clip-mask recordflip-select-font-face recordflip-self-intersecting recordflip-text-transform -record-neg-extents-unbounded -record-neg-extents-bounded -record-replay-extend-none -record-replay-extend-repeat -record-replay-extend-reflect -record-replay-extend-pad +recordflip-whole-fill-alpha +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 -recording-surface-extend-none -recording-surface-extend-repeat -recording-surface-extend-reflect -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-select-font-face +record-self-intersecting +record-text-transform reflected-stroke rel-path rotated-clip rounded-rectangle-stroke scale-offset-image scale-offset-similar -stroke-ctm-caps -stroke-clipped -stroke-image select-font-face +shape-general-convex shifted-operator show-glyphs-advance show-text-current-point -shape-general-convex simple-edge smask smask-fill @@ -134,6 +136,9 @@ smask-stroke smask-text smp-glyph spline-decomposition +stroke-clipped +stroke-ctm-caps +stroke-image stroke-pattern subsurface subsurface-scale @@ -141,10 +146,10 @@ surface-pattern-operator surface-pattern-scale-up text-antialias-gray text-antialias-subpixel -text-antialias-subpixel-rgb text-antialias-subpixel-bgr -text-antialias-subpixel-vrgb +text-antialias-subpixel-rgb text-antialias-subpixel-vbgr +text-antialias-subpixel-vrgb text-glyph-range text-pattern text-rotate @@ -160,8 +165,3 @@ twin-antialias-subpixel unbounded-operator unclosed-strokes xcomposite-projection -pthread-show-text -ft-show-glyphs-positioning -ft-show-glyphs-table -ft-text-vertical-layout-type1 -ft-text-vertical-layout-type3 From 04906075847dd5f13d9b02503032a2fbb557b32e Mon Sep 17 00:00:00 2001 From: Manuel Stoeckl Date: Wed, 25 Aug 2021 21:44:00 -0400 Subject: [PATCH 2/3] pdiff: convert RGB24 image values to ARGB32 on read To avoid reading a potentially garbage alpha channel when users of pdiff_compare pass in RGB24 images, if the format is RGB24, force the alpha channel to be 0xff. This commit also updates CI to adjust for the new tests that have started/stopped failing. New failures often are cases where the reference image has alpha transparency, but the test output does not; new passing tests may indicate that the unused alpha channel of an RGB24 image was garbage, but now is ignored. --- .gitlab-ci/ignore-image-argb32.txt | 1 + .gitlab-ci/ignore-image-rgb24.txt | 11 ++++++ .gitlab-ci/ignore-quartz-rgb24.txt | 7 ++-- .gitlab-ci/ignore-recording-rgb24.txt | 8 +++++ .gitlab-ci/ignore-xcb-fallback-rgb24.txt | 6 ++++ .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt | 6 ++++ .gitlab-ci/ignore-xcb-rgb24.txt | 4 +-- .gitlab-ci/ignore-xcb-window&-rgb24.txt | 3 +- .gitlab-ci/ignore-xcb-window-rgb24.txt | 1 + .gitlab-ci/ignore-xlib-fallback-rgb24.txt | 4 +++ .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt | 4 +++ .gitlab-ci/ignore-xlib-rgb24.txt | 3 -- .gitlab-ci/ignore-xlib-window-rgb24.txt | 2 -- test/pdiff/pdiff.c | 38 +++++++++++++-------- 14 files changed, 72 insertions(+), 26 deletions(-) diff --git a/.gitlab-ci/ignore-image-argb32.txt b/.gitlab-ci/ignore-image-argb32.txt index 84a246f17..c5b96d732 100644 --- a/.gitlab-ci/ignore-image-argb32.txt +++ b/.gitlab-ci/ignore-image-argb32.txt @@ -18,3 +18,4 @@ text-antialias-subpixel-vrgb text-pattern text-rotate text-unhinted-metrics +user-font-mask diff --git a/.gitlab-ci/ignore-image-rgb24.txt b/.gitlab-ci/ignore-image-rgb24.txt index 2ed564551..9017df695 100644 --- a/.gitlab-ci/ignore-image-rgb24.txt +++ b/.gitlab-ci/ignore-image-rgb24.txt @@ -1,13 +1,23 @@ +bug-source-cu clip-text culled-glyphs +dash-zero-length +degenerate-path extended-blend-alpha-mask +fill-and-stroke +fill-missed-stop +finer-grained-fallbacks ft-show-glyphs-positioning ft-text-vertical-layout-type1 ft-text-vertical-layout-type3 +gradient-alpha +gradient-constant-alpha halo-transform +new-sub-path overlapping-glyphs record1414x-select-font-face record1414x-text-transform +rel-path shifted-operator show-glyphs-advance subsurface @@ -20,3 +30,4 @@ text-antialias-subpixel-vrgb text-pattern text-rotate text-unhinted-metrics +user-font-mask diff --git a/.gitlab-ci/ignore-quartz-rgb24.txt b/.gitlab-ci/ignore-quartz-rgb24.txt index d2084bd31..58d226784 100644 --- a/.gitlab-ci/ignore-quartz-rgb24.txt +++ b/.gitlab-ci/ignore-quartz-rgb24.txt @@ -2,17 +2,18 @@ bug-361 bug-431 bug-448 bug-image-compositor +bug-source-cu coverage-rhombus culled-glyphs -extended-blend extended-blend-alpha extended-blend-alpha-mask extended-blend-mask -extended-blend-solid extended-blend-solid-alpha +fill-missed-stop ft-show-glyphs-positioning ft-text-vertical-layout-type1 ft-text-vertical-layout-type3 +gradient-alpha negative-stride-image operator-www radial-gradient @@ -41,6 +42,8 @@ record-replay-extend-reflect record-replay-extend-repeat record-select-font-face record-text-transform +rel-path +set-source shifted-operator simple-edge subsurface diff --git a/.gitlab-ci/ignore-recording-rgb24.txt b/.gitlab-ci/ignore-recording-rgb24.txt index 9ad61875d..39ba6df2e 100644 --- a/.gitlab-ci/ignore-recording-rgb24.txt +++ b/.gitlab-ci/ignore-recording-rgb24.txt @@ -3,12 +3,19 @@ clear-source clip-text coverage-rectangles culled-glyphs +dash-zero-length +degenerate-path extended-blend-alpha-mask +fill-and-stroke +fill-missed-stop finer-grained-fallbacks ft-show-glyphs-positioning ft-text-vertical-layout-type1 ft-text-vertical-layout-type3 +gradient-alpha +gradient-constant-alpha halo-transform +new-sub-path overlapping-glyphs pthread-same-source record1414x-fill-alpha @@ -22,6 +29,7 @@ recording-surface-extend-reflect recording-surface-extend-repeat recording-surface-over recording-surface-source +rel-path scale-offset-similar show-glyphs-advance subsurface diff --git a/.gitlab-ci/ignore-xcb-fallback-rgb24.txt b/.gitlab-ci/ignore-xcb-fallback-rgb24.txt index 902ffa63d..9c4cd185e 100644 --- a/.gitlab-ci/ignore-xcb-fallback-rgb24.txt +++ b/.gitlab-ci/ignore-xcb-fallback-rgb24.txt @@ -1,15 +1,21 @@ clip-text coverage-intersecting-triangles culled-glyphs +dash-zero-length +degenerate-path extended-blend-alpha-mask fallback +fill-missed-stop ft-show-glyphs-positioning ft-text-vertical-layout-type1 ft-text-vertical-layout-type3 halo-transform +new-sub-path overlapping-glyphs record1414x-select-font-face record1414x-text-transform +record-replay-extend-pad +rel-path show-glyphs-advance subsurface subsurface-scale diff --git a/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt b/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt index 1578b7e9a..c2d889e19 100644 --- a/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt +++ b/.gitlab-ci/ignore-xcb-render-0-0-rgb24.txt @@ -8,11 +8,15 @@ clip-stroke-unbounded clip-twice coverage-intersecting-triangles culled-glyphs +dash-zero-length +degenerate-path extended-blend-alpha-mask fallback +fill-missed-stop ft-text-vertical-layout-type1 hatchings mask +new-sub-path operator-source radial-gradient radial-gradient-mask @@ -25,8 +29,10 @@ recording-surface-extend-none recording-surface-over record-neg-extents-bounded record-paint-alpha-solid-clip +record-replay-extend-pad record-replay-extend-reflect record-replay-extend-repeat +rel-path rotated-clip text-antialias-subpixel text-antialias-subpixel-bgr diff --git a/.gitlab-ci/ignore-xcb-rgb24.txt b/.gitlab-ci/ignore-xcb-rgb24.txt index 6baceeb65..cbb1b2d37 100644 --- a/.gitlab-ci/ignore-xcb-rgb24.txt +++ b/.gitlab-ci/ignore-xcb-rgb24.txt @@ -3,7 +3,6 @@ arc-looping-dash bug-51910 bug-84115 bug-image-compositor -bug-source-cu bug-spline caps-05 caps-1 @@ -54,8 +53,6 @@ partial-clip-text-bottom partial-clip-text-left partial-coverage-reference partial-coverage-three-quarter-reference -push-group -push-group-color radial-gradient radial-gradient-mask radial-gradient-mask-source @@ -115,6 +112,7 @@ text-antialias-subpixel-rgb text-antialias-subpixel-vbgr text-antialias-subpixel-vrgb text-glyph-range +text-pattern text-rotate text-transform tighten-bounds diff --git a/.gitlab-ci/ignore-xcb-window&-rgb24.txt b/.gitlab-ci/ignore-xcb-window&-rgb24.txt index 8f6f96d5c..10b9c9c3a 100644 --- a/.gitlab-ci/ignore-xcb-window&-rgb24.txt +++ b/.gitlab-ci/ignore-xcb-window&-rgb24.txt @@ -46,8 +46,6 @@ partial-clip-text-bottom partial-clip-text-left partial-coverage-reference partial-coverage-three-quarter-reference -push-group -push-group-color radial-outer-focus record1414x-fill-alpha record1414x-self-intersecting @@ -102,6 +100,7 @@ text-antialias-subpixel-rgb text-antialias-subpixel-vbgr text-antialias-subpixel-vrgb text-glyph-range +text-pattern text-rotate text-transform tighten-bounds diff --git a/.gitlab-ci/ignore-xcb-window-rgb24.txt b/.gitlab-ci/ignore-xcb-window-rgb24.txt index 8f6f96d5c..26df57963 100644 --- a/.gitlab-ci/ignore-xcb-window-rgb24.txt +++ b/.gitlab-ci/ignore-xcb-window-rgb24.txt @@ -102,6 +102,7 @@ text-antialias-subpixel-rgb text-antialias-subpixel-vbgr text-antialias-subpixel-vrgb text-glyph-range +text-pattern text-rotate text-transform tighten-bounds diff --git a/.gitlab-ci/ignore-xlib-fallback-rgb24.txt b/.gitlab-ci/ignore-xlib-fallback-rgb24.txt index d86d694a1..f4effb215 100644 --- a/.gitlab-ci/ignore-xlib-fallback-rgb24.txt +++ b/.gitlab-ci/ignore-xlib-fallback-rgb24.txt @@ -28,10 +28,12 @@ dash-infinite-loop dash-scale dash-zero-length degenerate-curve-to +degenerate-path degenerate-pen degenerate-rel-curve-to extended-blend-alpha-mask fallback +fill-missed-stop filter-bilinear-extents finer-grained-fallbacks font-matrix-translation @@ -52,6 +54,7 @@ line-width-tolerance long-dashed-lines mask-transformed-image mask-transformed-similar +new-sub-path operator-alpha-alpha over-above-source over-around-source @@ -71,6 +74,7 @@ recording-surface-extend-none recording-surface-over rectilinear-miter-limit reflected-stroke +rel-path select-font-face self-copy shifted-operator diff --git a/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt b/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt index a5f0ec34f..fc31fb370 100644 --- a/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt +++ b/.gitlab-ci/ignore-xlib-render-0-0-rgb24.txt @@ -7,11 +7,14 @@ clip-text coverage-intersecting-triangles culled-glyphs curve-to-as-line-to +dash-zero-length +degenerate-path extended-blend-alpha-mask fallback fill-and-stroke fill-and-stroke-alpha fill-and-stroke-alpha-add +fill-missed-stop finer-grained-fallbacks ft-show-glyphs-positioning ft-text-vertical-layout-type1 @@ -22,6 +25,7 @@ infinite-join large-twin-antialias-mixed leaky-polygon mask +new-sub-path operator-clear operator-source overlapping-glyphs diff --git a/.gitlab-ci/ignore-xlib-rgb24.txt b/.gitlab-ci/ignore-xlib-rgb24.txt index 0a4c9f616..b7b11523b 100644 --- a/.gitlab-ci/ignore-xlib-rgb24.txt +++ b/.gitlab-ci/ignore-xlib-rgb24.txt @@ -4,7 +4,6 @@ bug-51910 bug-84115 bug-extents bug-image-compositor -bug-source-cu bug-spline caps-joins-05 caps-joins-curve @@ -76,8 +75,6 @@ partial-coverage-reference partial-coverage-three-quarter-reference path-stroke-twice pthread-show-text -push-group -push-group-color radial-gradient radial-gradient-mask radial-gradient-mask-source diff --git a/.gitlab-ci/ignore-xlib-window-rgb24.txt b/.gitlab-ci/ignore-xlib-window-rgb24.txt index 814bd7da6..ac83dd920 100644 --- a/.gitlab-ci/ignore-xlib-window-rgb24.txt +++ b/.gitlab-ci/ignore-xlib-window-rgb24.txt @@ -73,8 +73,6 @@ partial-coverage-reference partial-coverage-three-quarter-reference path-stroke-twice pthread-show-text -push-group -push-group-color radial-outer-focus record1414x-fill-alpha record1414x-select-font-face diff --git a/test/pdiff/pdiff.c b/test/pdiff/pdiff.c index 6e05552d6..119369858 100644 --- a/test/pdiff/pdiff.c +++ b/test/pdiff/pdiff.c @@ -17,6 +17,7 @@ #include "config.h" #include "lpyramid.h" +#include #include #include #include @@ -171,18 +172,21 @@ XYZToLAB (float x, float y, float z, float *L, float *A, float *B) } static uint32_t -_get_pixel (const uint32_t *data, int i) +_get_pixel (const uint32_t *data, int i, cairo_format_t format) { - return data[i]; + if (format == CAIRO_FORMAT_ARGB32) + return data[i]; + else + return data[i] | 0xff000000; } static unsigned char -_get_red (const uint32_t *data, int i) +_get_red (const uint32_t *data, int i, cairo_format_t format) { uint32_t pixel; uint8_t alpha; - pixel = _get_pixel (data, i); + pixel = _get_pixel (data, i, format); alpha = (pixel & 0xff000000) >> 24; if (alpha == 0) return 0; @@ -191,12 +195,12 @@ _get_red (const uint32_t *data, int i) } static unsigned char -_get_green (const uint32_t *data, int i) +_get_green (const uint32_t *data, int i, cairo_format_t format) { uint32_t pixel; uint8_t alpha; - pixel = _get_pixel (data, i); + pixel = _get_pixel (data, i, format); alpha = (pixel & 0xff000000) >> 24; if (alpha == 0) return 0; @@ -205,12 +209,12 @@ _get_green (const uint32_t *data, int i) } static unsigned char -_get_blue (const uint32_t *data, int i) +_get_blue (const uint32_t *data, int i, cairo_format_t format) { uint32_t pixel; uint8_t alpha; - pixel = _get_pixel (data, i); + pixel = _get_pixel (data, i, format); alpha = (pixel & 0xff000000) >> 24; if (alpha == 0) return 0; @@ -269,6 +273,7 @@ pdiff_compare (cairo_surface_t *surface_a, float F_freq[MAX_PYR_LEVELS - 2]; float csf_max; const uint32_t *data_a, *data_b; + cairo_format_t format_a, format_b; unsigned int pixels_failed; @@ -277,6 +282,11 @@ pdiff_compare (cairo_surface_t *surface_a, if (w < 3 || h < 3) /* too small for the Laplacian convolution */ return -1; + format_a = cairo_image_surface_get_format (surface_a); + format_b = cairo_image_surface_get_format (surface_b); + assert (format_a == CAIRO_FORMAT_RGB24 || format_a == CAIRO_FORMAT_ARGB32); + assert (format_b == CAIRO_FORMAT_RGB24 || format_b == CAIRO_FORMAT_ARGB32); + aX = xmalloc (dim * sizeof (float)); aY = xmalloc (dim * sizeof (float)); aZ = xmalloc (dim * sizeof (float)); @@ -297,15 +307,15 @@ pdiff_compare (cairo_surface_t *surface_a, for (x = 0; x < w; x++) { float r, g, b, l; i = x + y * w; - r = powf(_get_red (data_a, i) / 255.0f, gamma); - g = powf(_get_green (data_a, i) / 255.0f, gamma); - b = powf(_get_blue (data_a, i) / 255.0f, gamma); + r = powf(_get_red (data_a, i, format_a) / 255.0f, gamma); + g = powf(_get_green (data_a, i, format_a) / 255.0f, gamma); + b = powf(_get_blue (data_a, i, format_a) / 255.0f, gamma); AdobeRGBToXYZ(r,g,b,&aX[i],&aY[i],&aZ[i]); XYZToLAB(aX[i], aY[i], aZ[i], &l, &aA[i], &aB[i]); - r = powf(_get_red (data_b, i) / 255.0f, gamma); - g = powf(_get_green (data_b, i) / 255.0f, gamma); - b = powf(_get_blue (data_b, i) / 255.0f, gamma); + r = powf(_get_red (data_b, i, format_b) / 255.0f, gamma); + g = powf(_get_green (data_b, i, format_b) / 255.0f, gamma); + b = powf(_get_blue (data_b, i, format_b) / 255.0f, gamma); AdobeRGBToXYZ(r,g,b,&bX[i],&bY[i],&bZ[i]); XYZToLAB(bX[i], bY[i], bZ[i], &l, &bA[i], &bB[i]); From 6647511593ce0ab1de3dbd514796e926e232d644 Mon Sep 17 00:00:00 2001 From: Manuel Stoeckl Date: Wed, 25 Aug 2021 21:08:36 -0400 Subject: [PATCH 3/3] 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. --- .gitlab-ci/ignore-image-rgb24.txt | 42 ++++++++ .gitlab-ci/ignore-image16-rgb24.txt | 21 ++++ .gitlab-ci/ignore-pdf-argb32.txt | 28 ----- .gitlab-ci/ignore-pdf-rgb24.txt | 62 +++++------ .gitlab-ci/ignore-quartz-argb32.txt | 1 + .gitlab-ci/ignore-quartz-rgb24.txt | 33 +++++- .gitlab-ci/ignore-recording-rgb24.txt | 42 ++++++++ .gitlab-ci/ignore-script-argb32.txt | 104 ------------------ .gitlab-ci/ignore-svg11-argb32.txt | 11 -- .gitlab-ci/ignore-svg11-rgb24.txt | 65 +++++++++--- .gitlab-ci/ignore-xcb-fallback-rgb24.txt | 45 +++++++- .gitlab-ci/ignore-xcb-render-0-0-rgb24.txt | 51 +++++++-- .gitlab-ci/ignore-xcb-rgb24.txt | 106 +++++++----------- .gitlab-ci/ignore-xcb-window&-rgb24.txt | 100 +++++++---------- .gitlab-ci/ignore-xcb-window-rgb24.txt | 100 +++++++---------- .gitlab-ci/ignore-xlib-fallback-rgb24.txt | 112 ++++++++------------ .gitlab-ci/ignore-xlib-render-0-0-rgb24.txt | 53 +++++++-- .gitlab-ci/ignore-xlib-rgb24.txt | 86 ++++++--------- .gitlab-ci/ignore-xlib-window-rgb24.txt | 83 ++++++--------- test/buffer-diff.c | 43 +++++--- 20 files changed, 600 insertions(+), 588 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 diff --git a/test/buffer-diff.c b/test/buffer-diff.c index 6d2a6bf8a..0796ca42a 100644 --- a/test/buffer-diff.c +++ b/test/buffer-diff.c @@ -25,6 +25,7 @@ #include "config.h" +#include #include #include #ifdef HAVE_UNISTD_H @@ -48,15 +49,14 @@ * result_ret. * * This function should be rewritten to compare all formats supported by - * cairo_format_t instead of taking a mask as a parameter. + * cairo_format_t. */ static void -buffer_diff_core (const unsigned char *_buf_a, int stride_a, - const unsigned char *_buf_b, int stride_b, - unsigned char *_buf_diff, int stride_diff, +buffer_diff_core (const unsigned char *_buf_a, int stride_a, cairo_format_t format_a, + const unsigned char *_buf_b, int stride_b, cairo_format_t format_b, + unsigned char *_buf_diff, int stride_diff, cairo_format_t format_diff, int width, int height, - uint32_t mask, buffer_diff_result_t *result_ret) { const uint32_t *buf_a = (const uint32_t*) _buf_a; @@ -65,6 +65,10 @@ buffer_diff_core (const unsigned char *_buf_a, int stride_a, int x, y; buffer_diff_result_t result = {0, 0}; + assert (format_a == CAIRO_FORMAT_RGB24 || format_a == CAIRO_FORMAT_ARGB32); + assert (format_b == CAIRO_FORMAT_RGB24 || format_b == CAIRO_FORMAT_ARGB32); + assert (format_diff == CAIRO_FORMAT_RGB24 || format_diff == CAIRO_FORMAT_ARGB32); + stride_a /= sizeof (uint32_t); stride_b /= sizeof (uint32_t); stride_diff /= sizeof (uint32_t); @@ -74,24 +78,32 @@ buffer_diff_core (const unsigned char *_buf_a, int stride_a, uint32_t *row = buf_diff + y * stride_diff; for (x = 0; x < width; x++) { + 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) + pixel_a |= 0xff000000; + if (format_b == CAIRO_FORMAT_RGB24) + pixel_b |= 0xff000000; + /* check if the pixels are the same */ - if ((row_a[x] & mask) != (row_b[x] & mask)) { + if (pixel_a != pixel_b) { int channel; uint32_t diff_pixel = 0; /* calculate a difference value for all 4 channels */ for (channel = 0; channel < 4; channel++) { - int value_a = (row_a[x] >> (channel*8)) & 0xff; - int value_b = (row_b[x] >> (channel*8)) & 0xff; + int value_a = (pixel_a >> (channel*8)) & 0xff; + int value_b = (pixel_b >> (channel*8)) & 0xff; unsigned int diff; diff = abs (value_a - value_b); if (diff > result.max_diff) result.max_diff = diff; diff *= 4; /* emphasize */ if (diff) - diff += 128; /* make sure it's visible */ + diff += 128; /* make sure it's visible */ if (diff > 255) - diff = 255; + diff = 255; diff_pixel |= diff << (channel*8); } @@ -141,13 +153,15 @@ compare_surfaces (const cairo_test_context_t *ctx, */ buffer_diff_core (cairo_image_surface_get_data (surface_a), cairo_image_surface_get_stride (surface_a), + cairo_image_surface_get_format (surface_a), cairo_image_surface_get_data (surface_b), cairo_image_surface_get_stride (surface_b), + cairo_image_surface_get_format (surface_b), cairo_image_surface_get_data (surface_diff), cairo_image_surface_get_stride (surface_diff), + cairo_image_surface_get_format (surface_diff), cairo_image_surface_get_width (surface_a), cairo_image_surface_get_height (surface_a), - cairo_surface_get_content (surface_a) & CAIRO_CONTENT_ALPHA ? 0xffffffff : 0x00ffffff, result); if (result->pixels_changed == 0) return; @@ -185,11 +199,10 @@ buffer_diff_noalpha (const unsigned char *buf_a, int stride, buffer_diff_result_t *result) { - buffer_diff_core(buf_a, stride, - buf_b, stride, - buf_diff, stride, + buffer_diff_core(buf_a, stride, CAIRO_FORMAT_RGB24, + buf_b, stride, CAIRO_FORMAT_RGB24, + buf_diff, stride, CAIRO_FORMAT_RGB24, width, height, - 0x00ffffff, result); }