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

Unified Diff: cc/trees/layer_tree_host_common.cc

Issue 24280009: Move tile-free-software render surface disabling to UpdateDrawProperties. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 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/trees/layer_tree_host_common.cc
diff --git a/cc/trees/layer_tree_host_common.cc b/cc/trees/layer_tree_host_common.cc
index b8436756fc4762df4194493b3d602e274a8d1ab3..cefee9153e18322b1eb62dff6ecc4b6d7c0fe6f9 100644
--- a/cc/trees/layer_tree_host_common.cc
+++ b/cc/trees/layer_tree_host_common.cc
@@ -1091,6 +1091,7 @@ struct SubtreeGlobals {
float page_scale_factor;
LayerType* page_scale_application_layer;
bool can_adjust_raster_scales;
+ bool can_render_to_separate_surface;
};
template<typename LayerType, typename RenderSurfaceType>
@@ -1451,8 +1452,13 @@ static void CalculateDrawPropertiesInternal(
? combined_transform_scales
: gfx::Vector2dF(layer_scale_factors, layer_scale_factors);
- if (SubtreeShouldRenderToSeparateSurface(
- layer, combined_transform.Preserves2dAxisAlignment())) {
+ bool render_to_separate_surface = false;
+ if (globals.can_render_to_separate_surface)
danakj 2013/09/24 14:47:04 {}
+ render_to_separate_surface = SubtreeShouldRenderToSeparateSurface(
+ layer, combined_transform.Preserves2dAxisAlignment());
+ else
+ render_to_separate_surface = IsRootLayer(layer);
+ if (render_to_separate_surface) {
// Check back-face visibility before continuing with this surface and its
// subtree
if (!layer->double_sided() && TransformToParentIsKnown(layer) &&
@@ -1941,6 +1947,8 @@ void LayerTreeHostCommon::CalculateDrawProperties(
globals.device_scale_factor = inputs->device_scale_factor;
globals.page_scale_factor = inputs->page_scale_factor;
globals.page_scale_application_layer = inputs->page_scale_application_layer;
+ globals.can_render_to_separate_surface =
+ inputs->can_render_to_separate_surface;
globals.can_adjust_raster_scales = inputs->can_adjust_raster_scales;
DataForRecursion<Layer, RenderSurface> data_for_recursion;
@@ -1998,6 +2006,8 @@ void LayerTreeHostCommon::CalculateDrawProperties(
globals.device_scale_factor = inputs->device_scale_factor;
globals.page_scale_factor = inputs->page_scale_factor;
globals.page_scale_application_layer = inputs->page_scale_application_layer;
+ globals.can_render_to_separate_surface =
+ inputs->can_render_to_separate_surface;
globals.can_adjust_raster_scales = inputs->can_adjust_raster_scales;
DataForRecursion<LayerImpl, RenderSurfaceImpl> data_for_recursion;

Powered by Google App Engine
This is Rietveld 408576698