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

Unified Diff: content/common/gpu/gpu_channel_manager.cc

Issue 1568563002: Added a way for sync point clients to issue out of order waits. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: InProcessCommandBuffer::SignalSyncTokenOnGpuThread also waits out of order Created 4 years, 11 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/gpu_channel_manager.cc
diff --git a/content/common/gpu/gpu_channel_manager.cc b/content/common/gpu/gpu_channel_manager.cc
index 4dd10273396ee5a9e9f562f335dd1b189267ad39..4f14ed8212a8e8bce1e56b8b6cdc7a36e277b704 100644
--- a/content/common/gpu/gpu_channel_manager.cc
+++ b/content/common/gpu/gpu_channel_manager.cc
@@ -60,7 +60,8 @@ GpuChannelManager::GpuChannelManager(
mailbox_manager_(gpu::gles2::MailboxManager::Create()),
gpu_memory_manager_(this),
sync_point_manager_(sync_point_manager),
- sync_point_client_waiter_(new gpu::SyncPointClientWaiter),
+ sync_point_client_waiter_(
+ sync_point_manager->CreateSyncPointClientWaiter()),
gpu_memory_buffer_factory_(gpu_memory_buffer_factory),
weak_factory_(this) {
DCHECK(task_runner);
@@ -234,7 +235,7 @@ void GpuChannelManager::OnDestroyGpuMemoryBuffer(
sync_point_manager()->GetSyncPointClientState(
sync_token.namespace_id(), sync_token.command_buffer_id());
if (release_state) {
- sync_point_client_waiter_->Wait(
+ sync_point_client_waiter_->WaitOutOfOrder(
release_state.get(), sync_token.release_count(),
base::Bind(&GpuChannelManager::DestroyGpuMemoryBuffer,
base::Unretained(this), id, client_id));

Powered by Google App Engine
This is Rietveld 408576698