• Tien-Ren Chen's avatar
    [SPv2] Apply non-composited effects in group · f62169af
    Tien-Ren Chen authored
    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: default avatarChris Harrelson <chrishtr@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#485109}
    f62169af
enable-slimming-paint-v2 125 KB