diff options
author | dglazkov@chromium.org <dglazkov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-06 20:21:44 +0000 |
---|---|---|
committer | dglazkov@chromium.org <dglazkov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-06 20:21:44 +0000 |
commit | bd45bd252aeb8babac62547a5c605fbf64287cd3 (patch) | |
tree | 97cbf2f8bec035b6cf77c723a4b3b89c61338d79 /webkit | |
parent | 32b6bae0bccbf704fbd07085e6334af7c90957f2 (diff) | |
download | chromium_src-bd45bd252aeb8babac62547a5c605fbf64287cd3.zip chromium_src-bd45bd252aeb8babac62547a5c605fbf64287cd3.tar.gz chromium_src-bd45bd252aeb8babac62547a5c605fbf64287cd3.tar.bz2 |
Revert 113250 - Add CommandBuffer::SetGetBuffer
As well as remove CommandBuffer::GetRingBuffer and
change CommandBuffer::Initialize
Before this change the service allocated and managed the command buffer.
After this change the client uses CreateTransferBuffer, GetTransferBuffer,
end potentially DeleteTransferBufffer to manage the command buffer.
Another CL will actually make the client delete the command buffer
on demand.
TEST=unit tests and run some samples and a NaCl 3D game
BUG=103989
Review URL: http://codereview.chromium.org/8566059
TBR=gman@chromium.org
Review URL: http://codereview.chromium.org/8827005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113255 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc | 2 | ||||
-rw-r--r-- | webkit/plugins/ppapi/ppb_graphics_3d_impl.cc | 13 | ||||
-rw-r--r-- | webkit/plugins/ppapi/ppb_graphics_3d_impl.h | 5 |
3 files changed, 11 insertions, 9 deletions
diff --git a/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc b/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc index d6ac041..9daaa74 100644 --- a/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc +++ b/webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc @@ -457,7 +457,7 @@ bool GLInProcessContext::Initialize(bool onscreen, } command_buffer_.reset(new CommandBufferService); - if (!command_buffer_->Initialize()) { + if (!command_buffer_->Initialize(kCommandBufferSize)) { LOG(ERROR) << "Could not initialize command buffer."; Destroy(); return false; diff --git a/webkit/plugins/ppapi/ppb_graphics_3d_impl.cc b/webkit/plugins/ppapi/ppb_graphics_3d_impl.cc index 7e179a3..2794436 100644 --- a/webkit/plugins/ppapi/ppb_graphics_3d_impl.cc +++ b/webkit/plugins/ppapi/ppb_graphics_3d_impl.cc @@ -87,13 +87,14 @@ PPB_Graphics3D_API* PPB_Graphics3D_Impl::AsPPB_Graphics3D_API() { return this; } -PP_Bool PPB_Graphics3D_Impl::InitCommandBuffer() { - return PP_FromBool(GetCommandBuffer()->Initialize()); +PP_Bool PPB_Graphics3D_Impl::InitCommandBuffer(int32_t size) { + return PP_FromBool(GetCommandBuffer()->Initialize(size)); } -PP_Bool PPB_Graphics3D_Impl::SetGetBuffer(int32_t transfer_buffer_id) { - GetCommandBuffer()->SetGetBuffer(transfer_buffer_id); - return PP_TRUE; +PP_Bool PPB_Graphics3D_Impl::GetRingBuffer(int* shm_handle, + uint32_t* shm_size) { + gpu::Buffer buffer = GetCommandBuffer()->GetRingBuffer(); + return ShmToHandle(buffer.shared_memory, buffer.size, shm_handle, shm_size); } PP_Graphics3DTrustedState PPB_Graphics3D_Impl::GetState() { @@ -190,7 +191,7 @@ bool PPB_Graphics3D_Impl::Init(PP_Resource share_context, return false; gpu::CommandBuffer* command_buffer = GetCommandBuffer(); - if (!command_buffer->Initialize()) + if (!command_buffer->Initialize(kCommandBufferSize)) return false; return CreateGLES2Impl(kCommandBufferSize, kTransferBufferSize); diff --git a/webkit/plugins/ppapi/ppb_graphics_3d_impl.h b/webkit/plugins/ppapi/ppb_graphics_3d_impl.h index 2a341b7..250911b 100644 --- a/webkit/plugins/ppapi/ppb_graphics_3d_impl.h +++ b/webkit/plugins/ppapi/ppb_graphics_3d_impl.h @@ -29,8 +29,9 @@ class PPB_Graphics3D_Impl : public ::ppapi::Resource, virtual ::ppapi::thunk::PPB_Graphics3D_API* AsPPB_Graphics3D_API() OVERRIDE; // PPB_Graphics3D_API trusted implementation. - virtual PP_Bool InitCommandBuffer() OVERRIDE; - virtual PP_Bool SetGetBuffer(int32_t transfer_buffer_id) OVERRIDE; + virtual PP_Bool InitCommandBuffer(int32_t size) OVERRIDE; + virtual PP_Bool GetRingBuffer(int* shm_handle, + uint32_t* shm_size) OVERRIDE; virtual PP_Graphics3DTrustedState GetState() OVERRIDE; virtual int32_t CreateTransferBuffer(uint32_t size) OVERRIDE; virtual PP_Bool DestroyTransferBuffer(int32_t id) OVERRIDE; |