Index: content/renderer/media/renderer_gpu_video_accelerator_factories.cc |
diff --git a/content/renderer/media/renderer_gpu_video_accelerator_factories.cc b/content/renderer/media/renderer_gpu_video_accelerator_factories.cc |
index 02fd859d0cc1f3376cc971185f657ce9af98ff0c..88ced7b16a0b8a7951e10e80ed414065283856fc 100644 |
--- a/content/renderer/media/renderer_gpu_video_accelerator_factories.cc |
+++ b/content/renderer/media/renderer_gpu_video_accelerator_factories.cc |
@@ -150,6 +150,17 @@ void RendererGpuVideoAcceleratorFactories::DeleteTexture(uint32 texture_id) { |
DCHECK_EQ(gles2->GetError(), static_cast<GLenum>(GL_NO_ERROR)); |
} |
+uint32 RendererGpuVideoAcceleratorFactories::InsertSyncPoint() { |
+ DCHECK(task_runner_->BelongsToCurrentThread()); |
+ |
+ WebGraphicsContext3DCommandBufferImpl* context = GetContext3d(); |
+ if (!context) |
+ return 0; |
+ |
+ gpu::gles2::GLES2Implementation* gles2 = context->GetImplementation(); |
+ return gles2->InsertSyncPointCHROMIUM(); |
+} |
+ |
void RendererGpuVideoAcceleratorFactories::WaitSyncPoint(uint32 sync_point) { |
DCHECK(task_runner_->BelongsToCurrentThread()); |
@@ -211,6 +222,7 @@ void RendererGpuVideoAcceleratorFactories::ReadPixels( |
pixels.pixelRef()->pixels()); |
gles2->DeleteFramebuffers(1, &fb); |
gles2->DeleteTextures(1, &tmp_texture); |
+ gles2->Flush(); |
DCHECK_EQ(gles2->GetError(), static_cast<GLenum>(GL_NO_ERROR)); |
} |