Index: cc/surfaces/surface_aggregator.h |
diff --git a/cc/surfaces/surface_aggregator.h b/cc/surfaces/surface_aggregator.h |
index 28aeb493bcc7f18150ec99dbbf1506f5c277ecac..799d04ea7dff10460543741b9d0d5b9dca1de70e 100644 |
--- a/cc/surfaces/surface_aggregator.h |
+++ b/cc/surfaces/surface_aggregator.h |
@@ -130,7 +130,7 @@ class CC_SURFACES_EXPORT SurfaceAggregator { |
// child surfaces. |
void ProcessAddedAndRemovedSurfaces(); |
- void PropagateCopyRequestPasses(); |
+ void PropagatePasses(base::flat_set<int>* passes); |
int ChildIdForSurface(Surface* surface); |
gfx::Rect DamageRectForSurface(const Surface* surface, |
@@ -189,6 +189,11 @@ class CC_SURFACES_EXPORT SurfaceAggregator { |
// should not have their damage rects clipped to the root damage rect. |
base::flat_set<int> copy_request_passes_; |
+ // This is the set of aggregated pass ids that are drawn by force render |
+ // surface, so should not have their damage rects clipped to the root damage |
+ // rect. |
+ base::flat_set<int> force_render_surface_passes_; |
+ |
// This maps each aggregated pass id to the set of (aggregated) pass ids |
// that its RenderPassDrawQuads depend on |
base::flat_map<int, base::flat_set<int>> render_pass_dependencies_; |
@@ -200,6 +205,10 @@ class CC_SURFACES_EXPORT SurfaceAggregator { |
// This is valid during Aggregate after PrewalkTree is called. |
bool has_copy_requests_; |
+ // True if the frame that's currently being aggregated has force render |
+ // surface. This is valid during Aggregate after PrewalkTree is called. |
+ bool has_force_render_surfaces_; |
+ |
// Tracks UMA stats for SurfaceDrawQuads during a call to Aggregate(). |
SurfaceDrawQuadUmaStats uma_stats_; |