Closed Bug 1497910 Opened 2 years ago Closed 2 years ago

Firefox flickers white while starting

Categories

(Core :: Graphics: WebRender, defect, P2)

64 Branch
defect

Tracking

()

RESOLVED FIXED
mozilla64
Tracking Status
firefox64 --- fixed

People

(Reporter: jrmuizel, Assigned: sotaro, NeedInfo)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 4 obsolete files)

During startup the Firefox window will be white then it draws something then goes all white before finally drawing again. I've been seeing this for a while.
Sotaro or Matt have you seen this?
Flags: needinfo?(matt.woodrow)
Flags: needinfo?(sotaro.ikeda.g)
I saw it this week, but I could not reproduce it with latest nightly today.
Flags: needinfo?(sotaro.ikeda.g)
I think this might only happen on the first load after updating. Perhaps shader cache related?
Yea, I confirmed it during first load after updating. But it is not clear if shader cache is related. Just reset shader disk cache and restart Firefox did not cause the problem.
Priority: -- → P2
Ah, it seems like to related to gfx/SanityTest.js. I confirmed the problem on P50(Win10) with the following STR.

[STR]
[1] Enable WebRender by setting pref gfx.webrender.all;true.
[2] Reset pref sanity-test.advanced-layers.
[3] Restart firefox
Assignee: nobody → sotaro.ikeda.g
(In reply to Sotaro Ikeda [:sotaro] from comment #5)
> Ah, it seems like to related to gfx/SanityTest.js. I confirmed the problem
> on P50(Win10) with the following STR.
> 
> [STR]
> [1] Enable WebRender by setting pref gfx.webrender.all;true.
> [2] Reset pref sanity-test.advanced-layers.
> [3] Restart firefox

We also enable WebRender profiler ui. Somehow Bug 1436020 does not work anymore now.
WebRenderBridgeParent::RecvGetSnapshot() seemed to readback obsoleted data. RendererOGL::UpdateAndRender() disables debug flags during readback, but readback data had wr profile ui.
It seems that wr_renderer_readback() needs to be called before calling RenderCompositorANGLE::EndFrame() during readback.
Depends on: 1499002
With attachment 9017379 [details] [diff] [review] and enabled dump of gfxUtils::WriteAsPNG(snapshot, filename)  in WebRenderLayerManager::MakeSnapshotIfRequired(), I did not saw profiler ui in the snapshot.

 https://dxr.mozilla.org/mozilla-central/source/gfx/layers/wr/WebRenderLayerManager.cpp#436
Attachment #9017379 - Flags: review?(nical.bugzilla)
Attachment #9017379 - Flags: review?(nical.bugzilla) → review+
Pushed by sikeda@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/52a35a1526e7
Call wr_renderer_readback() before calling RenderCompositor::EndFrame() r=nical
https://hg.mozilla.org/mozilla-central/rev/52a35a1526e7
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
You need to log in before you can comment on or make changes to this bug.