Chromium Code Reviews| Index: content/common/gpu/client/gpu_memory_buffer_impl_ozone_native_buffer.cc |
| diff --git a/content/common/gpu/client/gpu_memory_buffer_impl_ozone_native_buffer.cc b/content/common/gpu/client/gpu_memory_buffer_impl_ozone_native_buffer.cc |
| index 327a755b51c398e9e3726da70d316ccd3838b873..cff5292e47acff338ecfa737279319a581accea0 100644 |
| --- a/content/common/gpu/client/gpu_memory_buffer_impl_ozone_native_buffer.cc |
| +++ b/content/common/gpu/client/gpu_memory_buffer_impl_ozone_native_buffer.cc |
| @@ -14,7 +14,10 @@ namespace { |
| base::StaticAtomicSequenceNumber g_next_buffer_id; |
| -void Noop() { |
| +void GpuMemoryBufferDeleted(const gfx::GpuMemoryBufferHandle& handle, |
| + uint32 sync_point) { |
| + GpuMemoryBufferFactoryHost::GetInstance()->DestroyGpuMemoryBuffer(handle, |
| + sync_point); |
| } |
| void GpuMemoryBufferCreated( |
| @@ -25,7 +28,7 @@ void GpuMemoryBufferCreated( |
| DCHECK_EQ(gfx::OZONE_NATIVE_BUFFER, handle.type); |
| callback.Run(GpuMemoryBufferImplOzoneNativeBuffer::CreateFromHandle( |
| - handle, size, format, base::Bind(&Noop))); |
| + handle, size, format, base::Bind(&GpuMemoryBufferDeleted, handle))); |
| } |
| void GpuMemoryBufferCreatedForChildProcess( |
| @@ -100,6 +103,18 @@ GpuMemoryBufferImplOzoneNativeBuffer::CreateFromHandle( |
| } |
| // static |
| +void GpuMemoryBufferImplOzoneNativeBuffer::DeletedByChildProcess( |
| + const gfx::GpuMemoryBufferId& id, |
| + uint32_t sync_point) { |
| + gfx::GpuMemoryBufferHandle handle; |
| + handle.type = gfx::OZONE_NATIVE_BUFFER; |
| + handle.global_id = id; |
| + |
| + GpuMemoryBufferFactoryHost::GetInstance()->DestroyGpuMemoryBuffer(handle, |
| + sync_point); |
| +} |
|
piman
2014/11/03 19:36:35
I think both GpuMemoryBufferImplSurfaceTexture and
alexst (slow to review)
2014/11/03 20:29:17
Indeed, added missing code.
|
| + |
| +// static |
| bool GpuMemoryBufferImplOzoneNativeBuffer::IsFormatSupported(Format format) { |
| switch (format) { |
| case RGBA_8888: |