Black flash software webrender (d3d11 compositor) on Windows 10
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox88 | --- | fixed |
People
(Reporter: jrmuizel, Assigned: sotaro)
References
(Blocks 2 open bugs)
Details
Attachments
(2 files)
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
text/x-phabricator-request
|
Details |
With software webrender enabled I get a black flash in-between the skeleton UI showing up and the real UI showing up.
Reporter | ||
Updated•4 years ago
|
Comment 1•4 years ago
|
||
Bugbug thinks this bug should belong to this component, but please revert this change in case of error.
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Reporter | ||
Comment 2•4 years ago
|
||
This happens without the skeleton UI. The skeleton UI just makes it more noticeable.
Reporter | ||
Comment 3•4 years ago
|
||
To summarize:
HW-WR: no flash
SW-WR-d3d11: black flash
d3d11: no flash
SW-WR: no flash
Sotaro or Matt any guesses as to the cause here?
Assignee | ||
Comment 4•4 years ago
|
||
With the patch, Firefox had red flash. From it, no rendering seems to cause the black flash.
Comment 5•4 years ago
|
||
Is this because RenderCompositorLayersSWGL calls BeginFrameForWindow, which includes a clear?
RenderCompositorSWGL only clears the buffer from StartCompositing/AllocateMappedBuffer.
If there's a frame where gecko calls RenderCompositor::BeginFrame, but WR doesn't call RenderCompositor::StartCompositor, then we'd clear but not draw any surfaces.
Updated•4 years ago
|
Comment 6•4 years ago
|
||
Possibly related to this - Bug 1697310 - about:support fails to render properly with software fallback
Assignee | ||
Comment 7•4 years ago
|
||
(In reply to Matt Woodrow (:mattwoodrow) from comment #5)
If there's a frame where gecko calls RenderCompositor::BeginFrame, but WR doesn't call RenderCompositor::StartCompositor, then we'd clear but not draw any surfaces.
I confirmed that it happened.
Assignee | ||
Updated•4 years ago
|
Comment 8•4 years ago
|
||
This seems like maybe a similar problem to bug 1696025 where we realized wr_renderer_update can result in composite_native->start_compositing->StartCompositing being called when not inside the scope of BeginFrame/EndFrame. Not quite the same, but in the same family of bugs maybe.
Updated•4 years ago
|
Updated•4 years ago
|
Assignee | ||
Comment 9•4 years ago
|
||
Updated•4 years ago
|
Comment 10•4 years ago
|
||
Comment 11•4 years ago
|
||
bugherder |
Description
•