• sunxd's avatar
    cc: Make solid color mask layer ignore occlusion · cf699d7f
    sunxd authored
    Mask layer's occlusion is actually its render surface's occlusion in the
    contributed parent surface space.
    
    However, when tiling a solid color mask layer, we used to adopt the logic
    from normal picture layers: overwrite the occlusion's transform with the
    layer's draw transform. This is problematic because mask layer's draw
    transform is to the render surface that owns the mask. In this way, we
    can generate the wrong visible quad rect and result in blanks when
    rendering.
    
    Since solid color mask layer does not do anything but cannot be fully
    avoided in the current code base, we should never apply an occlusion to
    it. Any occlusion to the masked content can still take effect by
    applying itself to the owning render surface.
    
    Bug: 811143, 810820, 808372
    Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
    Change-Id: I821492c107c2abadb9b9e6986369c9f6262d0ad4
    Reviewed-on: https://chromium-review.googlesource.com/916625
    Commit-Queue: Xianda Sun <sunxd@chromium.org>
    Reviewed-by: default avatarenne <enne@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#537794}
    cf699d7f
picture_layer_impl.cc 69.2 KB