From abfef73a2b79a0810d939decb77ed852a52a4682 Mon Sep 17 00:00:00 2001 From: Narcis Beleuzu Date: Wed, 27 Nov 2019 01:38:33 +0200 Subject: [PATCH] Backed out 4 changesets (bug 1596086) for reftest failures on reftest.list . CLOSED TREE Backed out changeset 651a7556124b (bug 1596086) Backed out changeset ab2e0e2a9048 (bug 1596086) Backed out changeset 00ccdb940ea2 (bug 1596086) Backed out changeset 57869dbf0a8b (bug 1596086) --- gfx/wr/webrender/src/prim_store/gradient.rs | 19 ++++++++++-------- .../gradient/linear-hard-stop-ref.png | Bin 4020 -> 0 bytes .../reftests/gradient/linear-hard-stop.yaml | 8 -------- gfx/wr/wrench/reftests/gradient/reftest.list | 2 -- layout/reftests/css-gradients/reftest.list | 3 ++- ...round-image-none-gradient-repaint.html.ini | 3 +++ .../css/css-values/angle-units-001.html.ini | 3 +++ .../css/css-values/angle-units-002.html.ini | 3 +++ .../css/css-values/angle-units-003.html.ini | 3 +++ .../css/css-values/angle-units-005.html.ini | 3 +++ 10 files changed, 28 insertions(+), 19 deletions(-) delete mode 100644 gfx/wr/wrench/reftests/gradient/linear-hard-stop-ref.png delete mode 100644 gfx/wr/wrench/reftests/gradient/linear-hard-stop.yaml create mode 100644 testing/web-platform/meta/css/css-backgrounds/background-image-none-gradient-repaint.html.ini create mode 100644 testing/web-platform/meta/css/css-values/angle-units-001.html.ini create mode 100644 testing/web-platform/meta/css/css-values/angle-units-002.html.ini create mode 100644 testing/web-platform/meta/css/css-values/angle-units-003.html.ini create mode 100644 testing/web-platform/meta/css/css-values/angle-units-005.html.ini diff --git a/gfx/wr/webrender/src/prim_store/gradient.rs b/gfx/wr/webrender/src/prim_store/gradient.rs index faf66e5dab3e..7249ef2e20f9 100644 --- a/gfx/wr/webrender/src/prim_store/gradient.rs +++ b/gfx/wr/webrender/src/prim_store/gradient.rs @@ -166,22 +166,25 @@ impl From for LinearGradientTemplate { // Fast path not supported on segmented (border-image) gradients. item.nine_patch.is_none(); - let mut prev_offset = None; // Convert the stops to more convenient representation // for the current gradient builder. + let mut prev_color = None; + let stops: Vec = item.stops.iter().map(|stop| { let color: ColorF = stop.color.into(); min_alpha = min_alpha.min(color.a); - // The fast path doesn't support hard color stops, yet. - // Since the length of the gradient is a fixed size (512 device pixels), if there - // is a hard stop you will see bilinear interpolation with this method, instead - // of an abrupt color change. - if prev_offset == Some(stop.offset) { - supports_caching = false; + if let Some(prev_color) = prev_color { + // The fast path doesn't support hard color stops, yet. + // Since the length of the gradient is a fixed size (512 device pixels), if there + // is a hard stop you will see bilinear interpolation with this method, instead + // of an abrupt color change. + if prev_color == color { + supports_caching = false; + } } - prev_offset = Some(stop.offset); + prev_color = Some(color); GradientStop { offset: stop.offset, diff --git a/gfx/wr/wrench/reftests/gradient/linear-hard-stop-ref.png b/gfx/wr/wrench/reftests/gradient/linear-hard-stop-ref.png deleted file mode 100644 index 6eb62e79d71af3ff416b2fc63a3174c38fa5af20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4020 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 diff --git a/gfx/wr/wrench/reftests/gradient/linear-hard-stop.yaml b/gfx/wr/wrench/reftests/gradient/linear-hard-stop.yaml deleted file mode 100644 index b9249e7f2af4..000000000000 --- a/gfx/wr/wrench/reftests/gradient/linear-hard-stop.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -root: - items: - - type: gradient - bounds: 50 50 200 200 - start: 0 0 - end: 0 100 - stops: [0.0, blue, 0.5 , red, 0.5, green] diff --git a/gfx/wr/wrench/reftests/gradient/reftest.list b/gfx/wr/wrench/reftests/gradient/reftest.list index f62836b2b294..1c4f6caeba4e 100644 --- a/gfx/wr/wrench/reftests/gradient/reftest.list +++ b/gfx/wr/wrench/reftests/gradient/reftest.list @@ -14,8 +14,6 @@ platform(linux,mac) fuzzy(1,35000) == linear-stops.yaml linear-stops-ref.png == linear-clamp-1b.yaml linear-clamp-1-ref.yaml == linear-clamp-2.yaml linear-clamp-2-ref.yaml -== linear-hard-stop.yaml linear-hard-stop-ref.png - # dithering requires us to fuzz here fuzzy(1,20000) == linear.yaml linear-ref.yaml fuzzy(1,20000) == linear-reverse.yaml linear-ref.yaml diff --git a/layout/reftests/css-gradients/reftest.list b/layout/reftests/css-gradients/reftest.list index bfbf9b4e266f..f14c865d6a0d 100644 --- a/layout/reftests/css-gradients/reftest.list +++ b/layout/reftests/css-gradients/reftest.list @@ -4,7 +4,8 @@ fuzzy-if(!contentSameGfxBackendAsCanvas,0-2,0-88500) fuzzy-if(azureSkiaGL,0-2,0- == linear-diagonal-2a.html linear-diagonal-2-ref.html == linear-diagonal-3a.html linear-diagonal-3-ref.html == linear-diagonal-4a.html linear-diagonal-4-ref.html -fuzzy-if(webrender, 0-1, 23000-43000) == linear-premul.html linear-premul-ref.html +== linear-premul.html linear-premul-ref.html + fuzzy(0-1,0-800000) == linear-flipped-1.html linear-flipped-1-ref.html == linear-position-1a.html linear-position-1-ref.html == linear-repeat-1a.html linear-repeat-1-ref.html diff --git a/testing/web-platform/meta/css/css-backgrounds/background-image-none-gradient-repaint.html.ini b/testing/web-platform/meta/css/css-backgrounds/background-image-none-gradient-repaint.html.ini new file mode 100644 index 000000000000..d2e96f2d3f6a --- /dev/null +++ b/testing/web-platform/meta/css/css-backgrounds/background-image-none-gradient-repaint.html.ini @@ -0,0 +1,3 @@ +[background-image-none-gradient-repaint.html] + expected: + if webrender and (os == "win"): FAIL diff --git a/testing/web-platform/meta/css/css-values/angle-units-001.html.ini b/testing/web-platform/meta/css/css-values/angle-units-001.html.ini new file mode 100644 index 000000000000..c3d629fe84e1 --- /dev/null +++ b/testing/web-platform/meta/css/css-values/angle-units-001.html.ini @@ -0,0 +1,3 @@ +[angle-units-001.html] + expected: + if (os == "win") and webrender: FAIL diff --git a/testing/web-platform/meta/css/css-values/angle-units-002.html.ini b/testing/web-platform/meta/css/css-values/angle-units-002.html.ini new file mode 100644 index 000000000000..82661101eb8f --- /dev/null +++ b/testing/web-platform/meta/css/css-values/angle-units-002.html.ini @@ -0,0 +1,3 @@ +[angle-units-002.html] + expected: + if (os == "win") and webrender: FAIL diff --git a/testing/web-platform/meta/css/css-values/angle-units-003.html.ini b/testing/web-platform/meta/css/css-values/angle-units-003.html.ini new file mode 100644 index 000000000000..e108fb429d3e --- /dev/null +++ b/testing/web-platform/meta/css/css-values/angle-units-003.html.ini @@ -0,0 +1,3 @@ +[angle-units-003.html] + expected: + if (os == "win") and webrender: FAIL diff --git a/testing/web-platform/meta/css/css-values/angle-units-005.html.ini b/testing/web-platform/meta/css/css-values/angle-units-005.html.ini new file mode 100644 index 000000000000..1cc6ef2b0caf --- /dev/null +++ b/testing/web-platform/meta/css/css-values/angle-units-005.html.ini @@ -0,0 +1,3 @@ +[angle-units-005.html] + expected: + if (os == "win") and webrender: FAIL