Closed Bug 1618000 Opened 5 years ago Closed 5 years ago

Max blur radius should be applied after scale factors are applied

Categories

(Core :: Graphics: WebRender, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla76
Tracking Status
firefox76 --- fixed

People

(Reporter: cbrewster, Assigned: cbrewster)

References

Details

Attachments

(6 files)

Attached file testcase.html

We currently apply the max blur radius to blur/drop-shadow filters before applying scale factors.

The non-WR path appears to apply the max blur radius afterwards. Additionally this will prevent the blur radius from exceeding the maximum blur amount regardless of the scale factors.

Attached image testcase-wr
Attached image testcase-non-wr
Priority: -- → P3

Connor, are you going to try to fix this?

Flags: needinfo?(connorbrewster)

Sure! I think the fix should be somewhat straight-forward.

Assignee: nobody → connorbrewster
Flags: needinfo?(connorbrewster)

Clamping of the blur radius depends on transform scale factors. This info is not available until later in the WebRender pipeline, so we need to delegate blur radius clamping to WebRender.

Hi Connor, do you know if it's a recent regression? Just wondering if this should be uplifted to Beta 75 :)

Flags: needinfo?(connorbrewster)

This is not really a regression, as it was never handled correctly. However, this became a bigger issue after Bug 1499113, as it allows you to create a scenario where you can bypass the max blur radius by using a scale transform. (I was able to crash FF by using a very large scale amount)

Flags: needinfo?(connorbrewster)
Pushed by ccoroiu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e720691ccf17 Part 1: Remove blur radius clamping on Gecko-side for WR blur filters r=gfx-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/a561435c24cf Part 2: Clamp blur radius based on scale factors r=gfx-reviewers,nical
Backout by shindli@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9c027d62be50 Backed out 2 changesets for causing reftest failures in feGaussianBlur-5-ref.svg CLOSED TREE
Flags: needinfo?(connorbrewster)
Pushed by apavel@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9bc71e7b317b Part 1: Remove blur radius clamping on Gecko-side for WR blur filters r=gfx-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/c72b18b22267 Part 2: Clamp blur radius based on scale factors r=gfx-reviewers,nical
Flags: needinfo?(connorbrewster)
Pushed by ccoroiu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/077c46d3381c Part 1: Remove blur radius clamping on Gecko-side for WR blur filters r=gfx-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/3feaf53352b8 Part 2: Clamp blur radius based on scale factors r=gfx-reviewers,nical
Pushed by tnikkel@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/171275c408d1 Part 3: Remove accidental dbg macro r=tnikkel
Regressions: 1625117
QA Whiteboard: [qa-76b-p2]
Regressions: 1641142
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: