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

Unified Diff: cc/resources/raster_worker_pool_perftest.cc

Issue 236313006: cc: Add initial GPU-to-GPU copy rasterizer implementation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nits Created 6 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/resources/image_copy_raster_worker_pool.cc ('k') | cc/resources/raster_worker_pool_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 8c33d172705674aa0b6ee00bcfcf399626f4c2ed..9f04436ac42a14d30e65a8225630fee096d994c5 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
};
@@ -155,6 +158,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,
@@ -195,6 +200,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_;
};
@@ -219,6 +225,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(),
@@ -362,6 +375,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");
}
@@ -403,6 +418,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,
« no previous file with comments | « cc/resources/image_copy_raster_worker_pool.cc ('k') | cc/resources/raster_worker_pool_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698