| Index: content/browser/gpu/browser_gpu_memory_buffer_manager.cc
|
| diff --git a/content/browser/gpu/browser_gpu_memory_buffer_manager.cc b/content/browser/gpu/browser_gpu_memory_buffer_manager.cc
|
| index a3feef78a5431ad33345e7d82730095ddb55a044..8dfdc6a08bbfa0d3bd95f39430d89aef01ddeddc 100644
|
| --- a/content/browser/gpu/browser_gpu_memory_buffer_manager.cc
|
| +++ b/content/browser/gpu/browser_gpu_memory_buffer_manager.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "content/browser/gpu/browser_gpu_memory_buffer_manager.h"
|
|
|
| +#include "base/atomic_sequence_num.h"
|
| #include "base/bind.h"
|
| #include "base/debug/trace_event.h"
|
| #include "base/lazy_instance.h"
|
| @@ -25,6 +26,9 @@ void GpuMemoryBufferAllocatedForChildProcess(
|
|
|
| BrowserGpuMemoryBufferManager* g_gpu_memory_buffer_manager = nullptr;
|
|
|
| +// Global atomic to generate gpu memory buffer unique IDs.
|
| +base::StaticAtomicSequenceNumber g_next_gpu_memory_buffer_id;
|
| +
|
| } // namespace
|
|
|
| struct BrowserGpuMemoryBufferManager::AllocateGpuMemoryBufferRequest {
|
| @@ -93,6 +97,7 @@ void BrowserGpuMemoryBufferManager::AllocateGpuMemoryBufferForChildProcess(
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
|
|
| GpuMemoryBufferImpl::AllocateForChildProcess(
|
| + g_next_gpu_memory_buffer_id.GetNext(),
|
| size,
|
| format,
|
| usage,
|
| @@ -109,11 +114,13 @@ BrowserGpuMemoryBufferManager::GpuMemoryBufferFromClientBuffer(
|
|
|
| void BrowserGpuMemoryBufferManager::ChildProcessDeletedGpuMemoryBuffer(
|
| gfx::GpuMemoryBufferType type,
|
| - const gfx::GpuMemoryBufferId& id,
|
| - base::ProcessHandle child_process_handle) {
|
| + gfx::GpuMemoryBufferId id,
|
| + base::ProcessHandle child_process_handle,
|
| + int child_client_id) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
|
|
| - GpuMemoryBufferImpl::DeletedByChildProcess(type, id, child_process_handle);
|
| + GpuMemoryBufferImpl::DeletedByChildProcess(
|
| + type, id, child_process_handle, child_client_id);
|
| }
|
|
|
| void BrowserGpuMemoryBufferManager::ProcessRemoved(
|
| @@ -125,6 +132,7 @@ void BrowserGpuMemoryBufferManager::ProcessRemoved(
|
| void BrowserGpuMemoryBufferManager::AllocateGpuMemoryBufferOnIO(
|
| AllocateGpuMemoryBufferRequest* request) {
|
| GpuMemoryBufferImpl::Create(
|
| + g_next_gpu_memory_buffer_id.GetNext(),
|
| request->size,
|
| request->format,
|
| request->usage,
|
|
|