| Index: content/child/child_gpu_memory_buffer_manager.cc
|
| diff --git a/content/child/child_gpu_memory_buffer_manager.cc b/content/child/child_gpu_memory_buffer_manager.cc
|
| index 3cef2b7937e04ef07d2b6d6638d22aec75768c5c..4bc967a92c73f4f9605584871040550f2709a414 100644
|
| --- a/content/child/child_gpu_memory_buffer_manager.cc
|
| +++ b/content/child/child_gpu_memory_buffer_manager.cc
|
| @@ -12,82 +12,35 @@
|
| #include "gpu/ipc/client/gpu_memory_buffer_impl.h"
|
|
|
| namespace content {
|
| -namespace {
|
| -
|
| -void DeletedGpuMemoryBuffer(ThreadSafeSender* sender,
|
| - gfx::GpuMemoryBufferId id,
|
| - const gpu::SyncToken& sync_token) {
|
| - TRACE_EVENT0("renderer",
|
| - "ChildGpuMemoryBufferManager::DeletedGpuMemoryBuffer");
|
| - sender->Send(new ChildProcessHostMsg_DeletedGpuMemoryBuffer(id, sync_token));
|
| -}
|
| -
|
| -} // namespace
|
|
|
| ChildGpuMemoryBufferManager::ChildGpuMemoryBufferManager(
|
| ThreadSafeSender* sender)
|
| - : sender_(sender) {
|
| -}
|
| + : sender_(sender),
|
| + gpu_memory_buffer_manager_(
|
| + make_scoped_refptr(new gpu::ClientGpuMemoryBufferManager(this))) {}
|
|
|
| ChildGpuMemoryBufferManager::~ChildGpuMemoryBufferManager() {
|
| + gpu_memory_buffer_manager_->reset_delegate();
|
| }
|
|
|
| -std::unique_ptr<gfx::GpuMemoryBuffer>
|
| -ChildGpuMemoryBufferManager::AllocateGpuMemoryBuffer(
|
| +gfx::GpuMemoryBufferHandle ChildGpuMemoryBufferManager::GetSharedMemoryHandle(
|
| const gfx::Size& size,
|
| gfx::BufferFormat format,
|
| - gfx::BufferUsage usage,
|
| - gpu::SurfaceHandle surface_handle) {
|
| - DCHECK_EQ(gpu::kNullSurfaceHandle, surface_handle);
|
| - TRACE_EVENT2("renderer",
|
| - "ChildGpuMemoryBufferManager::AllocateGpuMemoryBuffer",
|
| - "width",
|
| - size.width(),
|
| - "height",
|
| - size.height());
|
| -
|
| + gfx::BufferUsage usage) {
|
| gfx::GpuMemoryBufferHandle handle;
|
| IPC::Message* message = new ChildProcessHostMsg_SyncAllocateGpuMemoryBuffer(
|
| content::GetNextGenericSharedMemoryId(), size.width(), size.height(),
|
| format, usage, &handle);
|
| bool success = sender_->Send(message);
|
| - if (!success || handle.is_null())
|
| - return nullptr;
|
| -
|
| - std::unique_ptr<gpu::GpuMemoryBufferImpl> buffer(
|
| - gpu::GpuMemoryBufferImpl::CreateFromHandle(
|
| - handle, size, format, usage,
|
| - base::Bind(&DeletedGpuMemoryBuffer, base::RetainedRef(sender_),
|
| - handle.id)));
|
| - if (!buffer) {
|
| - sender_->Send(new ChildProcessHostMsg_DeletedGpuMemoryBuffer(
|
| - handle.id, gpu::SyncToken()));
|
| - return nullptr;
|
| - }
|
| -
|
| - return std::move(buffer);
|
| -}
|
| -
|
| -std::unique_ptr<gfx::GpuMemoryBuffer>
|
| -ChildGpuMemoryBufferManager::CreateGpuMemoryBufferFromHandle(
|
| - const gfx::GpuMemoryBufferHandle& handle,
|
| - const gfx::Size& size,
|
| - gfx::BufferFormat format) {
|
| - NOTIMPLEMENTED();
|
| - return nullptr;
|
| + return success ? handle : gfx::GpuMemoryBufferHandle();
|
| }
|
|
|
| -gfx::GpuMemoryBuffer*
|
| -ChildGpuMemoryBufferManager::GpuMemoryBufferFromClientBuffer(
|
| - ClientBuffer buffer) {
|
| - return gpu::GpuMemoryBufferImpl::FromClientBuffer(buffer);
|
| -}
|
| -
|
| -void ChildGpuMemoryBufferManager::SetDestructionSyncToken(
|
| - gfx::GpuMemoryBuffer* buffer,
|
| - const gpu::SyncToken& sync_token) {
|
| - static_cast<gpu::GpuMemoryBufferImpl*>(buffer)->set_destruction_sync_token(
|
| - sync_token);
|
| +void ChildGpuMemoryBufferManager::DeletedGpuMemoryBuffer(
|
| + gfx::GpuMemoryBufferId id,
|
| + const gpu::SyncToken& token) {
|
| + TRACE_EVENT0("renderer",
|
| + "ChildGpuMemoryBufferManager::DeletedGpuMemoryBuffer");
|
| + sender_->Send(new ChildProcessHostMsg_DeletedGpuMemoryBuffer(id, token));
|
| }
|
|
|
| } // namespace content
|
|
|