Closed Bug 1491590 Opened 6 years ago Closed 6 years 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

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
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: