references_surfaces in CompositorFrameMetadata is used for determining SurfaceReferences in the viz process. Right now it only contains the fallback SurfaceIds because SurfaceReference=fallback. However, we want the reference to be the latest available surface in the fallback to primary range so we need to know the primary SurfaceIds as well. Each member of references_surfaces should be a pair of SurfaceIds, one the fallback and one the primary.
struct SurfaceRange {
base::Optional<SurfaceId> start;
base::Optional<SurfaceId> end;
};
struct CompositorFrameMetadata {
...
std::vector<SurfaceRange> references_surfaces;
};
references_surfaces in CompositorFrameMetadata is used for determining SurfaceReferences in the viz process. Right now it only contains the fallback SurfaceIds because SurfaceReference=fallback. However, we want the reference to be the latest available surface in the fallback to primary range so we need to know the primary SurfaceIds as well. Each member of references_surfaces should be a pair of SurfaceIds, one the fallback and one the primary.
struct SurfaceRange {
base::Optional<SurfaceId> start;
base::Optional<SurfaceId> end;
};
struct CompositorFrameMetadata {
...
std::vector<SurfaceRange> referenced_surfaces;
};
references_surfaces in CompositorFrameMetadata is used for determining SurfaceReferences in the viz process. Right now it only contains the fallback SurfaceIds because SurfaceReference=fallback. However, we want the reference to be the latest available surface in the fallback to primary range so we need to know the primary SurfaceIds as well. Each member of references_surfaces should be a pair of SurfaceIds, one the fallback and one the primary.
struct SurfaceRange {
base::Optional<SurfaceId> start;
SurfaceId end;
};
struct CompositorFrameMetadata {
...
std::vector<SurfaceRange> referenced_surfaces;
};
Comment 1 by samans@chromium.org
, Jun 28 2018