| Index: gpu/command_buffer/client/cmd_buffer_helper.cc
|
| diff --git a/gpu/command_buffer/client/cmd_buffer_helper.cc b/gpu/command_buffer/client/cmd_buffer_helper.cc
|
| index 35805fe195703e37b006a0b7e2aef33439d0d333..4267eb76689080ea2c32ca407c196e1f91279883 100644
|
| --- a/gpu/command_buffer/client/cmd_buffer_helper.cc
|
| +++ b/gpu/command_buffer/client/cmd_buffer_helper.cc
|
| @@ -31,6 +31,8 @@ CommandBufferHelper::CommandBufferHelper(CommandBuffer* command_buffer)
|
| token_(0),
|
| put_(0),
|
| last_put_sent_(0),
|
| + next_fence_sync_release_(1),
|
| + flushed_fence_sync_release_(0),
|
| #if defined(CMD_HELPER_PERIODIC_FLUSH_CHECK)
|
| commands_issued_(0),
|
| #endif
|
| @@ -146,6 +148,12 @@ void CommandBufferHelper::FreeRingBuffer() {
|
| FreeResources();
|
| }
|
|
|
| +uint32_t CommandBufferHelper::GenerateFenceSyncRelease() {
|
| + // Enforce fence syncs generated are always inserted in the command buffer.
|
| + const uint32_t release = next_fence_sync_release_++;
|
| + return release;
|
| +}
|
| +
|
| bool CommandBufferHelper::Initialize(int32 ring_buffer_size) {
|
| ring_buffer_size_ = ring_buffer_size;
|
| return AllocateRingBuffer();
|
| @@ -176,6 +184,8 @@ void CommandBufferHelper::Flush() {
|
| command_buffer_->Flush(put_);
|
| ++flush_generation_;
|
| CalcImmediateEntries(0);
|
| +
|
| + flushed_fence_sync_release_ = next_fence_sync_release_ - 1;
|
| }
|
| }
|
|
|
|
|