Chromium Code Reviews| 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 70184a0f48aeb2218554e36f37314ed2ba6854ac..564a0b79ef09ec6e06a4f340b41e4f70d0b891a7 100644 |
| --- a/content/browser/gpu/browser_gpu_memory_buffer_manager.cc |
| +++ b/content/browser/gpu/browser_gpu_memory_buffer_manager.cc |
| @@ -100,7 +100,9 @@ BrowserGpuMemoryBufferManager::AllocateGpuMemoryBufferCommon( |
| if (!gpu_memory_buffer_factory_host_->IsGpuMemoryBufferConfigurationSupported( |
| format, usage)) { |
| DCHECK(GpuMemoryBufferImplSharedMemory::IsFormatSupported(format)); |
| - DCHECK_EQ(usage, gfx::GpuMemoryBuffer::MAP); |
| + DCHECK(usage == gfx::GpuMemoryBuffer::MAP || |
| + usage == gfx::GpuMemoryBuffer::PERSISTENT_MAP) |
| + << usage; |
|
reveman
2015/05/19 16:12:12
Do you mind adding a GpuMemoryBufferImplSharedMemo
danakj
2015/05/19 22:19:43
Done.
|
| return GpuMemoryBufferImplSharedMemory::Create( |
| g_next_gpu_memory_buffer_id.GetNext(), size, format); |
| } |
| @@ -142,8 +144,12 @@ void BrowserGpuMemoryBufferManager::AllocateGpuMemoryBufferForChildProcess( |
| format, usage)) { |
| // Early out if we cannot fallback to shared memory buffer. |
| if (!GpuMemoryBufferImplSharedMemory::IsFormatSupported(format) || |
| - !GpuMemoryBufferImplSharedMemory::IsSizeValidForFormat(size, format) || |
| - usage != gfx::GpuMemoryBuffer::MAP) { |
| + !GpuMemoryBufferImplSharedMemory::IsSizeValidForFormat(size, format)) { |
| + callback.Run(gfx::GpuMemoryBufferHandle()); |
| + return; |
| + } |
| + if (usage != gfx::GpuMemoryBuffer::MAP && |
| + usage != gfx::GpuMemoryBuffer::PERSISTENT_MAP) { |
| callback.Run(gfx::GpuMemoryBufferHandle()); |
| return; |
| } |