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

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

Issue 562833004: cc: Move RasterBuffer implementations from ResourceProvider to RasterWorkerPool implementations. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: move NullCanvas change to separate patch Created 6 years, 3 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/raster_worker_pool.h" 5 #include "cc/resources/raster_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/gpu_raster_worker_pool.h" 11 #include "cc/resources/gpu_raster_worker_pool.h"
12 #include "cc/resources/image_copy_raster_worker_pool.h" 12 #include "cc/resources/image_copy_raster_worker_pool.h"
13 #include "cc/resources/image_raster_worker_pool.h" 13 #include "cc/resources/image_raster_worker_pool.h"
14 #include "cc/resources/pixel_buffer_raster_worker_pool.h" 14 #include "cc/resources/pixel_buffer_raster_worker_pool.h"
15 #include "cc/resources/raster_buffer.h"
15 #include "cc/resources/rasterizer.h" 16 #include "cc/resources/rasterizer.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/test/fake_output_surface.h" 20 #include "cc/test/fake_output_surface.h"
20 #include "cc/test/fake_output_surface_client.h" 21 #include "cc/test/fake_output_surface_client.h"
21 #include "cc/test/test_context_support.h" 22 #include "cc/test/test_context_support.h"
22 #include "cc/test/test_shared_bitmap_manager.h" 23 #include "cc/test/test_shared_bitmap_manager.h"
23 #include "cc/test/test_web_graphics_context_3d.h" 24 #include "cc/test/test_web_graphics_context_3d.h"
24 #include "testing/gtest/include/gtest/gtest.h" 25 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 16 matching lines...) Expand all
41 buffers[i] = 1u; 42 buffers[i] = 1u;
42 } 43 }
43 virtual void GenTextures(GLsizei n, GLuint* textures) OVERRIDE { 44 virtual void GenTextures(GLsizei n, GLuint* textures) OVERRIDE {
44 for (GLsizei i = 0; i < n; ++i) 45 for (GLsizei i = 0; i < n; ++i)
45 textures[i] = 1u; 46 textures[i] = 1u;
46 } 47 }
47 virtual void GetIntegerv(GLenum pname, GLint* params) OVERRIDE { 48 virtual void GetIntegerv(GLenum pname, GLint* params) OVERRIDE {
48 if (pname == GL_MAX_TEXTURE_SIZE) 49 if (pname == GL_MAX_TEXTURE_SIZE)
49 *params = INT_MAX; 50 *params = INT_MAX;
50 } 51 }
52 virtual void GenQueriesEXT(GLsizei n, GLuint* queries) OVERRIDE {
53 for (GLsizei i = 0; i < n; ++i)
54 queries[i] = 1u;
55 }
56 virtual void GetQueryObjectuivEXT(GLuint query,
57 GLenum pname,
58 GLuint* params) OVERRIDE {
59 if (pname == GL_QUERY_RESULT_AVAILABLE_EXT)
60 *params = 1;
61 }
51 }; 62 };
52 63
53 class PerfContextProvider : public ContextProvider { 64 class PerfContextProvider : public ContextProvider {
54 public: 65 public:
55 PerfContextProvider() : context_gl_(new PerfGLES2Interface) {} 66 PerfContextProvider() : context_gl_(new PerfGLES2Interface) {}
56 67
57 virtual bool BindToCurrentThread() OVERRIDE { return true; } 68 virtual bool BindToCurrentThread() OVERRIDE { return true; }
58 virtual Capabilities ContextCapabilities() OVERRIDE { return Capabilities(); } 69 virtual Capabilities ContextCapabilities() OVERRIDE { return Capabilities(); }
59 virtual gpu::gles2::GLES2Interface* ContextGL() OVERRIDE { 70 virtual gpu::gles2::GLES2Interface* ContextGL() OVERRIDE {
60 return context_gl_.get(); 71 return context_gl_.get();
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 public: 126 public:
116 PerfRasterTaskImpl(scoped_ptr<ScopedResource> resource, 127 PerfRasterTaskImpl(scoped_ptr<ScopedResource> resource,
117 ImageDecodeTask::Vector* dependencies) 128 ImageDecodeTask::Vector* dependencies)
118 : RasterTask(resource.get(), dependencies), resource_(resource.Pass()) {} 129 : RasterTask(resource.get(), dependencies), resource_(resource.Pass()) {}
119 130
120 // Overridden from Task: 131 // Overridden from Task:
121 virtual void RunOnWorkerThread() OVERRIDE {} 132 virtual void RunOnWorkerThread() OVERRIDE {}
122 133
123 // Overridden from RasterizerTask: 134 // Overridden from RasterizerTask:
124 virtual void ScheduleOnOriginThread(RasterizerTaskClient* client) OVERRIDE { 135 virtual void ScheduleOnOriginThread(RasterizerTaskClient* client) OVERRIDE {
125 client->AcquireBufferForRaster(this); 136 raster_buffer_ = client->AcquireBufferForRaster(resource());
126 } 137 }
127 virtual void CompleteOnOriginThread(RasterizerTaskClient* client) OVERRIDE { 138 virtual void CompleteOnOriginThread(RasterizerTaskClient* client) OVERRIDE {
128 client->ReleaseBufferForRaster(this); 139 client->ReleaseBufferForRaster(raster_buffer_.Pass());
129 } 140 }
130 virtual void RunReplyOnOriginThread() OVERRIDE { Reset(); } 141 virtual void RunReplyOnOriginThread() OVERRIDE { Reset(); }
131 142
132 void Reset() { 143 void Reset() {
133 did_run_ = false; 144 did_run_ = false;
134 did_complete_ = false; 145 did_complete_ = false;
135 } 146 }
136 147
137 protected: 148 protected:
138 virtual ~PerfRasterTaskImpl() {} 149 virtual ~PerfRasterTaskImpl() {}
139 150
140 private: 151 private:
141 scoped_ptr<ScopedResource> resource_; 152 scoped_ptr<ScopedResource> resource_;
153 scoped_ptr<RasterBuffer> raster_buffer_;
142 154
143 DISALLOW_COPY_AND_ASSIGN(PerfRasterTaskImpl); 155 DISALLOW_COPY_AND_ASSIGN(PerfRasterTaskImpl);
144 }; 156 };
145 157
146 class RasterWorkerPoolPerfTestBase { 158 class RasterWorkerPoolPerfTestBase {
147 public: 159 public:
148 typedef std::vector<scoped_refptr<RasterTask> > RasterTaskVector; 160 typedef std::vector<scoped_refptr<RasterTask> > RasterTaskVector;
149 161
150 RasterWorkerPoolPerfTestBase() 162 RasterWorkerPoolPerfTestBase()
151 : context_provider_(make_scoped_refptr(new PerfContextProvider)), 163 : context_provider_(make_scoped_refptr(new PerfContextProvider)),
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 RunBuildRasterTaskQueueTest("1_0", 1, 0); 476 RunBuildRasterTaskQueueTest("1_0", 1, 0);
465 RunBuildRasterTaskQueueTest("32_0", 32, 0); 477 RunBuildRasterTaskQueueTest("32_0", 32, 0);
466 RunBuildRasterTaskQueueTest("1_1", 1, 1); 478 RunBuildRasterTaskQueueTest("1_1", 1, 1);
467 RunBuildRasterTaskQueueTest("32_1", 32, 1); 479 RunBuildRasterTaskQueueTest("32_1", 32, 1);
468 RunBuildRasterTaskQueueTest("1_4", 1, 4); 480 RunBuildRasterTaskQueueTest("1_4", 1, 4);
469 RunBuildRasterTaskQueueTest("32_4", 32, 4); 481 RunBuildRasterTaskQueueTest("32_4", 32, 4);
470 } 482 }
471 483
472 } // namespace 484 } // namespace
473 } // namespace cc 485 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698