| Index: gpu/ipc/in_process_command_buffer.cc
|
| diff --git a/gpu/ipc/in_process_command_buffer.cc b/gpu/ipc/in_process_command_buffer.cc
|
| index a30b1e17e7ba1a1a4d304a13f5f999ea5b8ebefd..437cdc7dae86a3811ae0b1be61d7e457aac44ff7 100644
|
| --- a/gpu/ipc/in_process_command_buffer.cc
|
| +++ b/gpu/ipc/in_process_command_buffer.cc
|
| @@ -617,16 +617,19 @@ void InProcessCommandBuffer::OrderingBarrier(int32_t put_offset) {
|
| Flush(put_offset);
|
| }
|
|
|
| -void InProcessCommandBuffer::WaitForTokenInRange(int32_t start, int32_t end) {
|
| +CommandBuffer::State InProcessCommandBuffer::WaitForTokenInRange(int32_t start,
|
| + int32_t end) {
|
| CheckSequencedThread();
|
| while (!InRange(start, end, GetLastToken()) &&
|
| last_state_.error == gpu::error::kNoError) {
|
| flush_event_.Wait();
|
| }
|
| + return last_state_;
|
| }
|
|
|
| -void InProcessCommandBuffer::WaitForGetOffsetInRange(int32_t start,
|
| - int32_t end) {
|
| +CommandBuffer::State InProcessCommandBuffer::WaitForGetOffsetInRange(
|
| + int32_t start,
|
| + int32_t end) {
|
| CheckSequencedThread();
|
|
|
| GetStateFast();
|
| @@ -635,6 +638,7 @@ void InProcessCommandBuffer::WaitForGetOffsetInRange(int32_t start,
|
| flush_event_.Wait();
|
| GetStateFast();
|
| }
|
| + return last_state_;
|
| }
|
|
|
| void InProcessCommandBuffer::SetGetBuffer(int32_t shm_id) {
|
| @@ -1030,6 +1034,11 @@ bool InProcessCommandBuffer::IsFenceSyncFlushReceived(uint64_t release) {
|
| return IsFenceSyncFlushed(release);
|
| }
|
|
|
| +bool InProcessCommandBuffer::IsFenceSyncReleased(uint64_t release) {
|
| + State state = GetStateFast();
|
| + return release <= state.release_count;
|
| +}
|
| +
|
| void InProcessCommandBuffer::SignalSyncToken(const SyncToken& sync_token,
|
| const base::Closure& callback) {
|
| CheckSequencedThread();
|
|
|