Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of #3455 - gw3583:batch-scissor-5, r=bholley
Follow ups from the recent picture caching optimizations. This patch contains a number of fixes and improvements to the picture caching changes that landed recently to improve the general performance of picture caching. Specifically: * Support setting scissor rect for the dirty rect that is being drawn. This is a performance win, and also simplifies the batching logic to not have to adjust the z_id for the tiles that are being drawn. * Support alpha batch containers having more than one batch list. Each batch list supports an optional scissor rect, and a list of blits to run after drawing that batch list. This ensures that items batched after the cacheable content are not drawn into the cache tiles. * The pending tile blits no longer need to be stored in the render task or surface information struct. Instead, they are retrieved directly from the picture's tile cache struct during batching. * Include the local clip rect of the picture when drawing tiles, to ensure that the tiles don't write to the z-buffer where the scroll bars for a content frame is (they typically come earlier in the display list than the content, relying on clipping rather than render order). * Include the tile relative position of clip vertices - this ensures that tiles are correctly invalidated in cases where only the relative position of a clip node changes between frames (there are a couple of reftests that verify this). * Handle the case of a zero-sized clip mask correctly, to avoid trying to allocate a zero sized texture if only one clip task exists in a pass. * Skip pushing / popping clip node collector for tile cache surfaces. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/3455) <!-- Reviewable:end -->
- Loading branch information
Showing
7 changed files
with
478 additions
and
369 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.