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 <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" |
(...skipping 2677 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2688 TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), | 2688 TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), |
2689 "LayerTreeHostCommon::ComputeVisibleRectsWithPropertyTrees"); | 2689 "LayerTreeHostCommon::ComputeVisibleRectsWithPropertyTrees"); |
2690 } | 2690 } |
2691 | 2691 |
2692 BuildPropertyTreesAndComputeVisibleRects( | 2692 BuildPropertyTreesAndComputeVisibleRects( |
2693 inputs->root_layer, inputs->page_scale_layer, | 2693 inputs->root_layer, inputs->page_scale_layer, |
2694 inputs->inner_viewport_scroll_layer, | 2694 inputs->inner_viewport_scroll_layer, |
2695 inputs->outer_viewport_scroll_layer, inputs->page_scale_factor, | 2695 inputs->outer_viewport_scroll_layer, inputs->page_scale_factor, |
2696 inputs->device_scale_factor, | 2696 inputs->device_scale_factor, |
2697 gfx::Rect(inputs->device_viewport_size), inputs->device_transform, | 2697 gfx::Rect(inputs->device_viewport_size), inputs->device_transform, |
2698 inputs->property_trees, &update_layer_list); | 2698 inputs->can_render_to_separate_surface, inputs->property_trees, |
| 2699 &update_layer_list); |
2699 | 2700 |
2700 if (should_measure_property_tree_performance) { | 2701 if (should_measure_property_tree_performance) { |
2701 TRACE_EVENT_END0( | 2702 TRACE_EVENT_END0( |
2702 TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), | 2703 TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), |
2703 "LayerTreeHostCommon::ComputeVisibleRectsWithPropertyTrees"); | 2704 "LayerTreeHostCommon::ComputeVisibleRectsWithPropertyTrees"); |
2704 } | 2705 } |
2705 | 2706 |
2706 break; | 2707 break; |
2707 } | 2708 } |
2708 case DONT_BUILD_PROPERTY_TREES: { | 2709 case DONT_BUILD_PROPERTY_TREES: { |
2709 TRACE_EVENT0( | 2710 TRACE_EVENT0( |
2710 TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), | 2711 TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), |
2711 "LayerTreeHostCommon::ComputeJustVisibleRectsWithPropertyTrees"); | 2712 "LayerTreeHostCommon::ComputeJustVisibleRectsWithPropertyTrees"); |
2712 // Since page scale is a SyncedProperty, changes to page scale on the | 2713 // Since page scale is a SyncedProperty, changes to page scale on the |
2713 // active tree immediately affect the pending tree, so instead of | 2714 // active tree immediately affect the pending tree, so instead of |
2714 // trying to update property trees whenever page scale changes, we | 2715 // trying to update property trees whenever page scale changes, we |
2715 // update their page scale before using them. | 2716 // update their page scale before using them. |
2716 UpdatePageScaleFactorInPropertyTrees( | 2717 UpdatePageScaleFactorInPropertyTrees( |
2717 inputs->property_trees, inputs->page_scale_layer, | 2718 inputs->property_trees, inputs->page_scale_layer, |
2718 inputs->page_scale_factor, inputs->device_scale_factor, | 2719 inputs->page_scale_factor, inputs->device_scale_factor, |
2719 inputs->device_transform); | 2720 inputs->device_transform); |
2720 ComputeVisibleRectsUsingPropertyTrees( | 2721 ComputeVisibleRectsUsingPropertyTrees( |
2721 inputs->root_layer, inputs->property_trees, &update_layer_list); | 2722 inputs->root_layer, inputs->property_trees, |
| 2723 inputs->can_render_to_separate_surface, &update_layer_list); |
2722 break; | 2724 break; |
2723 } | 2725 } |
2724 } | 2726 } |
2725 } | 2727 } |
2726 | 2728 |
2727 if (should_measure_property_tree_performance) { | 2729 if (should_measure_property_tree_performance) { |
2728 TRACE_EVENT_BEGIN0(TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), | 2730 TRACE_EVENT_BEGIN0(TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), |
2729 "LayerTreeHostCommon::CalculateDrawProperties"); | 2731 "LayerTreeHostCommon::CalculateDrawProperties"); |
2730 } | 2732 } |
2731 | 2733 |
(...skipping 23 matching lines...) Expand all Loading... |
2755 bool can_render_to_separate_surface = true; | 2757 bool can_render_to_separate_surface = true; |
2756 UpdateRenderSurfaces(inputs->root_layer, can_render_to_separate_surface, | 2758 UpdateRenderSurfaces(inputs->root_layer, can_render_to_separate_surface, |
2757 gfx::Transform(), false); | 2759 gfx::Transform(), false); |
2758 PropertyTrees* property_trees = | 2760 PropertyTrees* property_trees = |
2759 inputs->root_layer->layer_tree_host()->property_trees(); | 2761 inputs->root_layer->layer_tree_host()->property_trees(); |
2760 BuildPropertyTreesAndComputeVisibleRects( | 2762 BuildPropertyTreesAndComputeVisibleRects( |
2761 inputs->root_layer, inputs->page_scale_layer, | 2763 inputs->root_layer, inputs->page_scale_layer, |
2762 inputs->inner_viewport_scroll_layer, inputs->outer_viewport_scroll_layer, | 2764 inputs->inner_viewport_scroll_layer, inputs->outer_viewport_scroll_layer, |
2763 inputs->page_scale_factor, inputs->device_scale_factor, | 2765 inputs->page_scale_factor, inputs->device_scale_factor, |
2764 gfx::Rect(inputs->device_viewport_size), inputs->device_transform, | 2766 gfx::Rect(inputs->device_viewport_size), inputs->device_transform, |
2765 property_trees, &update_layer_list); | 2767 can_render_to_separate_surface, property_trees, &update_layer_list); |
2766 } | 2768 } |
2767 | 2769 |
2768 void LayerTreeHostCommon::CalculateDrawProperties( | 2770 void LayerTreeHostCommon::CalculateDrawProperties( |
2769 CalcDrawPropsImplInputs* inputs) { | 2771 CalcDrawPropsImplInputs* inputs) { |
2770 CalculateDrawPropertiesAndVerify(inputs, DONT_BUILD_PROPERTY_TREES); | 2772 CalculateDrawPropertiesAndVerify(inputs, DONT_BUILD_PROPERTY_TREES); |
2771 } | 2773 } |
2772 | 2774 |
2773 void LayerTreeHostCommon::CalculateDrawProperties( | 2775 void LayerTreeHostCommon::CalculateDrawProperties( |
2774 CalcDrawPropsImplInputsForTesting* inputs) { | 2776 CalcDrawPropsImplInputsForTesting* inputs) { |
2775 CalculateDrawPropertiesAndVerify(inputs, BUILD_PROPERTY_TREES_IF_NEEDED); | 2777 CalculateDrawPropertiesAndVerify(inputs, BUILD_PROPERTY_TREES_IF_NEEDED); |
2776 } | 2778 } |
2777 | 2779 |
2778 PropertyTrees* GetPropertyTrees(Layer* layer) { | 2780 PropertyTrees* GetPropertyTrees(Layer* layer) { |
2779 return layer->layer_tree_host()->property_trees(); | 2781 return layer->layer_tree_host()->property_trees(); |
2780 } | 2782 } |
2781 | 2783 |
2782 PropertyTrees* GetPropertyTrees(LayerImpl* layer) { | 2784 PropertyTrees* GetPropertyTrees(LayerImpl* layer) { |
2783 return layer->layer_tree_impl()->property_trees(); | 2785 return layer->layer_tree_impl()->property_trees(); |
2784 } | 2786 } |
2785 | 2787 |
2786 } // namespace cc | 2788 } // namespace cc |
OLD | NEW |