WebRender + OS compositor: Fixed backgrounds are painting into irregularly-sized OS surfaces
Categories
(Core :: Graphics: WebRender, defect)
Tracking
()
People
(Reporter: mstange, Unassigned)
Details
Attachments
(1 file)
(deleted),
text/html
|
Details |
The attached testcase paints the gradient into an OS surface with the size 3360x1916 in my current Firefox window. I thought we only ever created OS surfaces with fixed tile sizes. Do we have dynamically-sized OS surfaces as well?
Reporter | ||
Comment 1•5 years ago
|
||
There's also 2x OS surface overdraw in that testcase. I'm not sure if there's a transparent slice in front of the gradient, or whether the gradient is the transparent slice.
Reporter | ||
Comment 2•5 years ago
|
||
I filed bug 1598728 on the general painting slowness in this testcase. So we can keep this bug about the OS compositor aspects.
Comment 3•5 years ago
|
||
For content rendering, OS surfaces should only ever be created with fixed tile sizes.
The only time we should ever create a full screen size OS surface is if the debug overlay is enabled. Is it possible that's what you're seeing in this case? (which would also explain the 2x surface overdraw if you're including the debug overlay).
Any debug markers (even just the new-scene indicator) will trigger the allocation of a framebuffer sized debug overlay surface, right now.
That seems the most likely explanation, although I can try to repro locally if you are seeing this without any debug overlays enabled? It's also possible there is a bug with how WR handles creation / destruction of the debug overlay surface.
Reporter | ||
Comment 4•5 years ago
|
||
You're right, I was misinterpreting what I was seeing. The layer of that size must have been the profiler overlay.
Reporter | ||
Comment 5•5 years ago
|
||
However, I think the overdraw is because the gradient is considered transparent. I'll file a new bug about that. If I remove background-attachment:fixed, then I see both Solid and Gradient drawing in the profiler GPU frames overlay, interleaved for the tiles.
Reporter | ||
Comment 6•5 years ago
|
||
I filed bug 1598972 about it.
Description
•