| Index: content/renderer/media/android/stream_texture_factory_android_synchronous_impl.cc
|
| diff --git a/content/renderer/media/android/stream_texture_factory_android_synchronous_impl.cc b/content/renderer/media/android/stream_texture_factory_android_synchronous_impl.cc
|
| index c284328a4b28c899d5656caafe49a9b203ddf9ac..c19b5c67b3294e916daf927a7e871951f9baf9d7 100644
|
| --- a/content/renderer/media/android/stream_texture_factory_android_synchronous_impl.cc
|
| +++ b/content/renderer/media/android/stream_texture_factory_android_synchronous_impl.cc
|
| @@ -15,9 +15,11 @@
|
| #include "base/synchronization/lock.h"
|
| #include "cc/output/context_provider.h"
|
| #include "content/common/android/surface_texture_peer.h"
|
| -#include "third_party/WebKit/public/platform/WebGraphicsContext3D.h"
|
| +#include "gpu/command_buffer/client/gles2_interface.h"
|
| #include "ui/gl/android/surface_texture.h"
|
|
|
| +using gpu::gles2::GLES2Interface;
|
| +
|
| namespace content {
|
|
|
| namespace {
|
| @@ -154,41 +156,37 @@ unsigned StreamTextureFactorySynchronousImpl::CreateStreamTexture(
|
| gpu::Mailbox* texture_mailbox,
|
| unsigned* texture_mailbox_sync_point) {
|
| DCHECK(context_provider_);
|
| - blink::WebGraphicsContext3D* context = context_provider_->Context3d();
|
| unsigned stream_id = 0;
|
| - if (context->makeContextCurrent()) {
|
| - *texture_id = context->createTexture();
|
| - stream_id = context->createStreamTextureCHROMIUM(*texture_id);
|
| + GLES2Interface* gl = context_provider_->ContextGL();
|
| + gl->GenTextures(1, texture_id);
|
| + stream_id = gl->CreateStreamTextureCHROMIUM(*texture_id);
|
|
|
| - context->genMailboxCHROMIUM(texture_mailbox->name);
|
| - context->bindTexture(texture_target, *texture_id);
|
| - context->produceTextureCHROMIUM(texture_target, texture_mailbox->name);
|
| + gl->GenMailboxCHROMIUM(texture_mailbox->name);
|
| + gl->BindTexture(texture_target, *texture_id);
|
| + gl->ProduceTextureCHROMIUM(texture_target, texture_mailbox->name);
|
|
|
| - context->flush();
|
| - *texture_mailbox_sync_point = context->insertSyncPoint();
|
| - }
|
| + gl->Flush();
|
| + *texture_mailbox_sync_point = gl->InsertSyncPointCHROMIUM();
|
| return stream_id;
|
| }
|
|
|
| void StreamTextureFactorySynchronousImpl::DestroyStreamTexture(
|
| unsigned texture_id) {
|
| DCHECK(context_provider_);
|
| - blink::WebGraphicsContext3D* context = context_provider_->Context3d();
|
| - if (context->makeContextCurrent()) {
|
| - context->destroyStreamTextureCHROMIUM(texture_id);
|
| - context->deleteTexture(texture_id);
|
| - context->flush();
|
| - }
|
| + GLES2Interface* gl = context_provider_->ContextGL();
|
| + gl->DestroyStreamTextureCHROMIUM(texture_id);
|
| + gl->DeleteTextures(1, &texture_id);
|
| + gl->Flush();
|
| }
|
|
|
| void StreamTextureFactorySynchronousImpl::SetStreamTextureSize(
|
| int32 stream_id,
|
| const gfx::Size& size) {}
|
|
|
| -blink::WebGraphicsContext3D*
|
| -StreamTextureFactorySynchronousImpl::Context3d() {
|
| +gpu::gles2::GLES2Interface*
|
| +StreamTextureFactorySynchronousImpl::ContextGL() {
|
| DCHECK(context_provider_);
|
| - return context_provider_->Context3d();
|
| + return context_provider_->ContextGL();
|
| }
|
|
|
| } // namespace content
|
|
|