Index: gpu/command_buffer/service/gles2_cmd_decoder.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
index 67eab70d4c2b78f6cc40624311490d18bea8a6b8..5ae77740017534c5645992e483b4b5d86ddbad3f 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -31,6 +31,7 @@ |
#include "gpu/command_buffer/common/gles2_cmd_format.h" |
#include "gpu/command_buffer/common/gles2_cmd_utils.h" |
#include "gpu/command_buffer/common/mailbox.h" |
+#include "gpu/command_buffer/common/sync_token.h" |
#include "gpu/command_buffer/service/buffer_manager.h" |
#include "gpu/command_buffer/service/context_group.h" |
#include "gpu/command_buffer/service/context_state.h" |
@@ -594,7 +595,7 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient { |
void SetShaderCacheCallback(const ShaderCacheCallback& callback) override; |
void SetFenceSyncReleaseCallback( |
const FenceSyncReleaseCallback& callback) override; |
- void SetWaitFenceSyncCallback(const WaitFenceSyncCallback& callback) override; |
+ void SetWaitSyncTokenCallback(const WaitSyncTokenCallback& callback) override; |
void SetDescheduleUntilFinishedCallback( |
const NoParamCallback& callback) override; |
@@ -2299,7 +2300,7 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient { |
std::unique_ptr<ImageManager> image_manager_; |
FenceSyncReleaseCallback fence_sync_release_callback_; |
- WaitFenceSyncCallback wait_fence_sync_callback_; |
+ WaitSyncTokenCallback wait_sync_token_callback_; |
NoParamCallback deschedule_until_finished_callback_; |
NoParamCallback reschedule_after_finished_callback_; |
@@ -4652,9 +4653,9 @@ void GLES2DecoderImpl::SetFenceSyncReleaseCallback( |
fence_sync_release_callback_ = callback; |
} |
-void GLES2DecoderImpl::SetWaitFenceSyncCallback( |
- const WaitFenceSyncCallback& callback) { |
- wait_fence_sync_callback_ = callback; |
+void GLES2DecoderImpl::SetWaitSyncTokenCallback( |
+ const WaitSyncTokenCallback& callback) { |
+ wait_sync_token_callback_ = callback; |
} |
void GLES2DecoderImpl::SetDescheduleUntilFinishedCallback( |
@@ -15792,12 +15793,14 @@ error::Error GLES2DecoderImpl::HandleWaitSyncTokenCHROMIUM( |
const CommandBufferId command_buffer_id = |
CommandBufferId::FromUnsafeValue(c.command_buffer_id()); |
const uint64_t release = c.release_count(); |
- if (wait_fence_sync_callback_.is_null()) |
+ if (wait_sync_token_callback_.is_null()) |
return error::kNoError; |
- return wait_fence_sync_callback_.Run(namespace_id, command_buffer_id, release) |
- ? error::kNoError |
- : error::kDeferCommandUntilLater; |
+ gpu::SyncToken sync_token; |
+ sync_token.Set(namespace_id, 0, command_buffer_id, release); |
+ return wait_sync_token_callback_.Run(sync_token) |
+ ? error::kDeferCommandUntilLater |
+ : error::kNoError; |
} |
error::Error GLES2DecoderImpl::HandleDiscardBackbufferCHROMIUM( |