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

Side by Side Diff: cc/resources/tile_task_worker_pool_perftest.cc

Issue 916723002: cc: Add threaded GPU rasterization. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Implement ContextProviderInProcess::DetachFromThread(). Created 5 years, 10 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
OLDNEW
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/resources/tile_task_worker_pool.h" 5 #include "cc/resources/tile_task_worker_pool.h"
6 6
7 #include "base/test/test_simple_task_runner.h" 7 #include "base/test/test_simple_task_runner.h"
8 #include "base/time/time.h" 8 #include "base/time/time.h"
9 #include "cc/debug/lap_timer.h" 9 #include "cc/debug/lap_timer.h"
10 #include "cc/output/context_provider.h" 10 #include "cc/output/context_provider.h"
11 #include "cc/resources/bitmap_tile_task_worker_pool.h" 11 #include "cc/resources/bitmap_tile_task_worker_pool.h"
12 #include "cc/resources/gpu_rasterizer.h"
12 #include "cc/resources/gpu_tile_task_worker_pool.h" 13 #include "cc/resources/gpu_tile_task_worker_pool.h"
13 #include "cc/resources/one_copy_tile_task_worker_pool.h" 14 #include "cc/resources/one_copy_tile_task_worker_pool.h"
14 #include "cc/resources/pixel_buffer_tile_task_worker_pool.h" 15 #include "cc/resources/pixel_buffer_tile_task_worker_pool.h"
15 #include "cc/resources/raster_buffer.h" 16 #include "cc/resources/raster_buffer.h"
16 #include "cc/resources/resource_pool.h" 17 #include "cc/resources/resource_pool.h"
17 #include "cc/resources/resource_provider.h" 18 #include "cc/resources/resource_provider.h"
18 #include "cc/resources/scoped_resource.h" 19 #include "cc/resources/scoped_resource.h"
19 #include "cc/resources/tile_task_runner.h" 20 #include "cc/resources/tile_task_runner.h"
20 #include "cc/resources/zero_copy_tile_task_worker_pool.h" 21 #include "cc/resources/zero_copy_tile_task_worker_pool.h"
21 #include "cc/test/fake_output_surface.h" 22 #include "cc/test/fake_output_surface.h"
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 queue->items.push_back( 225 queue->items.push_back(
225 TileTaskQueue::Item(raster_tasks[i].get(), task_set_collection)); 226 TileTaskQueue::Item(raster_tasks[i].get(), task_set_collection));
226 } 227 }
227 } 228 }
228 229
229 protected: 230 protected:
230 scoped_refptr<ContextProvider> context_provider_; 231 scoped_refptr<ContextProvider> context_provider_;
231 FakeOutputSurfaceClient output_surface_client_; 232 FakeOutputSurfaceClient output_surface_client_;
232 scoped_ptr<FakeOutputSurface> output_surface_; 233 scoped_ptr<FakeOutputSurface> output_surface_;
233 scoped_ptr<ResourceProvider> resource_provider_; 234 scoped_ptr<ResourceProvider> resource_provider_;
235 scoped_ptr<Rasterizer> rasterizer_;
234 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; 236 scoped_refptr<base::TestSimpleTaskRunner> task_runner_;
235 scoped_ptr<TaskGraphRunner> task_graph_runner_; 237 scoped_ptr<TaskGraphRunner> task_graph_runner_;
236 LapTimer timer_; 238 LapTimer timer_;
237 }; 239 };
238 240
239 class TileTaskWorkerPoolPerfTest 241 class TileTaskWorkerPoolPerfTest
240 : public TileTaskWorkerPoolPerfTestBase, 242 : public TileTaskWorkerPoolPerfTestBase,
241 public testing::TestWithParam<TileTaskWorkerPoolType>, 243 public testing::TestWithParam<TileTaskWorkerPoolType>,
242 public TileTaskRunnerClient { 244 public TileTaskRunnerClient {
243 public: 245 public:
(...skipping 19 matching lines...) Expand all
263 GL_TEXTURE_2D); 265 GL_TEXTURE_2D);
264 tile_task_worker_pool_ = OneCopyTileTaskWorkerPool::Create( 266 tile_task_worker_pool_ = OneCopyTileTaskWorkerPool::Create(
265 task_runner_.get(), task_graph_runner_.get(), 267 task_runner_.get(), task_graph_runner_.get(),
266 context_provider_.get(), resource_provider_.get(), 268 context_provider_.get(), resource_provider_.get(),
267 staging_resource_pool_.get()); 269 staging_resource_pool_.get());
268 break; 270 break;
269 case TILE_TASK_WORKER_POOL_TYPE_GPU: 271 case TILE_TASK_WORKER_POOL_TYPE_GPU:
270 Create3dOutputSurfaceAndResourceProvider(); 272 Create3dOutputSurfaceAndResourceProvider();
271 tile_task_worker_pool_ = GpuTileTaskWorkerPool::Create( 273 tile_task_worker_pool_ = GpuTileTaskWorkerPool::Create(
272 task_runner_.get(), task_graph_runner_.get(), 274 task_runner_.get(), task_graph_runner_.get(),
273 resource_provider_.get()); 275 static_cast<GpuRasterizer*>(rasterizer_.get()));
274 break; 276 break;
275 case TILE_TASK_WORKER_POOL_TYPE_BITMAP: 277 case TILE_TASK_WORKER_POOL_TYPE_BITMAP:
276 CreateSoftwareOutputSurfaceAndResourceProvider(); 278 CreateSoftwareOutputSurfaceAndResourceProvider();
277 tile_task_worker_pool_ = BitmapTileTaskWorkerPool::Create( 279 tile_task_worker_pool_ = BitmapTileTaskWorkerPool::Create(
278 task_runner_.get(), task_graph_runner_.get(), 280 task_runner_.get(), task_graph_runner_.get(),
279 resource_provider_.get()); 281 resource_provider_.get());
280 break; 282 break;
281 } 283 }
282 284
283 DCHECK(tile_task_worker_pool_); 285 DCHECK(tile_task_worker_pool_);
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
507 RunBuildTileTaskQueueTest("1_0", 1, 0); 509 RunBuildTileTaskQueueTest("1_0", 1, 0);
508 RunBuildTileTaskQueueTest("32_0", 32, 0); 510 RunBuildTileTaskQueueTest("32_0", 32, 0);
509 RunBuildTileTaskQueueTest("1_1", 1, 1); 511 RunBuildTileTaskQueueTest("1_1", 1, 1);
510 RunBuildTileTaskQueueTest("32_1", 32, 1); 512 RunBuildTileTaskQueueTest("32_1", 32, 1);
511 RunBuildTileTaskQueueTest("1_4", 1, 4); 513 RunBuildTileTaskQueueTest("1_4", 1, 4);
512 RunBuildTileTaskQueueTest("32_4", 32, 4); 514 RunBuildTileTaskQueueTest("32_4", 32, 4);
513 } 515 }
514 516
515 } // namespace 517 } // namespace
516 } // namespace cc 518 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698