[SPv2] Apply non-composited effects in group
This CL reworks PaintChunksToCcLayer to handle effect grouping properly. Prior to this CL each paint chunk applies its property state all the way from the layer state then pop all the way back. This CL implemented an algorithm to lazily pop states so that contiguous paint chunks enclosed by the same effect will apply the effect atomically. As an optimization, clip region is also popped lazily. Note that this doesn't mean AA-clips are applied as a group but still apply to individual draw commands separately. It does improve performance by reusing previously generated clip region when a complex clip region applies to multiple chunks repeatedly. Rounded clip support is also added as a side change. Transforms are always applied on the spot. This is because we can compute the matrix between arbitrary nodes in O(1). Also this automatically handles "transform inversion" cases as we don't even need to detect the relationship between nodes. Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I64657b657fad3e19132b9eb0d64db494955f2139 Reviewed-on: https://chromium-review.googlesource.com/540737 Commit-Queue: Tien-Ren Chen <trchen@chromium.org> Reviewed-by:Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#485109}
Showing
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment