nsWindow::OnExposeEvent() does not trigger WR rendering
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox77 | --- | fixed |
People
(Reporter: sotaro, Assigned: sotaro)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
In nsWindow::OnExposeEvent(), there is a code to trigger schedule composite. But there was a case that scheduling composite was actually not triggered. Then WR rendering did not happen.
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 1•6 years ago
•
|
||
GetLayerManager()->SetNeedsComposite(true) set NeedsComposite flag, but it was cleared during listener->WillPaintWindow(this). It triggered LayerManager transaction. Then GetLayerManager()->ScheduleComposite() was not called.
Recent WebRender does not do composite if there is no update. Then Firefox window was not updated with expose event. Therefore we need to force WR rendering.
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 2•6 years ago
|
||
Related code was originally added by Bug 926618.
Assignee | ||
Comment 3•6 years ago
|
||
I saw the problem when GPU process existed. But in this case, even when WR rendering happened, Firefox window was still not updated. When I added gdk_window_invalidate_rect(mGdkWindow, nullptr, FALSE) call, the problem did not happen. It seems that there is another problem.
Comment 4•6 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•6 years ago
|
Assignee | ||
Comment 5•5 years ago
|
||
Updated•5 years ago
|
Comment 7•5 years ago
|
||
Behavior change: I have confirmed that with build from comment 6 I am able to fix bug 1502519 by opening and closing another application to unfocus and focus the affected "About Nightly" window. bug 1502519 happens with and without gpu process.
Comment 8•5 years ago
|
||
bugherder |
Description
•