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

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

Issue 1387003002: cc: Make property trees support resourceless draw mode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@DontReparentUnclippedClipNodes
Patch Set: Rebased Created 5 years, 2 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_unittest.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"
(...skipping 2677 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host.cc ('k') | cc/trees/layer_tree_host_common_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698