OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <deque> | 7 #include <deque> |
8 #include <sstream> | 8 #include <sstream> |
9 | 9 |
10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 } | 102 } |
103 | 103 |
104 void DoCalcDrawPropertiesImpl(bool can_render_to_separate_surface, | 104 void DoCalcDrawPropertiesImpl(bool can_render_to_separate_surface, |
105 int max_texture_size, | 105 int max_texture_size, |
106 LayerTreeImpl* active_tree, | 106 LayerTreeImpl* active_tree, |
107 LayerTreeHostImpl* host_impl) { | 107 LayerTreeHostImpl* host_impl) { |
108 LayerImplList update_list; | 108 LayerImplList update_list; |
109 PropertyTrees property_trees; | 109 PropertyTrees property_trees; |
110 bool verify_property_trees = false; | 110 bool verify_property_trees = false; |
111 bool use_property_trees = false; | 111 bool use_property_trees = false; |
| 112 active_tree->IncrementRenderSurfaceListIdForTesting(); |
112 LayerTreeHostCommon::CalcDrawPropsImplInputs inputs( | 113 LayerTreeHostCommon::CalcDrawPropsImplInputs inputs( |
113 active_tree->root_layer(), active_tree->DrawViewportSize(), | 114 active_tree->root_layer(), active_tree->DrawViewportSize(), |
114 host_impl->DrawTransform(), active_tree->device_scale_factor(), | 115 host_impl->DrawTransform(), active_tree->device_scale_factor(), |
115 active_tree->current_page_scale_factor(), | 116 active_tree->current_page_scale_factor(), |
116 active_tree->InnerViewportContainerLayer(), | 117 active_tree->InnerViewportContainerLayer(), |
117 active_tree->InnerViewportScrollLayer(), | 118 active_tree->InnerViewportScrollLayer(), |
118 active_tree->OuterViewportScrollLayer(), | 119 active_tree->OuterViewportScrollLayer(), |
119 active_tree->elastic_overscroll()->Current(active_tree->IsActiveTree()), | 120 active_tree->elastic_overscroll()->Current(active_tree->IsActiveTree()), |
120 active_tree->OverscrollElasticityLayer(), max_texture_size, | 121 active_tree->OverscrollElasticityLayer(), max_texture_size, |
121 host_impl->settings().can_use_lcd_text, | 122 host_impl->settings().can_use_lcd_text, |
122 host_impl->settings().layers_always_allowed_lcd_text, | 123 host_impl->settings().layers_always_allowed_lcd_text, |
123 can_render_to_separate_surface, | 124 can_render_to_separate_surface, |
124 host_impl->settings().layer_transforms_should_scale_layer_contents, | 125 host_impl->settings().layer_transforms_should_scale_layer_contents, |
125 verify_property_trees, use_property_trees, &update_list, 0, | 126 verify_property_trees, use_property_trees, &update_list, |
126 &property_trees); | 127 active_tree->current_render_surface_list_id(), &property_trees); |
127 LayerTreeHostCommon::CalculateDrawProperties(&inputs); | 128 LayerTreeHostCommon::CalculateDrawProperties(&inputs); |
128 } | 129 } |
129 }; | 130 }; |
130 | 131 |
131 class BspTreePerfTest : public CalcDrawPropsTest { | 132 class BspTreePerfTest : public CalcDrawPropsTest { |
132 public: | 133 public: |
133 BspTreePerfTest() : num_duplicates_(1) {} | 134 BspTreePerfTest() : num_duplicates_(1) {} |
134 void RunSortLayers() { RunTest(false, false); } | 135 void RunSortLayers() { RunTest(false, false); } |
135 | 136 |
136 void SetNumberOfDuplicates(int num_duplicates) { | 137 void SetNumberOfDuplicates(int num_duplicates) { |
(...skipping 13 matching lines...) Expand all Loading... |
150 active_tree, | 151 active_tree, |
151 host_impl); | 152 host_impl); |
152 | 153 |
153 LayerImplList base_list; | 154 LayerImplList base_list; |
154 BuildLayerImplList(active_tree->root_layer(), &base_list); | 155 BuildLayerImplList(active_tree->root_layer(), &base_list); |
155 | 156 |
156 int polygon_counter = 0; | 157 int polygon_counter = 0; |
157 std::vector<scoped_ptr<DrawPolygon>> polygon_list; | 158 std::vector<scoped_ptr<DrawPolygon>> polygon_list; |
158 for (LayerImplList::iterator it = base_list.begin(); it != base_list.end(); | 159 for (LayerImplList::iterator it = base_list.begin(); it != base_list.end(); |
159 ++it) { | 160 ++it) { |
160 DrawPolygon* draw_polygon = | 161 DrawPolygon* draw_polygon = new DrawPolygon( |
161 new DrawPolygon(NULL, gfx::RectF(gfx::SizeF((*it)->bounds())), | 162 NULL, gfx::RectF(gfx::SizeF((*it)->bounds())), |
162 (*it)->draw_transform(), polygon_counter++); | 163 (*it)->draw_properties().target_space_transform, polygon_counter++); |
163 polygon_list.push_back(scoped_ptr<DrawPolygon>(draw_polygon)); | 164 polygon_list.push_back(scoped_ptr<DrawPolygon>(draw_polygon)); |
164 } | 165 } |
165 | 166 |
166 timer_.Reset(); | 167 timer_.Reset(); |
167 do { | 168 do { |
168 std::deque<scoped_ptr<DrawPolygon>> test_list; | 169 std::deque<scoped_ptr<DrawPolygon>> test_list; |
169 for (int i = 0; i < num_duplicates_; i++) { | 170 for (int i = 0; i < num_duplicates_; i++) { |
170 for (size_t i = 0; i < polygon_list.size(); i++) { | 171 for (size_t i = 0; i < polygon_list.size(); i++) { |
171 test_list.push_back(polygon_list[i]->CreateCopy()); | 172 test_list.push_back(polygon_list[i]->CreateCopy()); |
172 } | 173 } |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
262 | 263 |
263 TEST_F(BspTreePerfTest, BspTreeCubes_4) { | 264 TEST_F(BspTreePerfTest, BspTreeCubes_4) { |
264 SetTestName("bsp_tree_cubes_4"); | 265 SetTestName("bsp_tree_cubes_4"); |
265 SetNumberOfDuplicates(4); | 266 SetNumberOfDuplicates(4); |
266 ReadTestFile("layer_sort_cubes"); | 267 ReadTestFile("layer_sort_cubes"); |
267 RunSortLayers(); | 268 RunSortLayers(); |
268 } | 269 } |
269 | 270 |
270 } // namespace | 271 } // namespace |
271 } // namespace cc | 272 } // namespace cc |
OLD | NEW |