Index: cc/resources/video_resource_updater.cc |
diff --git a/cc/resources/video_resource_updater.cc b/cc/resources/video_resource_updater.cc |
index fd3221258de64ece6c64980a144eb95a29f424db..3ef6e76c98caff89d8efff04342e9ba083bc7c60 100644 |
--- a/cc/resources/video_resource_updater.cc |
+++ b/cc/resources/video_resource_updater.cc |
@@ -75,13 +75,14 @@ class SyncTokenClientImpl : public media::VideoFrame::SyncTokenClient { |
const gpu::SyncToken& sync_token) |
: gl_(gl), sync_token_(sync_token) {} |
~SyncTokenClientImpl() override {} |
- uint32 InsertSyncPoint() override { |
+ void GenerateSyncToken(gpu::SyncToken* sync_token) override { |
if (sync_token_.HasData()) { |
- DCHECK_EQ(gpu::CommandBufferNamespace::OLD_SYNC_POINTS, |
- sync_token_.namespace_id()); |
- return static_cast<uint32>(sync_token_.release_count()); |
+ *sync_token = sync_token_; |
+ } else { |
+ const uint64_t fence_sync = gl_->InsertFenceSyncCHROMIUM(); |
+ gl_->ShallowFlushCHROMIUM(); |
+ gl_->GenSyncTokenCHROMIUM(fence_sync, sync_token->GetData()); |
} |
- return gl_->InsertSyncPointCHROMIUM(); |
} |
void WaitSyncToken(const gpu::SyncToken& sync_token) override { |
if (sync_token.HasData()) { |