Closed Bug 1486557 Opened 6 years ago Closed 6 years ago

Try to simplify the clipping setup to take advantage of stacking-context clipping support in WebRender

Categories

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

enhancement

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: emilio, Assigned: emilio)

References

Details

This would be a followup to bug 1459065. There's tons of discussion there and in the related WR about what should happen here. Ideally we could significantly cleanup the clipping code, given Gecko does most the heavy-lifting already to know whether we can clip the stacking context entirely or not, and we could try to simplify some of the ClipManager code. Right now mask and filter always define a clip with the whole bounds, with the whole purpose of grabbing the topmost clip of the stack in: https://searchfox.org/mozilla-central/rev/e126996d9b0a3d7653de205898517f4f5b632e7f/layout/painting/nsDisplayList.cpp#9434 https://searchfox.org/mozilla-central/rev/e126996d9b0a3d7653de205898517f4f5b632e7f/gfx/webrender_api/src/display_list.rs#1478 Looks like fixing that to avoid defining the extra clips should be straight-forward, hopefully. Then once those clip definitions are out we could try to get rid of the OverrideForASR stuff, removing the code that propagates the stacking context clips to children. I need to dig more in the ClipManager code for that though.
If you haven't seen bug 1485420, it's worth keeping in mind.
See Also: → 1485420
(In reply to Jeff Muizelaar [:jrmuizel] from comment #1) > If you haven't seen bug 1485420, it's worth keeping in mind. Yup, I _think_ it's mostly independent to it, but I'll double-check, thanks!
Flags: needinfo?(emilio)
Priority: -- → P2
Blocks: stage-wr-next
No longer blocks: stage-wr-trains
I don't think this is needed for our MVP, leaving with emilio
I agree.
Flags: needinfo?(emilio)

Let's call this WFM after the clipping rewrite.

Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.