| 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/raster/bitmap_tile_task_worker_pool.h" | 8 #include "cc/raster/bitmap_tile_task_worker_pool.h" |
| 9 #include "cc/raster/gpu_rasterizer.h" | 9 #include "cc/raster/gpu_rasterizer.h" |
| 10 #include "cc/raster/gpu_tile_task_worker_pool.h" | 10 #include "cc/raster/gpu_tile_task_worker_pool.h" |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 draw_texture_target_ = GL_TEXTURE_2D; | 120 draw_texture_target_ = GL_TEXTURE_2D; |
| 121 resource_pool_option_ = PIXEL_BUFFER_TILE_TASK_WORKER_POOL; | 121 resource_pool_option_ = PIXEL_BUFFER_TILE_TASK_WORKER_POOL; |
| 122 return; | 122 return; |
| 123 } | 123 } |
| 124 NOTREACHED(); | 124 NOTREACHED(); |
| 125 } | 125 } |
| 126 | 126 |
| 127 void LayerTreeHostPixelResourceTest::CreateResourceAndTileTaskWorkerPool( | 127 void LayerTreeHostPixelResourceTest::CreateResourceAndTileTaskWorkerPool( |
| 128 LayerTreeHostImpl* host_impl, | 128 LayerTreeHostImpl* host_impl, |
| 129 scoped_ptr<TileTaskWorkerPool>* tile_task_worker_pool, | 129 scoped_ptr<TileTaskWorkerPool>* tile_task_worker_pool, |
| 130 scoped_ptr<ResourcePool>* resource_pool, | 130 scoped_ptr<ResourcePool>* resource_pool) { |
| 131 scoped_ptr<ResourcePool>* staging_resource_pool) { | |
| 132 base::SingleThreadTaskRunner* task_runner = | 131 base::SingleThreadTaskRunner* task_runner = |
| 133 proxy()->HasImplThread() ? proxy()->ImplThreadTaskRunner() | 132 proxy()->HasImplThread() ? proxy()->ImplThreadTaskRunner() |
| 134 : proxy()->MainThreadTaskRunner(); | 133 : proxy()->MainThreadTaskRunner(); |
| 135 DCHECK(task_runner); | 134 DCHECK(task_runner); |
| 136 DCHECK(initialized_); | 135 DCHECK(initialized_); |
| 137 | 136 |
| 138 ContextProvider* context_provider = | 137 ContextProvider* context_provider = |
| 139 host_impl->output_surface()->context_provider(); | 138 host_impl->output_surface()->context_provider(); |
| 140 ResourceProvider* resource_provider = host_impl->resource_provider(); | 139 ResourceProvider* resource_provider = host_impl->resource_provider(); |
| 141 size_t max_transfer_buffer_usage_bytes = 1024u * 1024u * 60u; | 140 size_t max_transfer_buffer_usage_bytes = 1024u * 1024u * 60u; |
| 142 int max_bytes_per_copy_operation = 1024 * 1024; | 141 int max_bytes_per_copy_operation = 1024 * 1024; |
| 142 int max_staging_buffers = 32; |
| 143 | 143 |
| 144 switch (resource_pool_option_) { | 144 switch (resource_pool_option_) { |
| 145 case BITMAP_TILE_TASK_WORKER_POOL: | 145 case BITMAP_TILE_TASK_WORKER_POOL: |
| 146 EXPECT_FALSE(context_provider); | 146 EXPECT_FALSE(context_provider); |
| 147 EXPECT_EQ(PIXEL_TEST_SOFTWARE, test_type_); | 147 EXPECT_EQ(PIXEL_TEST_SOFTWARE, test_type_); |
| 148 *resource_pool = | 148 *resource_pool = |
| 149 ResourcePool::Create(resource_provider, | 149 ResourcePool::Create(resource_provider, |
| 150 draw_texture_target_); | 150 draw_texture_target_); |
| 151 | 151 |
| 152 *tile_task_worker_pool = BitmapTileTaskWorkerPool::Create( | 152 *tile_task_worker_pool = BitmapTileTaskWorkerPool::Create( |
| (...skipping 17 matching lines...) Expand all Loading... |
| 170 *resource_pool = | 170 *resource_pool = |
| 171 ResourcePool::Create(resource_provider, draw_texture_target_); | 171 ResourcePool::Create(resource_provider, draw_texture_target_); |
| 172 | 172 |
| 173 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create( | 173 *tile_task_worker_pool = ZeroCopyTileTaskWorkerPool::Create( |
| 174 task_runner, task_graph_runner(), resource_provider); | 174 task_runner, task_graph_runner(), resource_provider); |
| 175 break; | 175 break; |
| 176 case ONE_COPY_TILE_TASK_WORKER_POOL: | 176 case ONE_COPY_TILE_TASK_WORKER_POOL: |
| 177 EXPECT_TRUE(context_provider); | 177 EXPECT_TRUE(context_provider); |
| 178 EXPECT_EQ(PIXEL_TEST_GL, test_type_); | 178 EXPECT_EQ(PIXEL_TEST_GL, test_type_); |
| 179 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); | 179 EXPECT_TRUE(host_impl->GetRendererCapabilities().using_image); |
| 180 // We need to create a staging resource pool when using copy rasterizer. | |
| 181 *staging_resource_pool = | |
| 182 ResourcePool::Create(resource_provider, staging_texture_target_); | |
| 183 *resource_pool = | 180 *resource_pool = |
| 184 ResourcePool::Create(resource_provider, draw_texture_target_); | 181 ResourcePool::Create(resource_provider, draw_texture_target_); |
| 185 | 182 |
| 186 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create( | 183 *tile_task_worker_pool = OneCopyTileTaskWorkerPool::Create( |
| 187 task_runner, task_graph_runner(), context_provider, resource_provider, | 184 task_runner, task_graph_runner(), context_provider, resource_provider, |
| 188 staging_resource_pool->get(), max_bytes_per_copy_operation, false); | 185 max_bytes_per_copy_operation, false, staging_texture_target_, |
| 186 max_staging_buffers); |
| 189 break; | 187 break; |
| 190 case PIXEL_BUFFER_TILE_TASK_WORKER_POOL: | 188 case PIXEL_BUFFER_TILE_TASK_WORKER_POOL: |
| 191 EXPECT_TRUE(context_provider); | 189 EXPECT_TRUE(context_provider); |
| 192 EXPECT_EQ(PIXEL_TEST_GL, test_type_); | 190 EXPECT_EQ(PIXEL_TEST_GL, test_type_); |
| 193 *resource_pool = ResourcePool::Create( | 191 *resource_pool = ResourcePool::Create( |
| 194 resource_provider, draw_texture_target_); | 192 resource_provider, draw_texture_target_); |
| 195 | 193 |
| 196 *tile_task_worker_pool = PixelBufferTileTaskWorkerPool::Create( | 194 *tile_task_worker_pool = PixelBufferTileTaskWorkerPool::Create( |
| 197 task_runner, task_graph_runner(), context_provider, resource_provider, | 195 task_runner, task_graph_runner(), context_provider, resource_provider, |
| 198 max_transfer_buffer_usage_bytes); | 196 max_transfer_buffer_usage_bytes); |
| 199 break; | 197 break; |
| 200 } | 198 } |
| 201 } | 199 } |
| 202 | 200 |
| 203 void LayerTreeHostPixelResourceTest::RunPixelResourceTest( | 201 void LayerTreeHostPixelResourceTest::RunPixelResourceTest( |
| 204 scoped_refptr<Layer> content_root, | 202 scoped_refptr<Layer> content_root, |
| 205 base::FilePath file_name) { | 203 base::FilePath file_name) { |
| 206 if (!IsTestCaseSupported(test_case_)) | 204 if (!IsTestCaseSupported(test_case_)) |
| 207 return; | 205 return; |
| 208 RunPixelTest(test_type_, content_root, file_name); | 206 RunPixelTest(test_type_, content_root, file_name); |
| 209 } | 207 } |
| 210 | 208 |
| 211 ParameterizedPixelResourceTest::ParameterizedPixelResourceTest() | 209 ParameterizedPixelResourceTest::ParameterizedPixelResourceTest() |
| 212 : LayerTreeHostPixelResourceTest(GetParam()) { | 210 : LayerTreeHostPixelResourceTest(GetParam()) { |
| 213 } | 211 } |
| 214 | 212 |
| 215 } // namespace cc | 213 } // namespace cc |
| OLD | NEW |