Closed Bug 1541078 Opened 5 years ago Closed 5 years ago

Chrome ui rendering sometimes broken during MotionMark test with document splitting

Categories

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

defect

Tracking

()

RESOLVED FIXED
mozilla68
Tracking Status
firefox68 --- fixed

People

(Reporter: sotaro, Assigned: alexical)

References

Details

Attachments

(4 files)

Created based on Bug 1441308 Comment 84.

I tested MotionMark with pref gfx.webrender.all:true and gfx.webrender.split-render-roots:true. Rendering was sometimes broken.

Blocks: wr-68
Priority: -- → P2

This happens after GpuCache::clear. We should be able to just set a flag when that's called and check it where we check resource_cache.requires_frame_build() (in RenderBackend).

Debian Testing, KDE, X11, Macbook Pro
Sometimes, for about 1-3 seconds, either chrome or content area are transparent and reveal what's behind Nightly's window.
I hope this bug could fix that too.

If we run a GpuCache clear and do not update all documents, we run into
situations where the stale documents try to access things in the gpu
cache and just show random garbage. The solution is similar to what we
do for TextureCache, so I am just duplicating those signatures and providing
helpers in RenderBackend to access both together.

These aren't great names - I couldn't come up with better though.
We lose the symmetry of before/after but this clarifies a little
bit what they are doing.

Depends on D29860

There's two ways we could get around this. We could add a path
around the prepared_for_frames assertion in GpuCache::end_frame,
or we can do this, and leave the TODO explicit with the
assertion. I took the latter approach because we can clear
the GpuCache / TextureCache through other routes than frame
building anyway, so we could hit this failure path before
any of the patches in this bug landed.

Depends on D29877

Attachment #9062586 - Attachment description: Bug 1541078 - Add pre/post frames hooks into save_capture r?kvark → Bug 1541078 - Add pre/post frames hooks into save_capture r?kvark
Pushed by dothayer@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/683736527e1e
Require frame builds for all docs after GpuCache clear r=kvark
https://hg.mozilla.org/integration/autoland/rev/d4a4c9ad62fd
Rename before/after_frames r=kvark
https://hg.mozilla.org/integration/autoland/rev/f53e8b390527
Add pre/post frames hooks into save_capture r=kvark
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Assignee: nobody → dothayer
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: