| Index: content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
|
| diff --git a/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc b/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
|
| index 20f77a1681c90335777f8c44824c78a26f09534c..25c5b2d3517dc699a9994901dc678aad6f29c78c 100644
|
| --- a/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
|
| +++ b/content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc
|
| @@ -17,7 +17,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(
|
| @@ -28,7 +31,7 @@ void GpuMemoryBufferCreated(
|
| DCHECK_EQ(gfx::SURFACE_TEXTURE_BUFFER, handle.type);
|
|
|
| callback.Run(GpuMemoryBufferImplSurfaceTexture::CreateFromHandle(
|
| - handle, size, format, base::Bind(&Noop)));
|
| + handle, size, format, base::Bind(&GpuMemoryBufferDeleted, handle)));
|
| }
|
|
|
| void GpuMemoryBufferCreatedForChildProcess(
|
| @@ -117,6 +120,17 @@ GpuMemoryBufferImplSurfaceTexture::CreateFromHandle(
|
| }
|
|
|
| // static
|
| +void GpuMemoryBufferImplSurfaceTexture::DeletedByChildProcess(
|
| + const gfx::GpuMemoryBufferId& id,
|
| + uint32_t sync_point) {
|
| + gfx::GpuMemoryBufferHandle handle;
|
| + handle.type = gfx::SURFACE_TEXTURE_BUFFER;
|
| + handle.global_id = id;
|
| + GpuMemoryBufferFactoryHost::GetInstance()->DestroyGpuMemoryBuffer(handle,
|
| + sync_point);
|
| +}
|
| +
|
| +// static
|
| bool GpuMemoryBufferImplSurfaceTexture::IsFormatSupported(Format format) {
|
| switch (format) {
|
| case RGBA_8888:
|
|
|