| 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 4008ef8d6010755879567e99d2c133b35202769b..9ad6f73130c32328891e002d4e866a629c7484fd 100644
|
| --- a/cc/resources/raster_worker_pool_perftest.cc
|
| +++ b/cc/resources/raster_worker_pool_perftest.cc
|
| @@ -12,6 +12,7 @@
|
| #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/raster_buffer.h"
|
| #include "cc/resources/rasterizer.h"
|
| #include "cc/resources/resource_pool.h"
|
| #include "cc/resources/resource_provider.h"
|
| @@ -48,6 +49,16 @@ class PerfGLES2Interface : public gpu::gles2::GLES2InterfaceStub {
|
| if (pname == GL_MAX_TEXTURE_SIZE)
|
| *params = INT_MAX;
|
| }
|
| + virtual void GenQueriesEXT(GLsizei n, GLuint* queries) OVERRIDE {
|
| + for (GLsizei i = 0; i < n; ++i)
|
| + queries[i] = 1u;
|
| + }
|
| + virtual void GetQueryObjectuivEXT(GLuint query,
|
| + GLenum pname,
|
| + GLuint* params) OVERRIDE {
|
| + if (pname == GL_QUERY_RESULT_AVAILABLE_EXT)
|
| + *params = 1;
|
| + }
|
| };
|
|
|
| class PerfContextProvider : public ContextProvider {
|
| @@ -55,7 +66,12 @@ class PerfContextProvider : public ContextProvider {
|
| PerfContextProvider() : context_gl_(new PerfGLES2Interface) {}
|
|
|
| virtual bool BindToCurrentThread() OVERRIDE { return true; }
|
| - virtual Capabilities ContextCapabilities() OVERRIDE { return Capabilities(); }
|
| + virtual Capabilities ContextCapabilities() OVERRIDE {
|
| + Capabilities capabilities;
|
| + capabilities.gpu.map_image = true;
|
| + capabilities.gpu.sync_query = true;
|
| + return capabilities;
|
| + }
|
| virtual gpu::gles2::GLES2Interface* ContextGL() OVERRIDE {
|
| return context_gl_.get();
|
| }
|
| @@ -122,10 +138,10 @@ class PerfRasterTaskImpl : public RasterTask {
|
|
|
| // Overridden from RasterizerTask:
|
| virtual void ScheduleOnOriginThread(RasterizerTaskClient* client) OVERRIDE {
|
| - client->AcquireBufferForRaster(this);
|
| + raster_buffer_ = client->AcquireBufferForRaster(resource());
|
| }
|
| virtual void CompleteOnOriginThread(RasterizerTaskClient* client) OVERRIDE {
|
| - client->ReleaseBufferForRaster(this);
|
| + client->ReleaseBufferForRaster(raster_buffer_.Pass());
|
| }
|
| virtual void RunReplyOnOriginThread() OVERRIDE { Reset(); }
|
|
|
| @@ -139,6 +155,7 @@ class PerfRasterTaskImpl : public RasterTask {
|
|
|
| private:
|
| scoped_ptr<ScopedResource> resource_;
|
| + scoped_ptr<RasterBuffer> raster_buffer_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(PerfRasterTaskImpl);
|
| };
|
|
|