• boliu's avatar
    sync compositor: Signal async frame on IO thread · c37cd75b
    boliu authored
    Continuation of CL by ojars@ here:
    https://codereview.chromium.org/2383933002/
    
    Async hardware draw synchronously returns a frame future that is
    fulfilled asynchronously on the IO thread. This allows the frame future
    to be waited on either the UI thread or android's render thread without
    deadlocks.
    
    In content, make SynchronousCompositorObserver a true message
    filter owned by RenderProcessHostImpl. Will rename this to SCFilter
    in a later CL.
    
    In android_webview, wait on the frame future in kModeDraw,
    immediately before where the frame is needed, to maximize
    parallelization.
    
    Note that there is a hack in BVR to produce a synchronous frame
    first to ensure that bindings are initialized before render thread runs
    any code.
    
    This makes a complete more or less working path. But there are still
    lots of TODOs needs to be fixed before the async path is ready to
    ship.
    
    BUG=636164
    
    Review-Url: https://codereview.chromium.org/2418383002
    Cr-Commit-Position: refs/heads/master@{#427096}
    c37cd75b
test_synchronous_compositor_android.h 2.49 KB