diff options
author | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-27 01:18:35 +0000 |
---|---|---|
committer | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-27 01:18:35 +0000 |
commit | 744e079897d430c91b18352c8e200bbeeadffe8b (patch) | |
tree | 2d75297b938cd2e21586455340240c5b9e88bf32 /gpu/gles2_conform_support | |
parent | 7ba34a0114537b08164b4f44943ec5c25aac9417 (diff) | |
download | chromium_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.cc | 4 | ||||
-rw-r--r-- | gpu/gles2_conform_support/egl/display.h | 2 |
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_; |