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); |
}; |