Index: content/common/gpu/client/command_buffer_proxy_impl.cc |
diff --git a/content/common/gpu/client/command_buffer_proxy_impl.cc b/content/common/gpu/client/command_buffer_proxy_impl.cc |
index 9acf05a9b314b1c6b4362152804814b1d8354d4e..d878d12dab49c378cc9f358ed032ce944063272a 100644 |
--- a/content/common/gpu/client/command_buffer_proxy_impl.cc |
+++ b/content/common/gpu/client/command_buffer_proxy_impl.cc |
@@ -308,9 +308,10 @@ int32_t CommandBufferProxyImpl::CreateImage(ClientBuffer buffer, |
int32 new_id = channel_->ReserveImageId(); |
+ gpu::GpuMemoryBufferManager* memory_buffer_manager = |
+ channel_->gpu_memory_buffer_manager(); |
gfx::GpuMemoryBuffer* gpu_memory_buffer = |
- channel_->gpu_memory_buffer_manager()->GpuMemoryBufferFromClientBuffer( |
- buffer); |
+ memory_buffer_manager->GpuMemoryBufferFromClientBuffer(buffer); |
DCHECK(gpu_memory_buffer); |
// This handle is owned by the GPU process and must be passed to it or it |
@@ -331,6 +332,11 @@ int32_t CommandBufferProxyImpl::CreateImage(ClientBuffer buffer, |
return -1; |
} |
+ if (memory_buffer_manager->NeedsDestructionSyncPoint(handle.type)) { |
+ memory_buffer_manager->RecordDestructionSyncPoint(buffer, |
+ InsertSyncPoint()); |
+ } |
+ |
return new_id; |
} |