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

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

Issue 1001833005: Update from https://crrev.com/320343 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Supress Created 5 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
« no previous file with comments | « cc/trees/layer_tree_host.cc ('k') | cc/trees/layer_tree_host_common_perftest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <algorithm> 7 #include <algorithm>
8 8
9 #include "base/trace_event/trace_event.h" 9 #include "base/trace_event/trace_event.h"
10 #include "cc/base/math_util.h" 10 #include "cc/base/math_util.h"
11 #include "cc/layers/heads_up_display_layer_impl.h" 11 #include "cc/layers/heads_up_display_layer_impl.h"
12 #include "cc/layers/layer.h" 12 #include "cc/layers/layer.h"
13 #include "cc/layers/layer_impl.h" 13 #include "cc/layers/layer_impl.h"
14 #include "cc/layers/layer_iterator.h" 14 #include "cc/layers/layer_iterator.h"
15 #include "cc/layers/render_surface.h" 15 #include "cc/layers/render_surface.h"
16 #include "cc/layers/render_surface_impl.h" 16 #include "cc/layers/render_surface_impl.h"
17 #include "cc/trees/draw_property_utils.h" 17 #include "cc/trees/draw_property_utils.h"
18 #include "cc/trees/layer_sorter.h"
19 #include "cc/trees/layer_tree_host.h" 18 #include "cc/trees/layer_tree_host.h"
20 #include "cc/trees/layer_tree_impl.h" 19 #include "cc/trees/layer_tree_impl.h"
21 #include "ui/gfx/geometry/rect_conversions.h" 20 #include "ui/gfx/geometry/rect_conversions.h"
22 #include "ui/gfx/geometry/vector2d_conversions.h" 21 #include "ui/gfx/geometry/vector2d_conversions.h"
23 #include "ui/gfx/transform.h" 22 #include "ui/gfx/transform.h"
24 #include "ui/gfx/transform_util.h" 23 #include "ui/gfx/transform_util.h"
25 24
26 namespace cc { 25 namespace cc {
27 26
28 ScrollAndScaleSet::ScrollAndScaleSet() 27 ScrollAndScaleSet::ScrollAndScaleSet()
29 : page_scale_delta(1.f), top_controls_delta(0.f) { 28 : page_scale_delta(1.f), top_controls_delta(0.f) {
30 } 29 }
31 30
32 ScrollAndScaleSet::~ScrollAndScaleSet() {} 31 ScrollAndScaleSet::~ScrollAndScaleSet() {}
33 32
34 static void SortLayers(LayerList::iterator first,
35 LayerList::iterator end,
36 void* layer_sorter) {
37 NOTREACHED();
38 }
39
40 static void SortLayers(LayerImplList::iterator first,
41 LayerImplList::iterator end,
42 LayerSorter* layer_sorter) {
43 DCHECK(layer_sorter);
44 TRACE_EVENT0("cc", "LayerTreeHostCommon::SortLayers");
45 layer_sorter->Sort(first, end);
46 }
47
48 template <typename LayerType> 33 template <typename LayerType>
49 static gfx::Vector2dF GetEffectiveScrollDelta(LayerType* layer) { 34 static gfx::Vector2dF GetEffectiveScrollDelta(LayerType* layer) {
50 // Layer's scroll offset can have an integer part and fractional part. 35 // Layer's scroll offset can have an integer part and fractional part.
51 // Due to Blink's limitation, it only counter-scrolls the position-fixed 36 // Due to Blink's limitation, it only counter-scrolls the position-fixed
52 // layer using the integer part of Layer's scroll offset. 37 // layer using the integer part of Layer's scroll offset.
53 // CC scrolls the layer using the full scroll offset, so we have to 38 // CC scrolls the layer using the full scroll offset, so we have to
54 // add the ScrollCompensationAdjustment (fractional part of the scroll 39 // add the ScrollCompensationAdjustment (fractional part of the scroll
55 // offset) to the effective scroll delta which is used to counter-scroll 40 // offset) to the effective scroll delta which is used to counter-scroll
56 // the position-fixed layer. 41 // the position-fixed layer.
57 gfx::Vector2dF scroll_delta = 42 gfx::Vector2dF scroll_delta =
(...skipping 1063 matching lines...) Expand 10 before | Expand all | Expand 10 after
1121 layer_maximum_animated_scale * 1106 layer_maximum_animated_scale *
1122 std::max(ancestor_transform_scales.x(), ancestor_transform_scales.y()); 1107 std::max(ancestor_transform_scales.x(), ancestor_transform_scales.y());
1123 } 1108 }
1124 1109
1125 template <typename LayerTypePtr> 1110 template <typename LayerTypePtr>
1126 static inline void MarkLayerWithRenderSurfaceLayerListId( 1111 static inline void MarkLayerWithRenderSurfaceLayerListId(
1127 LayerTypePtr layer, 1112 LayerTypePtr layer,
1128 int current_render_surface_layer_list_id) { 1113 int current_render_surface_layer_list_id) {
1129 layer->draw_properties().last_drawn_render_surface_layer_list_id = 1114 layer->draw_properties().last_drawn_render_surface_layer_list_id =
1130 current_render_surface_layer_list_id; 1115 current_render_surface_layer_list_id;
1116 layer->draw_properties().layer_or_descendant_is_drawn =
1117 !!current_render_surface_layer_list_id;
1131 } 1118 }
1132 1119
1133 template <typename LayerTypePtr> 1120 template <typename LayerTypePtr>
1134 static inline void MarkMasksWithRenderSurfaceLayerListId( 1121 static inline void MarkMasksWithRenderSurfaceLayerListId(
1135 LayerTypePtr layer, 1122 LayerTypePtr layer,
1136 int current_render_surface_layer_list_id) { 1123 int current_render_surface_layer_list_id) {
1137 if (layer->mask_layer()) { 1124 if (layer->mask_layer()) {
1138 MarkLayerWithRenderSurfaceLayerListId(layer->mask_layer(), 1125 MarkLayerWithRenderSurfaceLayerListId(layer->mask_layer(),
1139 current_render_surface_layer_list_id); 1126 current_render_surface_layer_list_id);
1140 } 1127 }
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1193 PreCalculateMetaInformationRecursiveData() 1180 PreCalculateMetaInformationRecursiveData()
1194 : layer_or_descendant_has_copy_request(false), 1181 : layer_or_descendant_has_copy_request(false),
1195 layer_or_descendant_has_input_handler(false), 1182 layer_or_descendant_has_input_handler(false),
1196 num_unclipped_descendants(0) {} 1183 num_unclipped_descendants(0) {}
1197 1184
1198 void Merge(const PreCalculateMetaInformationRecursiveData& data) { 1185 void Merge(const PreCalculateMetaInformationRecursiveData& data) {
1199 layer_or_descendant_has_copy_request |= 1186 layer_or_descendant_has_copy_request |=
1200 data.layer_or_descendant_has_copy_request; 1187 data.layer_or_descendant_has_copy_request;
1201 layer_or_descendant_has_input_handler |= 1188 layer_or_descendant_has_input_handler |=
1202 data.layer_or_descendant_has_input_handler; 1189 data.layer_or_descendant_has_input_handler;
1203 num_unclipped_descendants += 1190 num_unclipped_descendants += data.num_unclipped_descendants;
1204 data.num_unclipped_descendants;
1205 } 1191 }
1206 }; 1192 };
1207 1193
1208 static void ValidateRenderSurface(LayerImpl* layer) { 1194 static void ValidateRenderSurface(LayerImpl* layer) {
1209 // This test verifies that there are no cases where a LayerImpl needs 1195 // This test verifies that there are no cases where a LayerImpl needs
1210 // a render surface, but doesn't have one. 1196 // a render surface, but doesn't have one.
1211 if (layer->render_surface()) 1197 if (layer->render_surface())
1212 return; 1198 return;
1213 1199
1214 DCHECK(layer->filters().IsEmpty()) << "layer: " << layer->id(); 1200 DCHECK(layer->filters().IsEmpty()) << "layer: " << layer->id();
(...skipping 11 matching lines...) Expand all
1226 // Recursively walks the layer tree to compute any information that is needed 1212 // Recursively walks the layer tree to compute any information that is needed
1227 // before doing the main recursion. 1213 // before doing the main recursion.
1228 template <typename LayerType> 1214 template <typename LayerType>
1229 static void PreCalculateMetaInformation( 1215 static void PreCalculateMetaInformation(
1230 LayerType* layer, 1216 LayerType* layer,
1231 PreCalculateMetaInformationRecursiveData* recursive_data) { 1217 PreCalculateMetaInformationRecursiveData* recursive_data) {
1232 ValidateRenderSurface(layer); 1218 ValidateRenderSurface(layer);
1233 1219
1234 layer->draw_properties().sorted_for_recursion = false; 1220 layer->draw_properties().sorted_for_recursion = false;
1235 layer->draw_properties().has_child_with_a_scroll_parent = false; 1221 layer->draw_properties().has_child_with_a_scroll_parent = false;
1222 layer->draw_properties().layer_or_descendant_is_drawn = false;
1236 layer->draw_properties().visited = false; 1223 layer->draw_properties().visited = false;
1237 1224
1238 if (!HasInvertibleOrAnimatedTransform(layer)) { 1225 if (!HasInvertibleOrAnimatedTransform(layer)) {
1239 // Layers with singular transforms should not be drawn, the whole subtree 1226 // Layers with singular transforms should not be drawn, the whole subtree
1240 // can be skipped. 1227 // can be skipped.
1241 return; 1228 return;
1242 } 1229 }
1243 1230
1244 if (layer->clip_parent()) 1231 if (layer->clip_parent())
1245 recursive_data->num_unclipped_descendants++; 1232 recursive_data->num_unclipped_descendants++;
(...skipping 26 matching lines...) Expand all
1272 layer->draw_properties().num_unclipped_descendants = 1259 layer->draw_properties().num_unclipped_descendants =
1273 recursive_data->num_unclipped_descendants; 1260 recursive_data->num_unclipped_descendants;
1274 layer->draw_properties().layer_or_descendant_has_copy_request = 1261 layer->draw_properties().layer_or_descendant_has_copy_request =
1275 recursive_data->layer_or_descendant_has_copy_request; 1262 recursive_data->layer_or_descendant_has_copy_request;
1276 layer->draw_properties().layer_or_descendant_has_input_handler = 1263 layer->draw_properties().layer_or_descendant_has_input_handler =
1277 recursive_data->layer_or_descendant_has_input_handler; 1264 recursive_data->layer_or_descendant_has_input_handler;
1278 } 1265 }
1279 1266
1280 template <typename LayerType> 1267 template <typename LayerType>
1281 struct SubtreeGlobals { 1268 struct SubtreeGlobals {
1282 LayerSorter* layer_sorter;
1283 int max_texture_size; 1269 int max_texture_size;
1284 float device_scale_factor; 1270 float device_scale_factor;
1285 float page_scale_factor; 1271 float page_scale_factor;
1286 const LayerType* page_scale_application_layer; 1272 const LayerType* page_scale_application_layer;
1287 gfx::Vector2dF elastic_overscroll; 1273 gfx::Vector2dF elastic_overscroll;
1288 const LayerType* elastic_overscroll_application_layer; 1274 const LayerType* elastic_overscroll_application_layer;
1289 bool can_adjust_raster_scales; 1275 bool can_adjust_raster_scales;
1290 bool can_render_to_separate_surface; 1276 bool can_render_to_separate_surface;
1291 bool layers_always_allowed_lcd_text; 1277 bool layers_always_allowed_lcd_text;
1292 }; 1278 };
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after
1807 layer_draw_properties.target_space_transform = combined_transform; 1793 layer_draw_properties.target_space_transform = combined_transform;
1808 // M[draw] = M[parent] * LT * S[layer2content] 1794 // M[draw] = M[parent] * LT * S[layer2content]
1809 layer_draw_properties.target_space_transform.Scale( 1795 layer_draw_properties.target_space_transform.Scale(
1810 SK_MScalar1 / layer->contents_scale_x(), 1796 SK_MScalar1 / layer->contents_scale_x(),
1811 SK_MScalar1 / layer->contents_scale_y()); 1797 SK_MScalar1 / layer->contents_scale_y());
1812 1798
1813 // The layer's screen_space_transform represents the transform between root 1799 // The layer's screen_space_transform represents the transform between root
1814 // layer's "screen space" and local content space. 1800 // layer's "screen space" and local content space.
1815 layer_draw_properties.screen_space_transform = 1801 layer_draw_properties.screen_space_transform =
1816 data_from_ancestor.full_hierarchy_matrix; 1802 data_from_ancestor.full_hierarchy_matrix;
1817 if (layer->should_flatten_transform())
1818 layer_draw_properties.screen_space_transform.FlattenTo2d();
1819 layer_draw_properties.screen_space_transform.PreconcatTransform 1803 layer_draw_properties.screen_space_transform.PreconcatTransform
1820 (layer_draw_properties.target_space_transform); 1804 (layer_draw_properties.target_space_transform);
1821 1805
1822 // Adjusting text AA method during animation may cause repaints, which in-turn 1806 // Adjusting text AA method during animation may cause repaints, which in-turn
1823 // causes jank. 1807 // causes jank.
1824 bool adjust_text_aa = 1808 bool adjust_text_aa =
1825 !animating_opacity_to_screen && !animating_transform_to_screen; 1809 !animating_opacity_to_screen && !animating_transform_to_screen;
1826 bool layer_can_use_lcd_text = true; 1810 bool layer_can_use_lcd_text = true;
1827 bool subtree_can_use_lcd_text = true; 1811 bool subtree_can_use_lcd_text = true;
1828 if (!globals.layers_always_allowed_lcd_text) { 1812 if (!globals.layers_always_allowed_lcd_text) {
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
1927 layer_draw_properties.target_space_transform_is_animating = 1911 layer_draw_properties.target_space_transform_is_animating =
1928 animating_transform_to_target; 1912 animating_transform_to_target;
1929 layer_draw_properties.screen_space_transform_is_animating = 1913 layer_draw_properties.screen_space_transform_is_animating =
1930 animating_transform_to_screen; 1914 animating_transform_to_screen;
1931 1915
1932 // Update the aggregate hierarchy matrix to include the transform of the 1916 // Update the aggregate hierarchy matrix to include the transform of the
1933 // newly created RenderSurfaceImpl. 1917 // newly created RenderSurfaceImpl.
1934 data_for_children.full_hierarchy_matrix.PreconcatTransform( 1918 data_for_children.full_hierarchy_matrix.PreconcatTransform(
1935 render_surface->draw_transform()); 1919 render_surface->draw_transform());
1936 1920
1921 // A render surface inherently acts as a flattening point for the content of
1922 // its descendants.
1923 data_for_children.full_hierarchy_matrix.FlattenTo2d();
1924
1937 if (layer->mask_layer()) { 1925 if (layer->mask_layer()) {
1938 DrawProperties<LayerType>& mask_layer_draw_properties = 1926 DrawProperties<LayerType>& mask_layer_draw_properties =
1939 layer->mask_layer()->draw_properties(); 1927 layer->mask_layer()->draw_properties();
1940 mask_layer_draw_properties.render_target = layer; 1928 mask_layer_draw_properties.render_target = layer;
1941 mask_layer_draw_properties.visible_content_rect = 1929 mask_layer_draw_properties.visible_content_rect =
1942 gfx::Rect(layer->content_bounds()); 1930 gfx::Rect(layer->content_bounds());
1943 } 1931 }
1944 1932
1945 if (layer->replica_layer() && layer->replica_layer()->mask_layer()) { 1933 if (layer->replica_layer() && layer->replica_layer()->mask_layer()) {
1946 DrawProperties<LayerType>& replica_mask_draw_properties = 1934 DrawProperties<LayerType>& replica_mask_draw_properties =
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
2205 descendants.push_back(child); 2193 descendants.push_back(child);
2206 } 2194 }
2207 2195
2208 child->draw_properties().num_descendants_added = 2196 child->draw_properties().num_descendants_added =
2209 descendants.size() - 2197 descendants.size() -
2210 child->draw_properties().index_of_first_descendants_addition; 2198 child->draw_properties().index_of_first_descendants_addition;
2211 child->draw_properties().num_render_surfaces_added = 2199 child->draw_properties().num_render_surfaces_added =
2212 render_surface_layer_list->size() - 2200 render_surface_layer_list->size() -
2213 child->draw_properties() 2201 child->draw_properties()
2214 .index_of_first_render_surface_layer_list_addition; 2202 .index_of_first_render_surface_layer_list_addition;
2203 layer_draw_properties.layer_or_descendant_is_drawn |=
2204 child->draw_properties().layer_or_descendant_is_drawn;
2215 } 2205 }
2216 2206
2217 // Add the unsorted layer list contributions, if necessary. 2207 // Add the unsorted layer list contributions, if necessary.
2218 if (child_order_changed) { 2208 if (child_order_changed) {
2219 SortLayerListContributions( 2209 SortLayerListContributions(
2220 *layer, 2210 *layer,
2221 GetLayerListForSorting(render_surface_layer_list), 2211 GetLayerListForSorting(render_surface_layer_list),
2222 render_surface_layer_list_child_sorting_start_index, 2212 render_surface_layer_list_child_sorting_start_index,
2223 &GetNewRenderSurfacesStartIndexAndCount<LayerType>); 2213 &GetNewRenderSurfacesStartIndexAndCount<LayerType>);
2224 2214
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
2358 } 2348 }
2359 2349
2360 SavePaintPropertiesLayer(layer); 2350 SavePaintPropertiesLayer(layer);
2361 2351
2362 // If neither this layer nor any of its children were added, early out. 2352 // If neither this layer nor any of its children were added, early out.
2363 if (sorting_start_index == descendants.size()) { 2353 if (sorting_start_index == descendants.size()) {
2364 DCHECK(!render_to_separate_surface || IsRootLayer(layer)); 2354 DCHECK(!render_to_separate_surface || IsRootLayer(layer));
2365 return; 2355 return;
2366 } 2356 }
2367 2357
2368 // If preserves-3d then sort all the descendants in 3D so that they can be
2369 // drawn from back to front. If the preserves-3d property is also set on the
2370 // parent then skip the sorting as the parent will sort all the descendants
2371 // anyway.
2372 if (globals.layer_sorter && descendants.size() && layer->Is3dSorted() &&
2373 !LayerIsInExisting3DRenderingContext(layer)) {
2374 SortLayers(descendants.begin() + sorting_start_index,
2375 descendants.end(),
2376 globals.layer_sorter);
2377 }
2378
2379 UpdateAccumulatedSurfaceState<LayerType>( 2358 UpdateAccumulatedSurfaceState<LayerType>(
2380 layer, local_drawable_content_rect_of_subtree, accumulated_surface_state); 2359 layer, local_drawable_content_rect_of_subtree, accumulated_surface_state);
2381 2360
2382 if (layer->HasContributingDelegatedRenderPasses()) { 2361 if (layer->HasContributingDelegatedRenderPasses()) {
2383 layer->render_target()->render_surface()-> 2362 layer->render_target()->render_surface()->
2384 AddContributingDelegatedRenderPassLayer(layer); 2363 AddContributingDelegatedRenderPassLayer(layer);
2385 } 2364 }
2386 } // NOLINT(readability/fn_size) 2365 } // NOLINT(readability/fn_size)
2387 2366
2388 template <typename LayerType, typename RenderSurfaceLayerListType> 2367 template <typename LayerType, typename RenderSurfaceLayerListType>
(...skipping 17 matching lines...) Expand all
2406 MathUtil::ComputeTransform2dScaleComponents(inputs.device_transform, 1.f); 2385 MathUtil::ComputeTransform2dScaleComponents(inputs.device_transform, 1.f);
2407 // Not handling the rare case of different x and y device scale. 2386 // Not handling the rare case of different x and y device scale.
2408 float device_transform_scale = 2387 float device_transform_scale =
2409 std::max(device_transform_scale_components.x(), 2388 std::max(device_transform_scale_components.x(),
2410 device_transform_scale_components.y()); 2389 device_transform_scale_components.y());
2411 2390
2412 gfx::Transform scaled_device_transform = inputs.device_transform; 2391 gfx::Transform scaled_device_transform = inputs.device_transform;
2413 scaled_device_transform.Scale(inputs.device_scale_factor, 2392 scaled_device_transform.Scale(inputs.device_scale_factor,
2414 inputs.device_scale_factor); 2393 inputs.device_scale_factor);
2415 2394
2416 globals->layer_sorter = NULL;
2417 globals->max_texture_size = inputs.max_texture_size; 2395 globals->max_texture_size = inputs.max_texture_size;
2418 globals->device_scale_factor = 2396 globals->device_scale_factor =
2419 inputs.device_scale_factor * device_transform_scale; 2397 inputs.device_scale_factor * device_transform_scale;
2420 globals->page_scale_factor = inputs.page_scale_factor; 2398 globals->page_scale_factor = inputs.page_scale_factor;
2421 globals->page_scale_application_layer = inputs.page_scale_application_layer; 2399 globals->page_scale_application_layer = inputs.page_scale_application_layer;
2422 globals->elastic_overscroll = inputs.elastic_overscroll; 2400 globals->elastic_overscroll = inputs.elastic_overscroll;
2423 globals->elastic_overscroll_application_layer = 2401 globals->elastic_overscroll_application_layer =
2424 inputs.elastic_overscroll_application_layer; 2402 inputs.elastic_overscroll_application_layer;
2425 globals->can_render_to_separate_surface = 2403 globals->can_render_to_separate_surface =
2426 inputs.can_render_to_separate_surface; 2404 inputs.can_render_to_separate_surface;
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
2570 DCHECK(inputs->root_layer->render_surface()); 2548 DCHECK(inputs->root_layer->render_surface());
2571 } 2549 }
2572 2550
2573 void LayerTreeHostCommon::CalculateDrawProperties( 2551 void LayerTreeHostCommon::CalculateDrawProperties(
2574 CalcDrawPropsImplInputs* inputs) { 2552 CalcDrawPropsImplInputs* inputs) {
2575 LayerImplList dummy_layer_list; 2553 LayerImplList dummy_layer_list;
2576 SubtreeGlobals<LayerImpl> globals; 2554 SubtreeGlobals<LayerImpl> globals;
2577 DataForRecursion<LayerImpl> data_for_recursion; 2555 DataForRecursion<LayerImpl> data_for_recursion;
2578 ProcessCalcDrawPropsInputs(*inputs, &globals, &data_for_recursion); 2556 ProcessCalcDrawPropsInputs(*inputs, &globals, &data_for_recursion);
2579 2557
2580 LayerSorter layer_sorter;
2581 globals.layer_sorter = &layer_sorter;
2582
2583 PreCalculateMetaInformationRecursiveData recursive_data; 2558 PreCalculateMetaInformationRecursiveData recursive_data;
2584 PreCalculateMetaInformation(inputs->root_layer, &recursive_data); 2559 PreCalculateMetaInformation(inputs->root_layer, &recursive_data);
2585 std::vector<AccumulatedSurfaceState<LayerImpl>> accumulated_surface_state; 2560 std::vector<AccumulatedSurfaceState<LayerImpl>> accumulated_surface_state;
2586 CalculateDrawPropertiesInternal<LayerImpl>( 2561 CalculateDrawPropertiesInternal<LayerImpl>(
2587 inputs->root_layer, 2562 inputs->root_layer,
2588 globals, 2563 globals,
2589 data_for_recursion, 2564 data_for_recursion,
2590 inputs->render_surface_layer_list, 2565 inputs->render_surface_layer_list,
2591 &dummy_layer_list, 2566 &dummy_layer_list,
2592 &accumulated_surface_state, 2567 &accumulated_surface_state,
2593 inputs->current_render_surface_layer_list_id); 2568 inputs->current_render_surface_layer_list_id);
2594 2569
2595 // The dummy layer list should not have been used. 2570 // The dummy layer list should not have been used.
2596 DCHECK_EQ(0u, dummy_layer_list.size()); 2571 DCHECK_EQ(0u, dummy_layer_list.size());
2597 // A root layer render_surface should always exist after 2572 // A root layer render_surface should always exist after
2598 // CalculateDrawProperties. 2573 // CalculateDrawProperties.
2599 DCHECK(inputs->root_layer->render_surface()); 2574 DCHECK(inputs->root_layer->render_surface());
2600 } 2575 }
2601 2576
2602 } // namespace cc 2577 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host.cc ('k') | cc/trees/layer_tree_host_common_perftest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698