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

Unified Diff: gpu/ipc/client/command_buffer_proxy_impl.h

Issue 2727573003: gpu: Add sync token dependencies to flush metadata. (Closed)
Patch Set: jbauman's review Created 3 years, 9 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: gpu/ipc/client/command_buffer_proxy_impl.h
diff --git a/gpu/ipc/client/command_buffer_proxy_impl.h b/gpu/ipc/client/command_buffer_proxy_impl.h
index c35b70090ea7259e52bd461acdc76f78246ae260..0608593608da71056a4d3f034c20893effea3970 100644
--- a/gpu/ipc/client/command_buffer_proxy_impl.h
+++ b/gpu/ipc/client/command_buffer_proxy_impl.h
@@ -125,7 +125,8 @@ class GPU_EXPORT CommandBufferProxyImpl
bool IsFenceSyncReleased(uint64_t release) override;
void SignalSyncToken(const gpu::SyncToken& sync_token,
const base::Closure& callback) override;
- bool CanWaitUnverifiedSyncToken(const gpu::SyncToken* sync_token) override;
+ void WaitSyncToken(const gpu::SyncToken& sync_token) override;
+ bool CanWaitUnverifiedSyncToken(const gpu::SyncToken& sync_token) override;
void TakeFrontBuffer(const gpu::Mailbox& mailbox);
void ReturnFrontBuffer(const gpu::Mailbox& mailbox,
@@ -260,26 +261,28 @@ class GPU_EXPORT CommandBufferProxyImpl
const gpu::CommandBufferId command_buffer_id_;
const int32_t route_id_;
const int32_t stream_id_;
- uint32_t flush_count_;
- int32_t last_put_offset_;
- int32_t last_barrier_put_offset_;
+ uint32_t flush_count_ = 0;
+ int32_t last_put_offset_ = -1;
+ int32_t last_barrier_put_offset_ = -1;
// Next generated fence sync.
- uint64_t next_fence_sync_release_;
+ uint64_t next_fence_sync_release_ = 1;
+
+ std::vector<SyncToken> pending_sync_token_fences_;
// 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_;
+ uint64_t flushed_fence_sync_release_ = 0;
// Last verified fence sync.
- uint64_t verified_fence_sync_release_;
+ uint64_t verified_fence_sync_release_ = 0;
GpuConsoleMessageCallback console_message_callback_;
// Tasks to be invoked in SignalSyncPoint responses.
- uint32_t next_signal_id_;
+ uint32_t next_signal_id_ = 0;
SignalTaskMap signal_tasks_;
gpu::Capabilities capabilities_;

Powered by Google App Engine
This is Rietveld 408576698