The combination of CSS filters blur & drop-shadow disappear when a new video frame is rendered
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox75 | --- | wontfix |
firefox76 | --- | wontfix |
firefox77 | --- | verified |
firefox78 | --- | unaffected |
People
(Reporter: wessel_kroos, Assigned: gw)
References
(Regression)
Details
(Keywords: regression)
Attachments
(3 files)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
Steps to reproduce:
Go to: https://codepen.io/wesselkroos/pen/KKpGReq
You can see the red squire's drop-shadow flickering when he meets the canvas blur after ~5 animations.
Actual results:
The red square's drop-shadow is not rendered where the blur and the drop-shadow overlap each other when a new video frame is rendered and the drop-shadow filter has already been rendered in a previous animation frame.
There is a similar issue in Chromium. I've reported it here: https://bugs.chromium.org/p/chromium/issues/detail?id=1064390
Expected results:
The red square's css filter drop-shadow should still be overlapping the canvas's css filter blur.
Comment 1•4 years ago
|
||
Bugbug thinks this bug should belong to this component, but please revert this change in case of error.
Reverting automatic component assignment as I don't think this is a media issue. My guess would be that it's related to CSS, or rendering, but will leave it for manual triage as I'm not certain.
![]() |
||
Comment 3•4 years ago
|
||
I can reproduce if WebRender ON.
![]() |
||
Comment 4•4 years ago
|
||
#1 Regression window(drop-shadow flicker over video):
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=7cdfad033225137286badb9ac136c2a9eb1c1e1c&tochange=a1da279eb08b0fcaec352e8f9ffd8d63c0e673d3
#2 Regression window(the #1 flicker seems fixed, but white rectangle appears and disappears):
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=1330041fa8973ac2a56f074a7c1eee9bb1cff151&tochange=93ccc760c4dd69f63d6ac171ace357b0dd31412a
![]() |
||
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Comment 5•4 years ago
|
||
The priority flag is not set for this bug.
:jbonisteel, could you have a look please?
For more information, please visit auto_nag documentation.
Updated•4 years ago
|
Comment 6•4 years ago
|
||
Glenn, are you still looking at this?
Updated•4 years ago
|
Assignee | ||
Comment 7•4 years ago
|
||
I've been focused on the hd4600 work, but yea, I'll take a look at this next week.
Assignee | ||
Comment 8•4 years ago
|
||
Assignee | ||
Comment 9•4 years ago
|
||
The issue is that drop shadow primitives don't correctly inflate their local rectangle for primitive dependency calculations.
I could make a band-aid fix this this that fixes the simple case (where there's just a blur radius, and no offset), but that won't always work correctly in cases where the drop-shadow has an offset (or more than one drop-shadow on a single primitive).
Unfortunately, the code that deals with inflation of blur and drop-shadow primitives is a bit of a mess, which complicates fixing this properly. I'm going to see if I can tidy this up a bit in a way that will fix this and make the code more maintainable / correct for these cases.
Assignee | ||
Comment 10•4 years ago
|
||
Include the inflation factor from all drop-shadow filters when
calculating the overall inflation factor for a surface.
This doesn't fix cases with large offsets, which is a larger amount
of work to fix, but it fixes the common case and the referenced
case in this bug.
Comment 11•4 years ago
|
||
Pushed by gwatson@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f75deee57611 Improve inflation factor calculation for drop-shadows. r=kvark
Comment 12•4 years ago
|
||
Backed out changeset f75deee57611 (Bug 1624988) for wrench bustages CLOSED TREE
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=298910001&repo=autoland&lineNumber=998
Assignee | ||
Comment 13•4 years ago
|
||
I had updated and done a try with a fix for that android fuzziness, but had forgotten to push the updated patch to phabricator. I've done that now, so hopefully it should pass this time.
Comment 14•4 years ago
|
||
Pushed by gwatson@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c4f20b2600e1 Improve inflation factor calculation for drop-shadows. r=kvark
Comment 15•4 years ago
|
||
bugherder |
Updated•4 years ago
|
Comment 16•4 years ago
|
||
I managed to reproduce the issue using an older version of Nightly 76.0a1 on Windows 10 x64.
I retested using Nightly 77.0a1 and latest Nightly 78.0a1 on Windows 10 x64. The issue is not reproducing anymore.
Reporter | ||
Comment 17•4 years ago
|
||
Thanks for the fix Glenn! I've verified the fix in Nightly 78 as well.
Description
•