Glitches on https://codepen.io/leimapapa/pen/GRydXLw with backdrop-filter enabled (Part2)
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
People
(Reporter: mayankleoboy1, Assigned: gw)
References
Details
Attachments
(3 files)
enable backdrop filter
go to https://codepen.io/leimapapa/pen/GRydXLw
Scroll
AR:
Glitch1: The text doesnt really get "blurred".. it sort of gets slightly fuzzy around the edges.
Glitch2: Horizontal glitches on the screen. For a more extreme example, go to https://www.klfy.com/ (bug 1765862)
ER: Not so
Reporter | ||
Comment 1•3 years ago
|
||
Reporter | ||
Updated•3 years ago
|
Reporter | ||
Comment 2•3 years ago
|
||
Reporter | ||
Comment 3•3 years ago
|
||
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 4•3 years ago
|
||
The glitches on https://www.klfy.com/ are resolved by the pending patch in https://phabricator.services.mozilla.com/D145526.
The glitches on https://codepen.io/leimapapa/pen/GRydXLw appear to be related to how scene building splits the root scene in to picture cache slices. It's a bit clearer what's going on if the filter is set to invert(1)
. Opening dev tools creates enough slices that the scene configuration changes and it all works and looks correct. Still investigating what's wrong with the slice setup when devtools isn't open. It's probably either a bug in how gecko creates and specifies backdrop roots, or a bug in how WR scene building slices up the scene by scroll root.
Assignee | ||
Comment 5•3 years ago
|
||
The issue here is that the child iframe in the sample doesn't have any background color - it relies on the background color of the parent iframe element do draw correctly. At the moment, gecko display list code creates a backdrop root for each iframe element (at least, I assume this is what's happening). Adding body { background: white; }
to the test case makes the test case look the same between Gecko and other browsers.
Updated•3 years ago
|
Assignee | ||
Comment 6•3 years ago
|
||
The 3 patches above fix the main rendering issue in this bug.
However, there is one more glitch that can be seen when scrolling - some (sub) tiles don't invalidate correctly leaving traces of blurry pixels at the edges of tiles in some cases. I know what the issue is here (the update_prim_dependencies
doesn't traverse the filter sub-graph stack), but I need to ponder for a bit the best way to handle this.
Assignee | ||
Updated•3 years ago
|
Description
•