Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(364)

Unified Diff: content/common/gpu/client/command_buffer_proxy_impl.h

Issue 654223006: Cleanup GpuMemoryBuffer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
};

Powered by Google App Engine
This is Rietveld 408576698