Index: gpu/command_buffer/client/gles2_implementation.cc |
diff --git a/gpu/command_buffer/client/gles2_implementation.cc b/gpu/command_buffer/client/gles2_implementation.cc |
index f0e4e9b38cca34390d136389773384d5b2a81a1a..0378bee61ec9bf4b60ea3b63b4ab8bcb685cd148 100644 |
--- a/gpu/command_buffer/client/gles2_implementation.cc |
+++ b/gpu/command_buffer/client/gles2_implementation.cc |
@@ -5386,6 +5386,20 @@ uint64_t GLES2Implementation::ShareGroupTracingGUID() const { |
return share_group_->TracingGUID(); |
} |
+void GLES2Implementation::WaitSyncPointCHROMIUM(GLuint sync_point, |
+ const GLbyte* sync_token) { |
+ // Copy the data over before data access to ensure alignment. |
+ SyncToken sync_token_data; |
+ if (sync_token) |
+ memcpy(&sync_token_data, sync_token, sizeof(SyncToken)); |
+ |
+ if (sync_token_data.HasData()) { |
+ WaitSyncTokenCHROMIUM(sync_token); |
+ } else { |
+ helper_->WaitSyncPointCHROMIUM(sync_point); |
+ } |
+} |
+ |
GLuint64 GLES2Implementation::InsertFenceSyncCHROMIUM() { |
const uint64_t release = gpu_control_->GenerateFenceSyncRelease(); |
helper_->InsertFenceSyncCHROMIUM(release); |