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

Unified Diff: cc/layers/render_surface_impl.cc

Issue 2873593002: Force use of and cache render surface. (Closed)
Patch Set: 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/layers/render_surface_impl.cc
diff --git a/cc/layers/render_surface_impl.cc b/cc/layers/render_surface_impl.cc
index c61a56ff3bcb5113272c752f43e6021f2d4f0d1c..161742506234f9544e22df6af311a93d18dffc03 100644
--- a/cc/layers/render_surface_impl.cc
+++ b/cc/layers/render_surface_impl.cc
@@ -153,6 +153,10 @@ bool RenderSurfaceImpl::HasCopyRequest() const {
return OwningEffectNode()->has_copy_request;
}
+bool RenderSurfaceImpl::ForceRenderSurface() const {
+ return OwningEffectNode()->force_render_surface;
+}
+
int RenderSurfaceImpl::TransformTreeIndex() const {
return OwningEffectNode()->transform_id;
}
@@ -206,7 +210,7 @@ gfx::Rect RenderSurfaceImpl::CalculateExpandedClipForFilters(
}
gfx::Rect RenderSurfaceImpl::CalculateClippedAccumulatedContentRect() {
- if (HasCopyRequest() || !is_clipped())
+ if (ForceRenderSurface() || HasCopyRequest() || !is_clipped())
return accumulated_content_rect();
if (accumulated_content_rect().IsEmpty())
@@ -366,6 +370,7 @@ std::unique_ptr<RenderPass> RenderSurfaceImpl::CreateRenderPass() {
draw_properties_.screen_space_transform);
pass->filters = Filters();
pass->background_filters = BackgroundFilters();
+ pass->force_render_surface = ForceRenderSurface();
return pass;
}

Powered by Google App Engine
This is Rietveld 408576698