Made the registration and deletion of transfer buffers async.
Added a thread safe way to duplicate a shared memory handle for the GPU process.
Removed synchronous IPC to set the command buffer shared state buffer.
Removed CreateTransferBuffer IPC. Removed request_id arg from transfer buffer IPCs. It wasn't being used.
BUG=166229
Review URL: https://chromiumcodereview.appspot.com/11640008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174303 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/ppapi/proxy/ppb_graphics_3d_proxy.cc b/ppapi/proxy/ppb_graphics_3d_proxy.cc
index 9919df33..747b459 100644
--- a/ppapi/proxy/ppb_graphics_3d_proxy.cc
+++ b/ppapi/proxy/ppb_graphics_3d_proxy.cc
@@ -146,24 +146,18 @@
MaybeLock lock(need_to_lock_);
gpu_command_buffer_->SetGetOffset(get_offset);
}
- virtual int32 CreateTransferBuffer(size_t size, int32 id_request) OVERRIDE {
+ virtual gpu::Buffer CreateTransferBuffer(size_t size,
+ int32* id) OVERRIDE {
MaybeLock lock(need_to_lock_);
- return gpu_command_buffer_->CreateTransferBuffer(size, id_request);
- }
- virtual int32 RegisterTransferBuffer(base::SharedMemory* shared_memory,
- size_t size,
- int32 id_request) OVERRIDE {
- MaybeLock lock(need_to_lock_);
- return gpu_command_buffer_->RegisterTransferBuffer(shared_memory, size,
- id_request);
+ return gpu_command_buffer_->CreateTransferBuffer(size, id);
}
virtual void DestroyTransferBuffer(int32 id) OVERRIDE {
MaybeLock lock(need_to_lock_);
gpu_command_buffer_->DestroyTransferBuffer(id);
}
- virtual gpu::Buffer GetTransferBuffer(int32 handle) OVERRIDE {
+ virtual gpu::Buffer GetTransferBuffer(int32 id) OVERRIDE {
MaybeLock lock(need_to_lock_);
- return gpu_command_buffer_->GetTransferBuffer(handle);
+ return gpu_command_buffer_->GetTransferBuffer(id);
}
virtual void SetToken(int32 token) OVERRIDE {
MaybeLock lock(need_to_lock_);
@@ -457,7 +451,7 @@
if (enter.succeeded())
*id = enter.object()->CreateTransferBuffer(size);
else
- *id = 0;
+ *id = -1;
}
void PPB_Graphics3D_Proxy::OnMsgDestroyTransferBuffer(