| Index: gpu/command_buffer/service/in_process_command_buffer.cc
|
| diff --git a/gpu/command_buffer/service/in_process_command_buffer.cc b/gpu/command_buffer/service/in_process_command_buffer.cc
|
| index 5184f76df5d56c65378a45282046d3633527aee5..ad390a937986099b237619505d8246ef7c6c4769 100644
|
| --- a/gpu/command_buffer/service/in_process_command_buffer.cc
|
| +++ b/gpu/command_buffer/service/in_process_command_buffer.cc
|
| @@ -682,6 +682,9 @@ int32_t InProcessCommandBuffer::CreateImage(ClientBuffer buffer,
|
| DCHECK(gpu::IsImageFormatCompatibleWithGpuMemoryBufferFormat(
|
| internalformat, gpu_memory_buffer->GetFormat()));
|
|
|
| + DCHECK(image_gmb_ids_map_.find(new_id) == image_gmb_ids_map_.end());
|
| + image_gmb_ids_map_[new_id] = gpu_memory_buffer->GetId().id;
|
| +
|
| // This handle is owned by the GPU thread and must be passed to it or it
|
| // will leak. In otherwords, do not early out on error between here and the
|
| // queuing of the CreateImage task below.
|
| @@ -786,6 +789,10 @@ void InProcessCommandBuffer::CreateImageOnGpuThread(
|
| void InProcessCommandBuffer::DestroyImage(int32_t id) {
|
| CheckSequencedThread();
|
|
|
| + auto it = image_gmb_ids_map_.find(id);
|
| + if (it != image_gmb_ids_map_.end())
|
| + image_gmb_ids_map_.erase(it);
|
| +
|
| QueueTask(base::Bind(&InProcessCommandBuffer::DestroyImageOnGpuThread,
|
| base::Unretained(this),
|
| id));
|
| @@ -824,6 +831,14 @@ int32_t InProcessCommandBuffer::CreateGpuMemoryBufferImage(
|
| return CreateImage(buffer->AsClientBuffer(), width, height, internalformat);
|
| }
|
|
|
| +int32_t InProcessCommandBuffer::GetImageGpuMemoryBufferId(unsigned image_id) {
|
| + CheckSequencedThread();
|
| + auto it = image_gmb_ids_map_.find(image_id);
|
| + if (it != image_gmb_ids_map_.end())
|
| + return it->second;
|
| + return -1;
|
| +}
|
| +
|
| void InProcessCommandBuffer::FenceSyncReleaseOnGpuThread(uint64_t release) {
|
| DCHECK(!sync_point_client_->client_state()->IsFenceSyncReleased(release));
|
| gles2::MailboxManager* mailbox_manager =
|
|
|