Chromium Code Reviews
DescriptionSurface Synchronization: Distinguish between dependencies and references
This CL simplifies the relationship between surface synchronization and surface
references.
With this CL, surface references represent the DAG of surfaces known to the display
compositor. In the context of surface synchronization, the reference DAG consists
of the set of active CompositorFrames' fallback surface IDs.
CompositorFrameMetadata's |embedded_surfaces| field represents surface
*dependencies*. A surface dependency is a surface ID that a given CompositorFrame
will block on until it is available or a deadline hits. With this CL, surface dependencies
and surface references are tracked differently. |embedded_surfaces| represent
dependencies whereas |referenced_surfaces| represent surface references.
With surface synchronization, a side channel is assumed to exist (e.g. browser =>
renderer) that allocates a LocalSurfaceId for the child and passes that LocalSurfaceId
along to the child. If a child submits a CompositorFrame to the display compositor,
a temporary (root) reference, that is then passed along to the window server /
browser and then to the parent. The parent can then claim ownership of that
reference by embedding it as a fallback surface.
In other words, surface synchronization will now use the existing surface reference
control flow. It's just the time it takes for a temporary reference to be embedded by
a parent might take a little longer due to surface synchronization.
Tests have been updated to take into account this change.
BUG=672962
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
Review-Url: https://codereview.chromium.org/2811813004
Cr-Commit-Position: refs/heads/master@{#463863}
Committed: https://chromium.googlesource.com/chromium/src/+/23724703cfbba977e4628436698c59bdba5c2b05
Patch Set 1 #Patch Set 2 : More cleanup #Patch Set 3 : Reverted change in issue 2685393003 #Patch Set 4 : Replace DisplayCompositorLockingReferencesFromPendingAndActiveFrames with OnlyActiveFramesAffectSur… #Patch Set 5 : Fix remaining CompositorFrameSinkSupportTests #Patch Set 6 : Update remaining tests to correspond to new behavior #
Total comments: 8
Patch Set 7 : Addressed Vlad's comments #
Total comments: 2
Messages
Total messages: 37 (27 generated)
|