OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/test/layer_tree_pixel_resource_test.h" | 5 #include "cc/test/layer_tree_pixel_resource_test.h" |
6 | 6 |
7 #include "cc/layers/layer.h" | 7 #include "cc/layers/layer.h" |
8 #include "cc/resources/bitmap_tile_task_worker_pool.h" | 8 #include "cc/resources/bitmap_tile_task_worker_pool.h" |
9 #include "cc/resources/gpu_rasterizer.h" | 9 #include "cc/resources/gpu_rasterizer.h" |
10 #include "cc/resources/gpu_tile_task_worker_pool.h" | 10 #include "cc/resources/gpu_tile_task_worker_pool.h" |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 ContextProvider* context_provider = | 160 ContextProvider* context_provider = |
161 host_impl->output_surface()->context_provider(); | 161 host_impl->output_surface()->context_provider(); |
162 ResourceProvider* resource_provider = host_impl->resource_provider(); | 162 ResourceProvider* resource_provider = host_impl->resource_provider(); |
163 size_t max_transfer_buffer_usage_bytes = 1024u * 1024u * 60u; | 163 size_t max_transfer_buffer_usage_bytes = 1024u * 1024u * 60u; |
164 | 164 |
165 switch (resource_pool_option_) { | 165 switch (resource_pool_option_) { |
166 case BITMAP_TILE_TASK_WORKER_POOL: | 166 case BITMAP_TILE_TASK_WORKER_POOL: |
167 EXPECT_FALSE(context_provider); | 167 EXPECT_FALSE(context_provider); |
168 EXPECT_EQ(PIXEL_TEST_SOFTWARE, test_type_); | 168 EXPECT_EQ(PIXEL_TEST_SOFTWARE, test_type_); |
169 *resource_pool = | 169 *resource_pool = |
170 ResourcePool::Create(resource_provider, | 170 ResourcePool::Create(resource_provider, draw_texture_target_, false); |
171 draw_texture_target_, | |
172 resource_provider->best_texture_format()); | |
173 | 171 |
174 *tile_task_worker_pool = BitmapTileTaskWorkerPool::Create( | 172 *tile_task_worker_pool = BitmapTileTaskWorkerPool::Create( |
175 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), | 173 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), |
176 resource_provider); | 174 resource_provider); |
177 break; | 175 break; |
178 case GPU_TILE_TASK_WORKER_POOL: | 176 case GPU_TILE_TASK_WORKER_POOL: |
179 EXPECT_TRUE(context_provider); | 177 EXPECT_TRUE(context_provider); |
180 EXPECT_EQ(PIXEL_TEST_GL, test_type_); | 178 EXPECT_EQ(PIXEL_TEST_GL, test_type_); |
181 *resource_pool = | 179 *resource_pool = |
182 ResourcePool::Create(resource_provider, | 180 ResourcePool::Create(resource_provider, draw_texture_target_, false); |
183 draw_texture_target_, | |
184 resource_provider->best_texture_format()); | |
185 | 181 |
186 *tile_task_worker_pool = GpuTileTaskWorkerPool::Create( | 182 *tile_task_worker_pool = GpuTileTaskWorkerPool::Create( |
187 task_runner, TileTaskWorkerPool::GetTaskGraphRunner()); | 183 task_runner, TileTaskWorkerPool::GetTaskGraphRunner()); |
188 break; | 184 break; |
189 case ZERO_COPY_TILE_TASK_WORKER_POOL: | 185 case ZERO_COPY_TILE_TASK_WORKER_POOL: |
190 EXPECT_TRUE(context_provider); | 186 EXPECT_TRUE(context_provider); |
191 EXPECT_EQ(PIXEL_TEST_GL, test_type_); | 187 EXPECT_EQ(PIXEL_TEST_GL, test_type_); |
192 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); | 188 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); |
193 *resource_pool = | 189 *resource_pool = |
194 ResourcePool::Create(resource_provider, | 190 ResourcePool::Create(resource_provider, draw_texture_target_, false); |
195 draw_texture_target_, | |
196 resource_provider->best_texture_format()); | |
197 | 191 |
198 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create( | 192 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create( |
199 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), | 193 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), |
200 resource_provider); | 194 resource_provider); |
201 break; | 195 break; |
202 case ONE_COPY_TILE_TASK_WORKER_POOL: | 196 case ONE_COPY_TILE_TASK_WORKER_POOL: |
203 EXPECT_TRUE(context_provider); | 197 EXPECT_TRUE(context_provider); |
204 EXPECT_EQ(PIXEL_TEST_GL, test_type_); | 198 EXPECT_EQ(PIXEL_TEST_GL, test_type_); |
205 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); | 199 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); |
206 // We need to create a staging resource pool when using copy rasterizer. | 200 // We need to create a staging resource pool when using copy rasterizer. |
207 *staging_resource_pool = | 201 *staging_resource_pool = ResourcePool::Create( |
208 ResourcePool::Create(resource_provider, | 202 resource_provider, staging_texture_target_, false); |
209 staging_texture_target_, | 203 *resource_pool = ResourcePool::Create( |
210 resource_provider->best_texture_format()); | 204 resource_provider, draw_texture_target_, false); |
211 *resource_pool = | |
212 ResourcePool::Create(resource_provider, | |
213 draw_texture_target_, | |
214 resource_provider->best_texture_format()); | |
215 | 205 |
216 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create( | 206 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create( |
217 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), | 207 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), |
218 context_provider, resource_provider, staging_resource_pool->get()); | 208 context_provider, resource_provider, staging_resource_pool->get()); |
219 break; | 209 break; |
220 case PIXEL_BUFFER_TILE_TASK_WORKER_POOL: | 210 case PIXEL_BUFFER_TILE_TASK_WORKER_POOL: |
221 EXPECT_TRUE(context_provider); | 211 EXPECT_TRUE(context_provider); |
222 EXPECT_EQ(PIXEL_TEST_GL, test_type_); | 212 EXPECT_EQ(PIXEL_TEST_GL, test_type_); |
223 *resource_pool = ResourcePool::Create( | 213 *resource_pool = |
224 resource_provider, | 214 ResourcePool::Create(resource_provider, draw_texture_target_, true); |
225 draw_texture_target_, | |
226 resource_provider->memory_efficient_texture_format()); | |
227 | 215 |
228 *tile_task_worker_pool = PixelBufferTileTaskWorkerPool::Create( | 216 *tile_task_worker_pool = PixelBufferTileTaskWorkerPool::Create( |
229 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), | 217 task_runner, TileTaskWorkerPool::GetTaskGraphRunner(), |
230 context_provider, resource_provider, max_transfer_buffer_usage_bytes); | 218 context_provider, resource_provider, max_transfer_buffer_usage_bytes); |
231 break; | 219 break; |
232 } | 220 } |
233 } | 221 } |
234 | 222 |
235 void LayerTreeHostPixelResourceTest::RunPixelResourceTest( | 223 void LayerTreeHostPixelResourceTest::RunPixelResourceTest( |
236 scoped_refptr<Layer> content_root, | 224 scoped_refptr<Layer> content_root, |
237 base::FilePath file_name) { | 225 base::FilePath file_name) { |
238 if (!IsTestCaseSupported(test_case_)) | 226 if (!IsTestCaseSupported(test_case_)) |
239 return; | 227 return; |
240 RunPixelTest(test_type_, content_root, file_name); | 228 RunPixelTest(test_type_, content_root, file_name); |
241 | 229 |
242 if (layer_tree_host()) | 230 if (layer_tree_host()) |
243 EXPECT_TRUE(layer_tree_host()->settings().impl_side_painting); | 231 EXPECT_TRUE(layer_tree_host()->settings().impl_side_painting); |
244 } | 232 } |
245 | 233 |
246 ParameterizedPixelResourceTest::ParameterizedPixelResourceTest() | 234 ParameterizedPixelResourceTest::ParameterizedPixelResourceTest() |
247 : LayerTreeHostPixelResourceTest(GetParam()) { | 235 : LayerTreeHostPixelResourceTest(GetParam()) { |
248 } | 236 } |
249 | 237 |
250 } // namespace cc | 238 } // namespace cc |
OLD | NEW |