| Index: gpu/command_buffer/service/sync_point_manager.h
|
| diff --git a/gpu/command_buffer/service/sync_point_manager.h b/gpu/command_buffer/service/sync_point_manager.h
|
| index a004a379058537b36aa827143ada24f0d1b8a03c..7a3695c9886207853dff2f86dffdc98b2bcd1689 100644
|
| --- a/gpu/command_buffer/service/sync_point_manager.h
|
| +++ b/gpu/command_buffer/service/sync_point_manager.h
|
| @@ -73,10 +73,12 @@ class GPU_EXPORT SyncPointOrderData
|
| struct OrderFence {
|
| uint32_t order_num;
|
| uint64_t fence_release;
|
| + base::Closure release_callback;
|
| scoped_refptr<SyncPointClientState> client_state;
|
|
|
| OrderFence(uint32_t order,
|
| uint64_t release,
|
| + const base::Closure& release_callback,
|
| scoped_refptr<SyncPointClientState> state);
|
| OrderFence(const OrderFence& other);
|
| ~OrderFence();
|
| @@ -97,7 +99,8 @@ class GPU_EXPORT SyncPointOrderData
|
| bool ValidateReleaseOrderNumber(
|
| scoped_refptr<SyncPointClientState> client_state,
|
| uint32_t wait_order_num,
|
| - uint64_t fence_release);
|
| + uint64_t fence_release,
|
| + const base::Closure& release_callback);
|
|
|
| // Non thread-safe functions need to be called from a single thread.
|
| base::ThreadChecker processing_thread_checker_;
|
| @@ -182,10 +185,12 @@ class GPU_EXPORT SyncPointClientState
|
| uint64_t release,
|
| const base::Closure& callback);
|
|
|
| + // Releases a fence sync and all fence syncs below.
|
| void ReleaseFenceSync(uint64_t release);
|
| - void EnsureReleased(uint64_t release);
|
| - void ReleaseFenceSyncLocked(uint64_t release,
|
| - std::vector<base::Closure>* callback_list);
|
| +
|
| + // Does not release the fence sync, but releases callbacks waiting on that
|
| + // fence sync.
|
| + void EnsureWaitReleased(uint64_t release, const base::Closure& callback);
|
|
|
| typedef base::Callback<void(CommandBufferNamespace, CommandBufferId)>
|
| OnWaitCallback;
|
|
|