• Saman Sami's avatar
    viz: Eliminate closing of surfaces · 832a7a94
    Saman Sami authored
    There are a few issues with current implementation of closing surfaces:
    1) It rejects any CompositorFrame that comes to the fallback surface.
    I'm not sure this is a good idea, because even though the frame is not
    for the primary surface, it still allows us to have something to show
    for the next display frame. What we really want is activating the frame
    immediately so that an ack is sent back to the client and it is
    unblocked for the next frame.
    2) Closing the surface currently only affects future CompositorFrames.
    If a pending frame already exists, it is not activated.
    3) It only closes the first surface in the range. We should close all
    surfaces in the range other than the last surface.
    
    This CL replaces closing surfaces with a different mechanism that
    marks surfaces as fallback and prevents them from ever blocking.
    
    Bug: 938947
    Change-Id: Ida86143427f9bad1bb323e6edd9b45116e813735
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1558452
    Commit-Queue: Saman Sami <samans@chromium.org>
    Reviewed-by: default avatarkylechar <kylechar@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#651855}
    832a7a94
surface_allocation_group.cc 9.1 KB