summaryrefslogtreecommitdiffstats
path: root/gpu/gles2_conform_support
diff options
context:
space:
mode:
authorpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-27 01:18:35 +0000
committerpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-27 01:18:35 +0000
commit744e079897d430c91b18352c8e200bbeeadffe8b (patch)
tree2d75297b938cd2e21586455340240c5b9e88bf32 /gpu/gles2_conform_support
parent7ba34a0114537b08164b4f44943ec5c25aac9417 (diff)
downloadchromium_src-744e079897d430c91b18352c8e200bbeeadffe8b.zip
chromium_src-744e079897d430c91b18352c8e200bbeeadffe8b.tar.gz
chromium_src-744e079897d430c91b18352c8e200bbeeadffe8b.tar.bz2
Make *CommandBufferProxy* implement GpuControl
GpuControl is where we will pipe out-of-band stuff, that is currently done in each of the WGC3D implementations, but we want to move down into GLES2Implementation. This is essentially just a refactoring, since the current GpuControl only deals with GpuMemoryBuffer that's not available out-of-process, but we can then add things like GenerateMailboxes, Ensure/DiscardBackbuffer or callback stuff on top. BUG=181120 R=dmichael@chromium.org, sievers@chromium.org Review URL: https://codereview.chromium.org/24711002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225627 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/gles2_conform_support')
-rw-r--r--gpu/gles2_conform_support/egl/display.cc4
-rw-r--r--gpu/gles2_conform_support/egl/display.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/gpu/gles2_conform_support/egl/display.cc b/gpu/gles2_conform_support/egl/display.cc
index 87bd809..cdc4fdb 100644
--- a/gpu/gles2_conform_support/egl/display.cc
+++ b/gpu/gles2_conform_support/egl/display.cc
@@ -11,6 +11,7 @@
#include "gpu/command_buffer/client/gles2_lib.h"
#include "gpu/command_buffer/client/transfer_buffer.h"
#include "gpu/command_buffer/service/context_group.h"
+#include "gpu/command_buffer/service/gpu_control_service.h"
#include "gpu/command_buffer/service/transfer_buffer_manager.h"
#include "gpu/gles2_conform_support/egl/config.h"
#include "gpu/gles2_conform_support/egl/surface.h"
@@ -122,6 +123,7 @@ EGLSurface Display::CreateWindowSurface(EGLConfig config,
gpu_scheduler_.reset(new gpu::GpuScheduler(command_buffer.get(),
decoder_.get(),
NULL));
+ gpu_control_.reset(new gpu::GpuControlService(NULL, NULL));
decoder_->set_engine(gpu_scheduler_.get());
gfx::Size size(create_offscreen_width_, create_offscreen_height_);
@@ -228,7 +230,7 @@ EGLContext Display::CreateContext(EGLConfig config,
NULL,
transfer_buffer_.get(),
true,
- NULL));
+ gpu_control_.get()));
if (!context_->Initialize(
kTransferBufferSize,
diff --git a/gpu/gles2_conform_support/egl/display.h b/gpu/gles2_conform_support/egl/display.h
index 251904c..f7c0ff3 100644
--- a/gpu/gles2_conform_support/egl/display.h
+++ b/gpu/gles2_conform_support/egl/display.h
@@ -18,6 +18,7 @@
namespace gpu {
class CommandBufferService;
+class GpuControl;
class GpuScheduler;
class TransferBuffer;
class TransferBufferManagerInterface;
@@ -83,6 +84,7 @@ class Display {
scoped_ptr<gpu::CommandBufferService> command_buffer_;
scoped_ptr<gpu::GpuScheduler> gpu_scheduler_;
scoped_ptr<gpu::gles2::GLES2Decoder> decoder_;
+ scoped_ptr<gpu::GpuControl> gpu_control_;
scoped_refptr<gfx::GLContext> gl_context_;
scoped_refptr<gfx::GLSurface> gl_surface_;
scoped_ptr<gpu::gles2::GLES2CmdHelper> gles2_cmd_helper_;