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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 float page_scale_factor, | 76 float page_scale_factor, |
77 const LayerImpl* page_scale_layer, | 77 const LayerImpl* page_scale_layer, |
78 const LayerImpl* inner_viewport_scroll_layer, | 78 const LayerImpl* inner_viewport_scroll_layer, |
79 const LayerImpl* outer_viewport_scroll_layer, | 79 const LayerImpl* outer_viewport_scroll_layer, |
80 const gfx::Vector2dF& elastic_overscroll, | 80 const gfx::Vector2dF& elastic_overscroll, |
81 const LayerImpl* elastic_overscroll_application_layer, | 81 const LayerImpl* elastic_overscroll_application_layer, |
82 int max_texture_size, | 82 int max_texture_size, |
83 bool can_render_to_separate_surface, | 83 bool can_render_to_separate_surface, |
84 bool can_adjust_raster_scales, | 84 bool can_adjust_raster_scales, |
85 bool verify_clip_tree_calculations, | 85 bool verify_clip_tree_calculations, |
| 86 bool verify_visible_rect_calculations, |
86 bool verify_transform_tree_calculations, | 87 bool verify_transform_tree_calculations, |
87 LayerImplList* render_surface_layer_list, | 88 LayerImplList* render_surface_layer_list, |
88 PropertyTrees* property_trees) | 89 PropertyTrees* property_trees) |
89 : root_layer(root_layer), | 90 : root_layer(root_layer), |
90 device_viewport_size(device_viewport_size), | 91 device_viewport_size(device_viewport_size), |
91 device_transform(device_transform), | 92 device_transform(device_transform), |
92 device_scale_factor(device_scale_factor), | 93 device_scale_factor(device_scale_factor), |
93 page_scale_factor(page_scale_factor), | 94 page_scale_factor(page_scale_factor), |
94 page_scale_layer(page_scale_layer), | 95 page_scale_layer(page_scale_layer), |
95 inner_viewport_scroll_layer(inner_viewport_scroll_layer), | 96 inner_viewport_scroll_layer(inner_viewport_scroll_layer), |
96 outer_viewport_scroll_layer(outer_viewport_scroll_layer), | 97 outer_viewport_scroll_layer(outer_viewport_scroll_layer), |
97 elastic_overscroll(elastic_overscroll), | 98 elastic_overscroll(elastic_overscroll), |
98 elastic_overscroll_application_layer( | 99 elastic_overscroll_application_layer( |
99 elastic_overscroll_application_layer), | 100 elastic_overscroll_application_layer), |
100 max_texture_size(max_texture_size), | 101 max_texture_size(max_texture_size), |
101 can_render_to_separate_surface(can_render_to_separate_surface), | 102 can_render_to_separate_surface(can_render_to_separate_surface), |
102 can_adjust_raster_scales(can_adjust_raster_scales), | 103 can_adjust_raster_scales(can_adjust_raster_scales), |
103 verify_clip_tree_calculations(verify_clip_tree_calculations), | 104 verify_clip_tree_calculations(verify_clip_tree_calculations), |
| 105 verify_visible_rect_calculations(verify_visible_rect_calculations), |
104 verify_transform_tree_calculations(verify_transform_tree_calculations), | 106 verify_transform_tree_calculations(verify_transform_tree_calculations), |
105 render_surface_layer_list(render_surface_layer_list), | 107 render_surface_layer_list(render_surface_layer_list), |
106 property_trees(property_trees) {} | 108 property_trees(property_trees) {} |
107 | 109 |
108 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting:: | 110 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting:: |
109 CalcDrawPropsImplInputsForTesting(LayerImpl* root_layer, | 111 CalcDrawPropsImplInputsForTesting(LayerImpl* root_layer, |
110 const gfx::Size& device_viewport_size, | 112 const gfx::Size& device_viewport_size, |
111 const gfx::Transform& device_transform, | 113 const gfx::Transform& device_transform, |
112 float device_scale_factor, | 114 float device_scale_factor, |
113 LayerImplList* render_surface_layer_list) | 115 LayerImplList* render_surface_layer_list) |
114 : CalcDrawPropsImplInputs(root_layer, | 116 : CalcDrawPropsImplInputs(root_layer, |
115 device_viewport_size, | 117 device_viewport_size, |
116 device_transform, | 118 device_transform, |
117 device_scale_factor, | 119 device_scale_factor, |
118 1.f, | 120 1.f, |
119 NULL, | 121 NULL, |
120 NULL, | 122 NULL, |
121 NULL, | 123 NULL, |
122 gfx::Vector2dF(), | 124 gfx::Vector2dF(), |
123 NULL, | 125 NULL, |
124 std::numeric_limits<int>::max() / 2, | 126 std::numeric_limits<int>::max() / 2, |
125 true, | 127 true, |
126 false, | 128 false, |
127 true, | 129 true, |
128 true, | 130 true, |
| 131 true, |
129 render_surface_layer_list, | 132 render_surface_layer_list, |
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, |
138 const gfx::Transform& device_transform, | 141 const gfx::Transform& device_transform, |
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
548 } | 551 } |
549 | 552 |
550 draw_property_utils::BuildPropertyTreesAndComputeVisibleRects( | 553 draw_property_utils::BuildPropertyTreesAndComputeVisibleRects( |
551 inputs->root_layer, inputs->page_scale_layer, | 554 inputs->root_layer, inputs->page_scale_layer, |
552 inputs->inner_viewport_scroll_layer, | 555 inputs->inner_viewport_scroll_layer, |
553 inputs->outer_viewport_scroll_layer, | 556 inputs->outer_viewport_scroll_layer, |
554 inputs->elastic_overscroll_application_layer, | 557 inputs->elastic_overscroll_application_layer, |
555 inputs->elastic_overscroll, inputs->page_scale_factor, | 558 inputs->elastic_overscroll, inputs->page_scale_factor, |
556 inputs->device_scale_factor, gfx::Rect(inputs->device_viewport_size), | 559 inputs->device_scale_factor, gfx::Rect(inputs->device_viewport_size), |
557 inputs->device_transform, inputs->can_render_to_separate_surface, | 560 inputs->device_transform, inputs->can_render_to_separate_surface, |
558 inputs->property_trees, &visible_layer_list); | 561 inputs->verify_visible_rect_calculations, inputs->property_trees, |
| 562 &visible_layer_list); |
559 | 563 |
560 // Property trees are normally constructed on the main thread and | 564 // Property trees are normally constructed on the main thread and |
561 // passed to compositor thread. Source to parent updates on them are not | 565 // passed to compositor thread. Source to parent updates on them are not |
562 // allowed in the compositor thread. Some tests build them on the | 566 // allowed in the compositor thread. Some tests build them on the |
563 // compositor thread, so we need to explicitly disallow source to parent | 567 // compositor thread, so we need to explicitly disallow source to parent |
564 // updates when they are built on compositor thread. | 568 // updates when they are built on compositor thread. |
565 inputs->property_trees->transform_tree | 569 inputs->property_trees->transform_tree |
566 .set_source_to_parent_updates_allowed(false); | 570 .set_source_to_parent_updates_allowed(false); |
567 if (should_measure_property_tree_performance) { | 571 if (should_measure_property_tree_performance) { |
568 TRACE_EVENT_END0( | 572 TRACE_EVENT_END0( |
(...skipping 21 matching lines...) Expand all Loading... |
590 // Similarly, the device viewport and device transform are shared | 594 // Similarly, the device viewport and device transform are shared |
591 // by both trees. | 595 // by both trees. |
592 inputs->property_trees->clip_tree.SetViewportClip( | 596 inputs->property_trees->clip_tree.SetViewportClip( |
593 gfx::RectF(gfx::SizeF(inputs->device_viewport_size))); | 597 gfx::RectF(gfx::SizeF(inputs->device_viewport_size))); |
594 inputs->property_trees->transform_tree.SetDeviceTransform( | 598 inputs->property_trees->transform_tree.SetDeviceTransform( |
595 inputs->device_transform, inputs->root_layer->position()); | 599 inputs->device_transform, inputs->root_layer->position()); |
596 inputs->property_trees->transform_tree.SetDeviceTransformScaleFactor( | 600 inputs->property_trees->transform_tree.SetDeviceTransformScaleFactor( |
597 inputs->device_transform); | 601 inputs->device_transform); |
598 draw_property_utils::ComputeVisibleRects( | 602 draw_property_utils::ComputeVisibleRects( |
599 inputs->root_layer, inputs->property_trees, | 603 inputs->root_layer, inputs->property_trees, |
600 inputs->can_render_to_separate_surface, &visible_layer_list); | 604 inputs->can_render_to_separate_surface, |
| 605 inputs->verify_visible_rect_calculations, &visible_layer_list); |
601 break; | 606 break; |
602 } | 607 } |
603 } | 608 } |
604 | 609 |
605 if (should_measure_property_tree_performance) { | 610 if (should_measure_property_tree_performance) { |
606 TRACE_EVENT_BEGIN0(TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), | 611 TRACE_EVENT_BEGIN0(TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), |
607 "LayerTreeHostCommon::CalculateDrawProperties"); | 612 "LayerTreeHostCommon::CalculateDrawProperties"); |
608 } | 613 } |
609 | 614 |
610 DCHECK(inputs->can_render_to_separate_surface == | 615 DCHECK(inputs->can_render_to_separate_surface == |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
716 | 721 |
717 PropertyTrees* GetPropertyTrees(Layer* layer) { | 722 PropertyTrees* GetPropertyTrees(Layer* layer) { |
718 return layer->GetLayerTree()->property_trees(); | 723 return layer->GetLayerTree()->property_trees(); |
719 } | 724 } |
720 | 725 |
721 PropertyTrees* GetPropertyTrees(LayerImpl* layer) { | 726 PropertyTrees* GetPropertyTrees(LayerImpl* layer) { |
722 return layer->layer_tree_impl()->property_trees(); | 727 return layer->layer_tree_impl()->property_trees(); |
723 } | 728 } |
724 | 729 |
725 } // namespace cc | 730 } // namespace cc |
OLD | NEW |