Closed Bug 1696439 Opened 3 years ago Closed 3 years ago

Radial gradient demo renders incorrectly with sw-wr

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

VERIFIED FIXED
88 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox86 --- unaffected
firefox87 --- disabled
firefox88 --- verified

People

(Reporter: mayankleoboy1, Assigned: lsalzman)

References

(Blocks 1 open bug, Regression, )

Details

(Keywords: regression)

Attachments

(4 files)

  1. Enable sw-wr
  2. Go to https://cssgradient.io/
  3. Scroll around the middle, till you see "radial gradient css" in the right
    OR search for "radial gradient css"
  4. Hover mouse over the demo

AR: renders incorrectly
ER: not so

Attached image bug.png

sw-wr on left. Hw-WR on right

Summary: Radial gradient demo renders incorrectly → Radial gradient demo renders incorrectly with sw-wr

2021-03-04T22:32:47.533000: DEBUG : Found commit message:
Bug 1682194 - Accelerate cs_clip_rectangle in SWGL. r=jrmuizel

cs_clip_rectangle is slow because we evaluate distance AA for every fragment
the shader touches. With SWGL, we can do much better since we have control
over span. We calculate an inner opaque octagon which can just use a cheap
solid fill and an outer AA octagon within which we need to actually we do
AA and outside which we can just do another solid clear. This reduces most
of the cost of rounded-rectangles to just some setup work, a few fragments
of distance AA on the ends of a span, and large runs of solid color where
we don't have to do much work.

Differential Revision: https://phabricator.services.mozilla.com/D106658

2021-03-04T22:32:47.533000: DEBUG : Did not find a branch, checking all integration branches
2021-03-04T22:32:47.533000: INFO : The bisection is done.
2021-03-04T22:32:47.533000: INFO : Stopped

Has STR: --- → yes
Regressed by: sw-wr-perf-clip-rect
Has Regression Range: --- → yes
Flags: needinfo?(lsalzman)

Set release status flags based on info from the regressing bug 1682194

sw-wr is off in late beta

Attached file Reduced testcase

This is a reduced testcase that seems to reproduce the issue. There seems to be an interaction here between border-radius and transforms that is necessary to cause the issue.

Flags: needinfo?(lsalzman)

This fixes a bug wherein we were calculating the distance to the corner apex incorrectly
which could result in it being clipped in the presence of transforms that cause the step
scale to not be axis-aligned.

Assignee: nobody → lsalzman
Status: NEW → ASSIGNED
Pushed by lsalzman@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fade9b09b56a
Fix corner apex distance calculation in cs_clip_rectangle. r=jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch

this is fixed in the latest nightly

Flags: qe-verify+

Reproduced the issue using Firefox 89.0a1 (20210304215542) and sw-wr with the attached test case and the provided link.
The issue is verified fixes with Firefox 88.0b7 (20210404185932) on Windows 10x64, macOS 10.12 and Ubuntu 20.04. The test case and the website from comment 0 are properly displayed with gfx.webrender.software:true

Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: