Closed Bug 1946361 Opened 6 months ago Closed 6 months ago

Render missing stacking context snapshots as a transparent image

Categories

(Core :: Graphics: WebRender, task, P3)

task

Tracking

()

RESOLVED FIXED
137 Branch
Tracking Status
firefox137 --- fixed

People

(Reporter: nical, Assigned: nical)

References

Details

(Whiteboard: [viewtransitions:m1:gfx])

Attachments

(2 files)

There is a long tail of tricky cases where webrender fails to produce a stacking context snapshot. All of the known cases involve WebRender culling the snapshot more aggressively than it should. Typically it involves cases where the sacking context cannot be projected to the screen at the time of snapshotting (but ideally a snapshot should be produced in case the transition changes the transform in a way that makes the snapshot visible and renderable), or simply an empty stacking context (in which case producing a transparent image is the correct thing to do).

It would be best to handle each case specifically, but as we discover and go through new ones, the most graceful way to handle running into these cases is to fall back to rendering a transparent image. This may add transparency fade-in or fade-out transition to the animation that was not intended by the author in some cases, but it is better than crashing or canceling the transition.

A followup patch will add debug prefs to panic or use pink instead of transparent
for the fallback image.

Pushed by nsilva@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7a4f645b7b18 Fallback to a transparent image for missing snapshots. r=gw https://hg.mozilla.org/integration/autoland/rev/2170cebcbf0a Add debug prefs for missing snapshots. r=gw
Status: ASSIGNED → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED
Target Milestone: --- → 137 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: