Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(371)

Unified Diff: cc/surfaces/surface_aggregator.h

Issue 2873593002: Force use of and cache render surface. (Closed)
Patch Set: Fix for patch 1. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698