| 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 3f603a61a03248132ba69c0b7eb9a535032439d6..4d9c43510fa8e8c76f45e98630e6ff273006d6f1 100644
|
| --- a/content/common/gpu/gpu_channel_manager.cc
|
| +++ b/content/common/gpu/gpu_channel_manager.cc
|
| @@ -60,7 +60,6 @@
|
| this,
|
| GpuMemoryManager::kDefaultMaxSurfacesWithFrontbufferSoftLimit),
|
| sync_point_manager_(sync_point_manager),
|
| - sync_point_client_waiter_(new gpu::SyncPointClientWaiter),
|
| gpu_memory_buffer_factory_(gpu_memory_buffer_factory),
|
| weak_factory_(this) {
|
| DCHECK(task_runner);
|
| @@ -228,22 +227,17 @@
|
| void GpuChannelManager::OnDestroyGpuMemoryBuffer(
|
| gfx::GpuMemoryBufferId id,
|
| int client_id,
|
| - const gpu::SyncToken& sync_token) {
|
| - if (sync_token.HasData()) {
|
| - scoped_refptr<gpu::SyncPointClientState> release_state =
|
| - sync_point_manager()->GetSyncPointClientState(
|
| - sync_token.namespace_id(), sync_token.command_buffer_id());
|
| - if (release_state) {
|
| - sync_point_client_waiter_->Wait(
|
| - release_state.get(), sync_token.release_count(),
|
| - base::Bind(&GpuChannelManager::DestroyGpuMemoryBuffer,
|
| - base::Unretained(this), id, client_id));
|
| - return;
|
| - }
|
| - }
|
| -
|
| - // No sync token or invalid sync token, destroy immediately.
|
| - DestroyGpuMemoryBuffer(id, client_id);
|
| + int32 sync_point) {
|
| + if (!sync_point) {
|
| + DestroyGpuMemoryBuffer(id, client_id);
|
| + } else {
|
| + sync_point_manager()->AddSyncPointCallback(
|
| + sync_point,
|
| + base::Bind(&GpuChannelManager::DestroyGpuMemoryBuffer,
|
| + base::Unretained(this),
|
| + id,
|
| + client_id));
|
| + }
|
| }
|
|
|
| void GpuChannelManager::OnUpdateValueState(
|
|
|