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

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

Issue 1331843005: Implemented new fence syncs which replaces the old sync points. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Reverted mojo readme, changed wait() to take a pointer Created 5 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 98f8ed7e2e570907f24d43fed42cd3d754417775..61ba77585f6cf17ba83ba018b4c193533395d00f 100644
--- a/content/common/gpu/client/command_buffer_proxy_impl.h
+++ b/content/common/gpu/client/command_buffer_proxy_impl.h
@@ -123,6 +123,9 @@ class CommandBufferProxyImpl
bool IsGpuChannelLost() override;
gpu::CommandBufferNamespace GetNamespaceID() const override;
uint64_t GetCommandBufferID() const override;
+ uint64_t GenerateFenceSyncRelease() override;
+ bool IsFenceSyncRelease(uint64_t release) override;
+ bool IsFenceSyncFlushed(uint64_t release) override;
bool ProduceFrontBuffer(const gpu::Mailbox& mailbox);
void SetContextLostCallback(const base::Closure& callback);
@@ -191,6 +194,9 @@ class CommandBufferProxyImpl
// Try to read an updated copy of the state from shared memory.
void TryUpdateState();
+ // Updates the highest verified release fence sync.
+ void UpdateVerifiedReleases(uint32_t verified_flush);
+
// The shared memory area used to update state.
gpu::CommandBufferSharedState* shared_state() const;
@@ -215,6 +221,18 @@ class CommandBufferProxyImpl
int32 last_put_offset_;
int32 last_barrier_put_offset_;
+ // Next generated fence sync.
+ uint64_t next_fence_sync_release_;
+
+ // Unverified flushed fence syncs with their corresponding flush id.
+ std::queue<std::pair<uint64_t, uint32_t>> flushed_release_flush_id_;
+
+ // Last flushed fence sync release, same as last item in queue if not empty.
+ uint64_t flushed_fence_sync_release_;
+
+ // Last verified fence sync.
+ uint64_t verified_fence_sync_release_;
+
base::Closure context_lost_callback_;
GpuConsoleMessageCallback console_message_callback_;
« no previous file with comments | « components/mus/gles2/command_buffer_local.cc ('k') | content/common/gpu/client/command_buffer_proxy_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698