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

Side by Side Diff: cc/trees/layer_tree_host_common.cc

Issue 1800923002: cc: Directly use property trees to calculate clip rect (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add setting to only calculate and verify in cc_unittest Created 4 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/trees/layer_tree_host_common.h" 5 #include "cc/trees/layer_tree_host_common.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 const LayerImpl* page_scale_layer, 73 const LayerImpl* page_scale_layer,
74 const LayerImpl* inner_viewport_scroll_layer, 74 const LayerImpl* inner_viewport_scroll_layer,
75 const LayerImpl* outer_viewport_scroll_layer, 75 const LayerImpl* outer_viewport_scroll_layer,
76 const gfx::Vector2dF& elastic_overscroll, 76 const gfx::Vector2dF& elastic_overscroll,
77 const LayerImpl* elastic_overscroll_application_layer, 77 const LayerImpl* elastic_overscroll_application_layer,
78 int max_texture_size, 78 int max_texture_size,
79 bool can_use_lcd_text, 79 bool can_use_lcd_text,
80 bool layers_always_allowed_lcd_text, 80 bool layers_always_allowed_lcd_text,
81 bool can_render_to_separate_surface, 81 bool can_render_to_separate_surface,
82 bool can_adjust_raster_scales, 82 bool can_adjust_raster_scales,
83 bool verify_clip_tree_calculations,
83 LayerImplList* render_surface_layer_list, 84 LayerImplList* render_surface_layer_list,
84 int current_render_surface_layer_list_id, 85 int current_render_surface_layer_list_id,
85 PropertyTrees* property_trees) 86 PropertyTrees* property_trees)
86 : root_layer(root_layer), 87 : root_layer(root_layer),
87 device_viewport_size(device_viewport_size), 88 device_viewport_size(device_viewport_size),
88 device_transform(device_transform), 89 device_transform(device_transform),
89 device_scale_factor(device_scale_factor), 90 device_scale_factor(device_scale_factor),
90 page_scale_factor(page_scale_factor), 91 page_scale_factor(page_scale_factor),
91 page_scale_layer(page_scale_layer), 92 page_scale_layer(page_scale_layer),
92 inner_viewport_scroll_layer(inner_viewport_scroll_layer), 93 inner_viewport_scroll_layer(inner_viewport_scroll_layer),
93 outer_viewport_scroll_layer(outer_viewport_scroll_layer), 94 outer_viewport_scroll_layer(outer_viewport_scroll_layer),
94 elastic_overscroll(elastic_overscroll), 95 elastic_overscroll(elastic_overscroll),
95 elastic_overscroll_application_layer( 96 elastic_overscroll_application_layer(
96 elastic_overscroll_application_layer), 97 elastic_overscroll_application_layer),
97 max_texture_size(max_texture_size), 98 max_texture_size(max_texture_size),
98 can_use_lcd_text(can_use_lcd_text), 99 can_use_lcd_text(can_use_lcd_text),
99 layers_always_allowed_lcd_text(layers_always_allowed_lcd_text), 100 layers_always_allowed_lcd_text(layers_always_allowed_lcd_text),
100 can_render_to_separate_surface(can_render_to_separate_surface), 101 can_render_to_separate_surface(can_render_to_separate_surface),
101 can_adjust_raster_scales(can_adjust_raster_scales), 102 can_adjust_raster_scales(can_adjust_raster_scales),
103 verify_clip_tree_calculations(verify_clip_tree_calculations),
102 render_surface_layer_list(render_surface_layer_list), 104 render_surface_layer_list(render_surface_layer_list),
103 current_render_surface_layer_list_id( 105 current_render_surface_layer_list_id(
104 current_render_surface_layer_list_id), 106 current_render_surface_layer_list_id),
105 property_trees(property_trees) {} 107 property_trees(property_trees) {}
106 108
107 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting:: 109 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting::
108 CalcDrawPropsImplInputsForTesting(LayerImpl* root_layer, 110 CalcDrawPropsImplInputsForTesting(LayerImpl* root_layer,
109 const gfx::Size& device_viewport_size, 111 const gfx::Size& device_viewport_size,
110 const gfx::Transform& device_transform, 112 const gfx::Transform& device_transform,
111 LayerImplList* render_surface_layer_list, 113 LayerImplList* render_surface_layer_list,
112 int current_render_surface_layer_list_id) 114 int current_render_surface_layer_list_id)
113 : CalcDrawPropsImplInputs(root_layer, 115 : CalcDrawPropsImplInputs(root_layer,
114 device_viewport_size, 116 device_viewport_size,
115 device_transform, 117 device_transform,
116 1.f, 118 1.f,
117 1.f, 119 1.f,
118 NULL, 120 NULL,
119 NULL, 121 NULL,
120 NULL, 122 NULL,
121 gfx::Vector2dF(), 123 gfx::Vector2dF(),
122 NULL, 124 NULL,
123 std::numeric_limits<int>::max() / 2, 125 std::numeric_limits<int>::max() / 2,
124 false, 126 false,
125 false, 127 false,
126 true, 128 true,
127 false, 129 false,
130 true,
128 render_surface_layer_list, 131 render_surface_layer_list,
129 current_render_surface_layer_list_id, 132 current_render_surface_layer_list_id,
130 GetPropertyTrees(root_layer)) { 133 GetPropertyTrees(root_layer)) {
131 DCHECK(root_layer); 134 DCHECK(root_layer);
132 DCHECK(render_surface_layer_list); 135 DCHECK(render_surface_layer_list);
133 } 136 }
134 137
135 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting:: 138 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting::
136 CalcDrawPropsImplInputsForTesting(LayerImpl* root_layer, 139 CalcDrawPropsImplInputsForTesting(LayerImpl* root_layer,
137 const gfx::Size& device_viewport_size, 140 const gfx::Size& device_viewport_size,
(...skipping 909 matching lines...) Expand 10 before | Expand all | Expand 10 after
1047 1050
1048 DCHECK_EQ( 1051 DCHECK_EQ(
1049 inputs->current_render_surface_layer_list_id, 1052 inputs->current_render_surface_layer_list_id,
1050 inputs->root_layer->layer_tree_impl()->current_render_surface_list_id()); 1053 inputs->root_layer->layer_tree_impl()->current_render_surface_list_id());
1051 CalculateRenderSurfaceLayerList( 1054 CalculateRenderSurfaceLayerList(
1052 inputs->root_layer, inputs->property_trees, 1055 inputs->root_layer, inputs->property_trees,
1053 inputs->render_surface_layer_list, nullptr, nullptr, 1056 inputs->render_surface_layer_list, nullptr, nullptr,
1054 subtree_visible_from_ancestor, inputs->can_render_to_separate_surface, 1057 subtree_visible_from_ancestor, inputs->can_render_to_separate_surface,
1055 inputs->current_render_surface_layer_list_id, inputs->max_texture_size); 1058 inputs->current_render_surface_layer_list_id, inputs->max_texture_size);
1056 1059
1060 if (inputs->verify_clip_tree_calculations)
1061 draw_property_utils::VerifyClipTreeCalculations(visible_layer_list,
1062 inputs->property_trees);
1063
1057 if (should_measure_property_tree_performance) { 1064 if (should_measure_property_tree_performance) {
1058 TRACE_EVENT_END0(TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), 1065 TRACE_EVENT_END0(TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"),
1059 "LayerTreeHostCommon::CalculateDrawProperties"); 1066 "LayerTreeHostCommon::CalculateDrawProperties");
1060 } 1067 }
1061 1068
1062 // A root layer render_surface should always exist after 1069 // A root layer render_surface should always exist after
1063 // CalculateDrawProperties. 1070 // CalculateDrawProperties.
1064 DCHECK(inputs->root_layer->render_surface()); 1071 DCHECK(inputs->root_layer->render_surface());
1065 } 1072 }
1066 1073
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
1118 1125
1119 PropertyTrees* GetPropertyTrees(Layer* layer) { 1126 PropertyTrees* GetPropertyTrees(Layer* layer) {
1120 return layer->layer_tree_host()->property_trees(); 1127 return layer->layer_tree_host()->property_trees();
1121 } 1128 }
1122 1129
1123 PropertyTrees* GetPropertyTrees(LayerImpl* layer) { 1130 PropertyTrees* GetPropertyTrees(LayerImpl* layer) {
1124 return layer->layer_tree_impl()->property_trees(); 1131 return layer->layer_tree_impl()->property_trees();
1125 } 1132 }
1126 1133
1127 } // namespace cc 1134 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698