| Index: cc/resources/raster_worker_pool_perftest.cc
|
| diff --git a/cc/resources/raster_worker_pool_perftest.cc b/cc/resources/raster_worker_pool_perftest.cc
|
| index f99c29396e5fab163377d87be6ef87e9820e512e..da2405e0216b0c3d4e9a9788529293d11dd68c5f 100644
|
| --- a/cc/resources/raster_worker_pool_perftest.cc
|
| +++ b/cc/resources/raster_worker_pool_perftest.cc
|
| @@ -7,9 +7,11 @@
|
| #include "base/time/time.h"
|
| #include "cc/output/context_provider.h"
|
| #include "cc/resources/direct_raster_worker_pool.h"
|
| +#include "cc/resources/image_copy_raster_worker_pool.h"
|
| #include "cc/resources/image_raster_worker_pool.h"
|
| #include "cc/resources/pixel_buffer_raster_worker_pool.h"
|
| #include "cc/resources/rasterizer.h"
|
| +#include "cc/resources/resource_pool.h"
|
| #include "cc/resources/resource_provider.h"
|
| #include "cc/resources/scoped_resource.h"
|
| #include "cc/test/fake_output_surface.h"
|
| @@ -74,6 +76,7 @@ class PerfContextProvider : public ContextProvider {
|
| enum RasterWorkerPoolType {
|
| RASTER_WORKER_POOL_TYPE_PIXEL_BUFFER,
|
| RASTER_WORKER_POOL_TYPE_IMAGE,
|
| + RASTER_WORKER_POOL_TYPE_IMAGE_COPY,
|
| RASTER_WORKER_POOL_TYPE_DIRECT
|
| };
|
|
|
| @@ -157,6 +160,8 @@ class RasterWorkerPoolPerfTestBase {
|
| ResourceProvider::Create(
|
| output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1)
|
| .Pass();
|
| + staging_resource_pool_ = ResourcePool::Create(
|
| + resource_provider_.get(), GL_TEXTURE_2D, RGBA_8888);
|
| }
|
|
|
| void CreateImageDecodeTasks(unsigned num_image_decode_tasks,
|
| @@ -197,6 +202,7 @@ class RasterWorkerPoolPerfTestBase {
|
| scoped_ptr<FakeOutputSurface> output_surface_;
|
| scoped_ptr<SharedBitmapManager> shared_bitmap_manager_;
|
| scoped_ptr<ResourceProvider> resource_provider_;
|
| + scoped_ptr<ResourcePool> staging_resource_pool_;
|
| scoped_ptr<TaskGraphRunner> task_graph_runner_;
|
| LapTimer timer_;
|
| };
|
| @@ -221,6 +227,13 @@ class RasterWorkerPoolPerfTest
|
| task_graph_runner_.get(),
|
| resource_provider_.get());
|
| break;
|
| + case RASTER_WORKER_POOL_TYPE_IMAGE_COPY:
|
| + raster_worker_pool_ = ImageCopyRasterWorkerPool::Create(
|
| + base::MessageLoopProxy::current().get(),
|
| + task_graph_runner_.get(),
|
| + resource_provider_.get(),
|
| + staging_resource_pool_.get());
|
| + break;
|
| case RASTER_WORKER_POOL_TYPE_DIRECT:
|
| raster_worker_pool_ = DirectRasterWorkerPool::Create(
|
| base::MessageLoopProxy::current().get(),
|
| @@ -364,6 +377,8 @@ class RasterWorkerPoolPerfTest
|
| return std::string("_pixel_raster_worker_pool");
|
| case RASTER_WORKER_POOL_TYPE_IMAGE:
|
| return std::string("_image_raster_worker_pool");
|
| + case RASTER_WORKER_POOL_TYPE_IMAGE_COPY:
|
| + return std::string("_image_copy_raster_worker_pool");
|
| case RASTER_WORKER_POOL_TYPE_DIRECT:
|
| return std::string("_direct_raster_worker_pool");
|
| }
|
| @@ -405,6 +420,7 @@ INSTANTIATE_TEST_CASE_P(RasterWorkerPoolPerfTests,
|
| RasterWorkerPoolPerfTest,
|
| ::testing::Values(RASTER_WORKER_POOL_TYPE_PIXEL_BUFFER,
|
| RASTER_WORKER_POOL_TYPE_IMAGE,
|
| + RASTER_WORKER_POOL_TYPE_IMAGE_COPY,
|
| RASTER_WORKER_POOL_TYPE_DIRECT));
|
|
|
| class RasterWorkerPoolCommonPerfTest : public RasterWorkerPoolPerfTestBase,
|
|
|