• kylechar's avatar
    Fix InProcessCommandBuffer handling of buffer presented. · d2b1aadb
    kylechar authored
    There was some incorrect logic in InProcessCommandBuffer. Presentation
    feedback was getting sent to the GpuControlClient even if it didn't
    request it. Worse yet, vsync timing parameters were getting updated if
    presentation feedback was requested, even if the presentation feedback
    didn't contain accurate vsync information.
    
    On mac with OOP-D this was causing the real vsync timebase provided by
    the browser to get overridden with junk. Mac doesn't have accurate
    presentation feedback, instead it's just base::TimeTicks::Now() for when
    swap buffers completed.
    
    Share the existing logic found in GLES2CommandBufferStub and
    CommandBufferProxyImpl with InProcessCommandBuffer to avoid future
    problems.
    
    Bug: 900564
    Change-Id: Ib1bdb822b2357a905a923a537d4da7bf01ad0a25
    Reviewed-on: https://chromium-review.googlesource.com/c/1337638
    Commit-Queue: kylechar <kylechar@chromium.org>
    Reviewed-by: default avatarJonathan Backer <backer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#608498}
    d2b1aadb
BUILD.gn 4.12 KB