Chromium Code Reviews| Index: content/common/gpu/client/command_buffer_proxy_impl.h |
| diff --git a/content/common/gpu/client/command_buffer_proxy_impl.h b/content/common/gpu/client/command_buffer_proxy_impl.h |
| index ea3974029cd1f820de57afbd8895504bed5ed174..c80ad3e383554986b5b94154f5d418e6c723e364 100644 |
| --- a/content/common/gpu/client/command_buffer_proxy_impl.h |
| +++ b/content/common/gpu/client/command_buffer_proxy_impl.h |
| @@ -150,6 +150,9 @@ class CommandBufferProxyImpl |
| return shared_state_shm_->handle(); |
| } |
| + void WaitForPendingGpuMemoryBufferUsageToComplete( |
| + const base::Closure& callback); |
| + |
| private: |
| typedef std::map<int32, scoped_refptr<gpu::Buffer> > TransferBufferMap; |
| typedef base::hash_map<uint32, base::Closure> SignalTaskMap; |
| @@ -175,6 +178,9 @@ class CommandBufferProxyImpl |
| // The shared memory area used to update state. |
| gpu::CommandBufferSharedState* shared_state() const; |
| + void GpuMemoryBufferSyncPointSignalled(uint32 sync_point); |
|
reveman
2014/10/22 22:42:47
GpuMemoryBufferUsageCompleted?
|
| + uint32 GetNextSignalId(); |
| + |
| // Unowned list of DeletionObservers. |
| ObserverList<DeletionObserver> deletion_observers_; |
| @@ -200,6 +206,8 @@ class CommandBufferProxyImpl |
| // Tasks to be invoked in SignalSyncPoint responses. |
| uint32 next_signal_id_; |
| SignalTaskMap signal_tasks_; |
| + // Protects signal_tasks_. |
| + mutable base::Lock signal_lock_; |
| // Local cache of id to gpu memory buffer mapping. |
| GpuMemoryBufferMap gpu_memory_buffers_; |
| @@ -210,6 +218,9 @@ class CommandBufferProxyImpl |
| SwapBuffersCompletionCallback swap_buffers_completion_callback_; |
| + SignalTaskMap gpu_memory_buffer_tasks_; |
|
reveman
2014/10/22 22:42:47
I think we should use a different id namespace and
|
| + mutable base::Lock gpu_memory_buffer_task_lock_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(CommandBufferProxyImpl); |
| }; |