[GStreamer] Don't use GraphicsContext3D in VideoTextureCoperGStreamer
authorzandobersek@gmail.com <zandobersek@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 8 Aug 2017 13:29:30 +0000 (13:29 +0000)
committerzandobersek@gmail.com <zandobersek@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 8 Aug 2017 13:29:30 +0000 (13:29 +0000)
commit67893dcf7d528697a9e090cf048935910d53f73c
tree9933c02644a3c98916a53be582ca7c52b9455c74
parenta29eeb9a14be2cb4f1fe0953db819c88c09cb5b6
[GStreamer] Don't use GraphicsContext3D in VideoTextureCoperGStreamer
https://bugs.webkit.org/show_bug.cgi?id=174774

Reviewed by Carlos Garcia Campos.

VideoTextureCoperGStreamer class creates a new GraphicsContext3D internally
that's used to render to whichever OpenGL context is current. Such usage
doesn't add anything to the user since there's no underlying offscreen-based
OpenGL context created, and instead all GraphicsContext3D calls are directly
translated to usual OpenGL API calls. We should avoid using GraphicsContext3D
in such cases and instead use direct OpenGL API calls.

This patch achieves that for the VideoTextureCoperGStreamer class. A
GraphicsContext3D object is still created because it's needed to construct an
instance of the TextureMapperShaderProgram class, but this will be removed as
soon as TextureMapperShaderProgram drops the GraphicsContext3D dependence.

No new tests -- no change in behavior.

* platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp:
(WebCore::VideoTextureCopierGStreamer::VideoTextureCopierGStreamer):
(WebCore::VideoTextureCopierGStreamer::~VideoTextureCopierGStreamer):
(WebCore::VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture):
* platform/graphics/gstreamer/VideoTextureCopierGStreamer.h:
(WebCore::VideoTextureCopierGStreamer::resultTexture):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220402 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp
Source/WebCore/platform/graphics/gstreamer/VideoTextureCopierGStreamer.h