| OLD | NEW |
| 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 520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 531 PropertyTrees* property_trees, | 531 PropertyTrees* property_trees, |
| 532 bool subtree_visible_from_ancestor, | 532 bool subtree_visible_from_ancestor, |
| 533 bool can_render_to_separate_surface) { | 533 bool can_render_to_separate_surface) { |
| 534 bool layer_is_drawn; | 534 bool layer_is_drawn; |
| 535 DCHECK_GE(layer->effect_tree_index(), 0); | 535 DCHECK_GE(layer->effect_tree_index(), 0); |
| 536 layer_is_drawn = property_trees->effect_tree.Node(layer->effect_tree_index()) | 536 layer_is_drawn = property_trees->effect_tree.Node(layer->effect_tree_index()) |
| 537 ->data.is_drawn; | 537 ->data.is_drawn; |
| 538 | 538 |
| 539 // The root layer cannot be skipped. | 539 // The root layer cannot be skipped. |
| 540 if (!IsRootLayer(layer) && | 540 if (!IsRootLayer(layer) && |
| 541 draw_property_utils::LayerShouldBeSkipped( | 541 draw_property_utils::LayerShouldBeSkipped(layer, layer_is_drawn, |
| 542 layer, layer_is_drawn, property_trees->transform_tree)) { | 542 property_trees->transform_tree, |
| 543 property_trees->effect_tree)) { |
| 543 layer->draw_properties().render_target = nullptr; | 544 layer->draw_properties().render_target = nullptr; |
| 544 return; | 545 return; |
| 545 } | 546 } |
| 546 | 547 |
| 547 bool render_to_separate_surface = | 548 bool render_to_separate_surface = |
| 548 IsRootLayer(layer) || | 549 IsRootLayer(layer) || |
| 549 (can_render_to_separate_surface && layer->render_surface()); | 550 (can_render_to_separate_surface && layer->render_surface()); |
| 550 | 551 |
| 551 if (render_to_separate_surface) { | 552 if (render_to_separate_surface) { |
| 552 DCHECK(layer->render_surface()) << IsRootLayer(layer) | 553 DCHECK(layer->render_surface()) << IsRootLayer(layer) |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 597 | 598 |
| 598 // |can_render_to_separate_surface| and |current_render_surface_layer_list_id| | 599 // |can_render_to_separate_surface| and |current_render_surface_layer_list_id| |
| 599 // are settings that should stay the same during recursion. | 600 // are settings that should stay the same during recursion. |
| 600 bool layer_is_drawn = false; | 601 bool layer_is_drawn = false; |
| 601 DCHECK_GE(layer->effect_tree_index(), 0); | 602 DCHECK_GE(layer->effect_tree_index(), 0); |
| 602 layer_is_drawn = property_trees->effect_tree.Node(layer->effect_tree_index()) | 603 layer_is_drawn = property_trees->effect_tree.Node(layer->effect_tree_index()) |
| 603 ->data.is_drawn; | 604 ->data.is_drawn; |
| 604 | 605 |
| 605 // The root layer cannot be skipped. | 606 // The root layer cannot be skipped. |
| 606 if (!IsRootLayer(layer) && | 607 if (!IsRootLayer(layer) && |
| 607 draw_property_utils::LayerShouldBeSkipped( | 608 draw_property_utils::LayerShouldBeSkipped(layer, layer_is_drawn, |
| 608 layer, layer_is_drawn, property_trees->transform_tree)) { | 609 property_trees->transform_tree, |
| 610 property_trees->effect_tree)) { |
| 609 if (layer->render_surface()) | 611 if (layer->render_surface()) |
| 610 layer->ClearRenderSurfaceLayerList(); | 612 layer->ClearRenderSurfaceLayerList(); |
| 611 layer->draw_properties().render_target = nullptr; | 613 layer->draw_properties().render_target = nullptr; |
| 612 return; | 614 return; |
| 613 } | 615 } |
| 614 | 616 |
| 615 bool render_to_separate_surface = | 617 bool render_to_separate_surface = |
| 616 IsRootLayer(layer) || | 618 IsRootLayer(layer) || |
| 617 (can_render_to_separate_surface && layer->render_surface()); | 619 (can_render_to_separate_surface && layer->render_surface()); |
| 618 | 620 |
| (...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 921 inputs->root_layer, inputs->page_scale_layer, | 923 inputs->root_layer, inputs->page_scale_layer, |
| 922 inputs->inner_viewport_scroll_layer, inputs->outer_viewport_scroll_layer, | 924 inputs->inner_viewport_scroll_layer, inputs->outer_viewport_scroll_layer, |
| 923 overscroll_elasticity_layer, elastic_overscroll, | 925 overscroll_elasticity_layer, elastic_overscroll, |
| 924 inputs->page_scale_factor, inputs->device_scale_factor, | 926 inputs->page_scale_factor, inputs->device_scale_factor, |
| 925 gfx::Rect(inputs->device_viewport_size), inputs->device_transform, | 927 gfx::Rect(inputs->device_viewport_size), inputs->device_transform, |
| 926 property_trees); | 928 property_trees); |
| 927 draw_property_utils::UpdateRenderSurfaces(inputs->root_layer, property_trees); | 929 draw_property_utils::UpdateRenderSurfaces(inputs->root_layer, property_trees); |
| 928 draw_property_utils::UpdatePropertyTrees(property_trees, | 930 draw_property_utils::UpdatePropertyTrees(property_trees, |
| 929 can_render_to_separate_surface); | 931 can_render_to_separate_surface); |
| 930 draw_property_utils::FindLayersThatNeedUpdates( | 932 draw_property_utils::FindLayersThatNeedUpdates( |
| 931 inputs->root_layer, property_trees->transform_tree, | 933 inputs->root_layer->layer_tree_host(), property_trees->transform_tree, |
| 932 property_trees->effect_tree, &update_layer_list); | 934 property_trees->effect_tree, &update_layer_list); |
| 933 draw_property_utils::ComputeVisibleRectsForTesting( | 935 draw_property_utils::ComputeVisibleRectsForTesting( |
| 934 property_trees, can_render_to_separate_surface, &update_layer_list); | 936 property_trees, can_render_to_separate_surface, &update_layer_list); |
| 935 } | 937 } |
| 936 | 938 |
| 937 void LayerTreeHostCommon::CalculateDrawProperties( | 939 void LayerTreeHostCommon::CalculateDrawProperties( |
| 938 CalcDrawPropsImplInputs* inputs) { | 940 CalcDrawPropsImplInputs* inputs) { |
| 939 CalculateDrawPropertiesInternal(inputs, DONT_BUILD_PROPERTY_TREES); | 941 CalculateDrawPropertiesInternal(inputs, DONT_BUILD_PROPERTY_TREES); |
| 940 | 942 |
| 941 if (CdpPerfTracingEnabled()) { | 943 if (CdpPerfTracingEnabled()) { |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 993 | 995 |
| 994 PropertyTrees* GetPropertyTrees(Layer* layer) { | 996 PropertyTrees* GetPropertyTrees(Layer* layer) { |
| 995 return layer->layer_tree_host()->property_trees(); | 997 return layer->layer_tree_host()->property_trees(); |
| 996 } | 998 } |
| 997 | 999 |
| 998 PropertyTrees* GetPropertyTrees(LayerImpl* layer) { | 1000 PropertyTrees* GetPropertyTrees(LayerImpl* layer) { |
| 999 return layer->layer_tree_impl()->property_trees(); | 1001 return layer->layer_tree_impl()->property_trees(); |
| 1000 } | 1002 } |
| 1001 | 1003 |
| 1002 } // namespace cc | 1004 } // namespace cc |
| OLD | NEW |