commit e95d105ba8f05d5d7b9c7fd1b6656f6b97a35cf6 parent df1aa20bf35eba413119b3a067626c8e9e948c1f Author: Nicolas Silva <nical@fastmail.com> Date: Tue, 16 Dec 2025 16:09:33 +0000 Bug 1978773 - Enable precise linear gradients when using SWGL. r=gfx-reviewers,lsalzman Differential Revision: https://phabricator.services.mozilla.com/D268101 Diffstat:
7 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/gfx/wr/wrench/src/wrench.rs b/gfx/wr/wrench/src/wrench.rs @@ -282,6 +282,7 @@ impl Wrench { enable_debugger: true, precise_radial_gradients: true, precise_conic_gradients: true, + precise_linear_gradients: window.is_software(), ..Default::default() }; diff --git a/layout/reftests/css-gradients/reftest.list b/layout/reftests/css-gradients/reftest.list @@ -84,7 +84,7 @@ fuzzy(0-8,0-20000) == aja-linear-3a.html aja-linear-3-ref.html fuzzy(0-8,0-20000) == aja-linear-3b.html aja-linear-3-ref.html fuzzy(0-8,0-20000) == aja-linear-4a.html aja-linear-4-ref.html fuzzy(0-8,0-20000) == aja-linear-4b.html aja-linear-4-ref.html -fuzzy(0-8,0-20000) fuzzy-if(winWidget,1-5,5600-20000) == aja-linear-5a.html aja-linear-5-ref.html +fuzzy(0-8,0-20000) fuzzy-if(winWidget,0-5,5600-20000) == aja-linear-5a.html aja-linear-5-ref.html fuzzy-if(Android,0-6,0-10576) == height-dependence-1.html height-dependence-1-ref.html fuzzy-if(cocoaWidget,0-1,0-40000) fuzzy-if(Android,0-6,0-10576) == height-dependence-2.html height-dependence-2-ref.html fuzzy-if(Android,0-6,0-10576) == height-dependence-3.html height-dependence-3-ref.html diff --git a/layout/reftests/transform/reftest.list b/layout/reftests/transform/reftest.list @@ -137,7 +137,7 @@ fuzzy(0-2,0-5) == stresstest-1.html stresstest-1-ref.html == transform-origin-svg-2a.svg transform-origin-svg-2-ref.svg == transform-origin-svg-2b.svg transform-origin-svg-2-ref.svg # Bug 1122526 -== animate-layer-scale-inherit-1.html animate-layer-scale-inherit-1-ref.html +fuzzy(0-1,0-10) == animate-layer-scale-inherit-1.html animate-layer-scale-inherit-1-ref.html fuzzy(0-145,0-10000) == animate-layer-scale-inherit-2.html animate-layer-scale-inherit-2-ref.html == animate-layer-scale-inherit-3.html animate-layer-scale-inherit-1-ref.html # Bug 1301500 @@ -149,7 +149,7 @@ fails == translate-rounding-3.html translate-rounding-viewport-ref.html # bug 13 == invalidate-transform-1.html invalidate-transform-1-ref.html == invalidate-svg-scale-1.html invalidate-svg-scale-1-ref.html # Bug 1526847 -== animate-layer-scale-inherit-4.html animate-layer-scale-inherit-4-ref.html +fuzzy(0-1,0-10) == animate-layer-scale-inherit-4.html animate-layer-scale-inherit-4-ref.html fuzzy(0-128,0-1000) == 1569215-1.html 1569215-1-ref.html == transform-anon-block-1.html transform-anon-block-1-ref.html diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml @@ -8142,7 +8142,7 @@ - name: gfx.webrender.precise-linear-gradients-swgl type: bool rust: true - value: false + value: true mirror: once # Use a more precise method for sampling gradients when *not* using SWGL . diff --git a/testing/web-platform/meta/css/css-images/tiled-gradients.html.ini b/testing/web-platform/meta/css/css-images/tiled-gradients.html.ini @@ -0,0 +1,7 @@ +[tiled-gradients.html] + expected: + # The test and reference currently use two different shaders + # that round the position of the hard stop differently in this + # test case. This will be fixed when repeated gradients use + # the new code path. + if swgl: [FAIL] diff --git a/testing/web-platform/meta/css/css-tables/tentative/paint/background-image-column.html.ini b/testing/web-platform/meta/css/css-tables/tentative/paint/background-image-column.html.ini @@ -1,2 +1,2 @@ [background-image-column.html] - fuzzy: maxDifference=0-1;totalPixels=0-183 + fuzzy: maxDifference=0-68;totalPixels=0-183 diff --git a/testing/web-platform/meta/css/css-tables/tentative/paint/background-image-row-collapsed.html.ini b/testing/web-platform/meta/css/css-tables/tentative/paint/background-image-row-collapsed.html.ini @@ -1,2 +1,2 @@ [background-image-row-collapsed.html] - fuzzy: maxDifference=0-1;totalPixels=0-216 + fuzzy: maxDifference=0-40;totalPixels=0-216