Closed Bug 1646066 Opened 4 months ago Closed 3 months ago

Improve partial valid rect handling in NativeLayerCA

Categories

(Core :: Graphics: WebRender, task)

All
macOS
task

Tracking

()

RESOLVED FIXED
mozilla79
Tracking Status
firefox79 --- fixed

People

(Reporter: mstange, Assigned: mstange)

References

Details

Attachments

(1 file)

Bug 1608717 implemented partial invalid rects but disabled some assertions in the process. This bug will perform some cleanup on that code (which I promised to Glenn at the time).

This moves the clipping responsibility into the layer. It also brings back
assertions that make sure that no invalid content reaches the screen.
On the layer side I'm renaming validRect to displayRect, because at the time
NextSurface* is called, that rect is not yet valid.
This implementation also allows having valid content outside of the display
rect. So, for example, if you grow and shrink the display rect multiple times
but most of the outer parts are transparent, in theory this allows you to paint
the transparent pixels only once rather than every time the display rect
expands.

Pushed by mstange@themasta.com:
https://hg.mozilla.org/integration/autoland/rev/9b325856ccc0
Make partial valid rects work properly in NativeLayerCA. r=jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79
You need to log in before you can comment on or make changes to this bug.