Index: components/viz/service/display/surface_aggregator.h |
diff --git a/components/viz/service/display/surface_aggregator.h b/components/viz/service/display/surface_aggregator.h |
index 9a14c892dc429a9b1c5232118b6a70e2d7c1de8b..ab29d8a47e507551a63f5e80305ee83774b5c4b5 100644 |
--- a/components/viz/service/display/surface_aggregator.h |
+++ b/components/viz/service/display/surface_aggregator.h |
@@ -193,6 +193,9 @@ class VIZ_SERVICE_EXPORT SurfaceAggregator { |
// This is the pass list for the aggregated frame. |
cc::RenderPassList* dest_pass_list_; |
+ // This maps pass id to itself. |
+ base::flat_map<cc::RenderPassId, cc::RenderPass*> id_to_render_pass_map_; |
+ |
// This is the set of aggregated pass ids that are affected by filters that |
// move pixels. |
base::flat_set<cc::RenderPassId> moved_pixel_passes_; |
@@ -201,6 +204,11 @@ class VIZ_SERVICE_EXPORT SurfaceAggregator { |
// should not have their damage rects clipped to the root damage rect. |
base::flat_set<cc::RenderPassId> copy_request_passes_; |
+ // This is the set of aggregated pass ids that are drawn by cached render |
+ // passes, so should not have their damage rects clipped to the root damage |
+ // rect. |
+ base::flat_set<cc::RenderPassId> cached_render_passes_; |
+ |
// This maps each aggregated pass id to the set of (aggregated) pass ids |
// that its cc::RenderPassDrawQuads depend on |
base::flat_map<cc::RenderPassId, base::flat_set<cc::RenderPassId>> |
@@ -213,6 +221,10 @@ class VIZ_SERVICE_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 cached render |
+ // passes. This is valid during Aggregate after PrewalkTree is called. |
+ bool has_cached_render_passes_; |
+ |
// Tracks UMA stats for SurfaceDrawQuads during a call to Aggregate(). |
SurfaceDrawQuadUmaStats uma_stats_; |