| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "services/ui/common/server_gpu_memory_buffer_manager.h" | 5 #include "services/ui/common/server_gpu_memory_buffer_manager.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "gpu/ipc/client/gpu_memory_buffer_impl.h" | 8 #include "gpu/ipc/client/gpu_memory_buffer_impl.h" |
| 9 #include "gpu/ipc/client/gpu_memory_buffer_impl_shared_memory.h" | 9 #include "gpu/ipc/client/gpu_memory_buffer_impl_shared_memory.h" |
| 10 #include "gpu/ipc/common/gpu_memory_buffer_support.h" | 10 #include "gpu/ipc/common/gpu_memory_buffer_support.h" |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 gfx::GpuMemoryBufferHandle handle = CreateGpuMemoryBufferHandle( | 60 gfx::GpuMemoryBufferHandle handle = CreateGpuMemoryBufferHandle( |
| 61 id, client_id_, size, format, usage, surface_handle); | 61 id, client_id_, size, format, usage, surface_handle); |
| 62 if (handle.is_null()) | 62 if (handle.is_null()) |
| 63 return nullptr; | 63 return nullptr; |
| 64 return gpu::GpuMemoryBufferImpl::CreateFromHandle( | 64 return gpu::GpuMemoryBufferImpl::CreateFromHandle( |
| 65 handle, size, format, usage, | 65 handle, size, format, usage, |
| 66 base::Bind(&ServerGpuMemoryBufferManager::DestroyGpuMemoryBuffer, | 66 base::Bind(&ServerGpuMemoryBufferManager::DestroyGpuMemoryBuffer, |
| 67 weak_factory_.GetWeakPtr(), id, client_id_)); | 67 weak_factory_.GetWeakPtr(), id, client_id_)); |
| 68 } | 68 } |
| 69 | 69 |
| 70 std::unique_ptr<gfx::GpuMemoryBuffer> | |
| 71 ServerGpuMemoryBufferManager::CreateGpuMemoryBufferFromHandle( | |
| 72 const gfx::GpuMemoryBufferHandle& handle, | |
| 73 const gfx::Size& size, | |
| 74 gfx::BufferFormat format) { | |
| 75 NOTIMPLEMENTED(); | |
| 76 return nullptr; | |
| 77 } | |
| 78 | |
| 79 void ServerGpuMemoryBufferManager::SetDestructionSyncToken( | 70 void ServerGpuMemoryBufferManager::SetDestructionSyncToken( |
| 80 gfx::GpuMemoryBuffer* buffer, | 71 gfx::GpuMemoryBuffer* buffer, |
| 81 const gpu::SyncToken& sync_token) { | 72 const gpu::SyncToken& sync_token) { |
| 82 DCHECK(CalledOnValidThread()); | 73 DCHECK(CalledOnValidThread()); |
| 83 static_cast<gpu::GpuMemoryBufferImpl*>(buffer)->set_destruction_sync_token( | 74 static_cast<gpu::GpuMemoryBufferImpl*>(buffer)->set_destruction_sync_token( |
| 84 sync_token); | 75 sync_token); |
| 85 } | 76 } |
| 86 | 77 |
| 87 void ServerGpuMemoryBufferManager::DestroyGpuMemoryBuffer( | 78 void ServerGpuMemoryBufferManager::DestroyGpuMemoryBuffer( |
| 88 gfx::GpuMemoryBufferId id, | 79 gfx::GpuMemoryBufferId id, |
| 89 int client_id, | 80 int client_id, |
| 90 const gpu::SyncToken& sync_token) { | 81 const gpu::SyncToken& sync_token) { |
| 91 DCHECK(CalledOnValidThread()); | 82 DCHECK(CalledOnValidThread()); |
| 92 if (native_buffers_[client_id].erase(id)) | 83 if (native_buffers_[client_id].erase(id)) |
| 93 gpu_service_->DestroyGpuMemoryBuffer(id, client_id, sync_token); | 84 gpu_service_->DestroyGpuMemoryBuffer(id, client_id, sync_token); |
| 94 } | 85 } |
| 95 | 86 |
| 96 void ServerGpuMemoryBufferManager::DestroyAllGpuMemoryBufferForClient( | 87 void ServerGpuMemoryBufferManager::DestroyAllGpuMemoryBufferForClient( |
| 97 int client_id) { | 88 int client_id) { |
| 98 DCHECK(CalledOnValidThread()); | 89 DCHECK(CalledOnValidThread()); |
| 99 for (gfx::GpuMemoryBufferId id : native_buffers_[client_id]) | 90 for (gfx::GpuMemoryBufferId id : native_buffers_[client_id]) |
| 100 gpu_service_->DestroyGpuMemoryBuffer(id, client_id, gpu::SyncToken()); | 91 gpu_service_->DestroyGpuMemoryBuffer(id, client_id, gpu::SyncToken()); |
| 101 native_buffers_.erase(client_id); | 92 native_buffers_.erase(client_id); |
| 102 } | 93 } |
| 103 | 94 |
| 104 } // namespace ui | 95 } // namespace ui |
| OLD | NEW |