Closed Bug 1491590 Opened 1 year ago Closed 1 year ago

Clip not set properly for nsDisplayMask items

Categories

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

63 Branch
enhancement

Tracking

()

RESOLVED FIXED
mozilla64
Tracking Status
firefox64 --- fixed

People

(Reporter: jrmuizel, Assigned: jrmuizel)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

We currently set the clip to the paint rect in mask items. However since we don't do the ComputeVisibility with blob invalidation the paint rect is still set to the building rect and the clip doesn't end up getting set to the tighter bounds.
Priority: -- → P2
Blocks: 1447778
Making P1 because this is pretty big performance problem with SVG.
Priority: P2 → P1
The regular "fallback item" path in WebRenderCommandsBuilder sets the PaintRect to the clipped bounds of the item: https://searchfox.org/mozilla-central/rev/bdc89dfd7869e418d788b28eb60ab8d94e708a15/gfx/layers/wr/WebRenderCommandBuilder.cpp#1778-1790

Would that help here? Otherwise we may just want to call ComputeVisibility the way FrameLayerBuilder does.
I'm confused, the linked code also calls ComputeVisibility?
You're right. For some reason I missed that.
Assignee: nobody → jmuizelaar
This prevents us from doing unnecessary drawing because we clip to
the bounds of the item.
Comment on attachment 9010753 [details]
Bug 1491590. Make sure that the paint rect is set to the bounds

Markus Stange [:mstange] has approved the revision.
Attachment #9010753 - Flags: review+
Pushed by jmuizelaar@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/8d4ed588ff40
Make sure that the paint rect is set to the bounds. r=mstange
https://hg.mozilla.org/mozilla-central/rev/8d4ed588ff40
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
You need to log in before you can comment on or make changes to this bug.