Descriptionsync compositor: Signal async frame on IO thread
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
Committed: https://crrev.com/c37cd75b3d77fb35953685c01df5adf1c744b55c
Cr-Commit-Position: refs/heads/master@{#427096}
Patch Set 1 #Patch Set 2 : content cleanups #Patch Set 3 : more clean up and fixes #Patch Set 4 : works maybe #Patch Set 5 : test compile #Patch Set 6 : crash fix maybe #Patch Set 7 : fix filter lifetime #Patch Set 8 : style #Patch Set 9 : bad_message, and minor cleanups #
Total comments: 20
Patch Set 10 : dcheng review #
Total comments: 2
Patch Set 11 : typo #Messages
Total messages: 29 (17 generated)
|