diff options
author | Kai Koehne <kai.koehne@digia.com> | 2014-08-01 13:40:00 +0200 |
---|---|---|
committer | Andras Becsi <andras.becsi@digia.com> | 2014-09-25 19:47:07 +0200 |
commit | 41e5902e7799808fc71504d4222ee6363fec1aef (patch) | |
tree | 6bd63b04e2071bb7cee8156aaca9cd8b7eabea26 /src/core/yuv_video_node.cpp | |
parent | f3500da1ff1c7d383386c0197848262d7bedf90e (diff) |
Add Desktop OpenGL backend for Windows
Enabling rendering into a WGL backbuffer, in addition to the EGL/angle
one.
Change-Id: I8f2e3f5ecf52b6db22712b1129059f462725a256
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Diffstat (limited to 'src/core/yuv_video_node.cpp')
-rw-r--r-- | src/core/yuv_video_node.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/core/yuv_video_node.cpp b/src/core/yuv_video_node.cpp index 256bf224e..0e3f17d85 100644 --- a/src/core/yuv_video_node.cpp +++ b/src/core/yuv_video_node.cpp @@ -36,6 +36,8 @@ #include "yuv_video_node.h" +#include <QtGui/qopenglcontext.h> +#include <QtGui/qopenglfunctions.h> #include <QtQuick/qsgtexture.h> class YUVVideoMaterialShader : public QSGMaterialShader @@ -159,11 +161,13 @@ void YUVVideoMaterialShader::updateState(const RenderState &state, QSGMaterial * program()->setUniformValue(m_id_uTexture, 1); program()->setUniformValue(m_id_vTexture, 2); - glActiveTexture(GL_TEXTURE1); + QOpenGLFunctions glFuncs(QOpenGLContext::currentContext()); + + glFuncs.glActiveTexture(GL_TEXTURE1); mat->m_uTexture->bind(); - glActiveTexture(GL_TEXTURE2); + glFuncs.glActiveTexture(GL_TEXTURE2); mat->m_vTexture->bind(); - glActiveTexture(GL_TEXTURE0); // Finish with 0 as default texture unit + glFuncs.glActiveTexture(GL_TEXTURE0); // Finish with 0 as default texture unit mat->m_yTexture->bind(); program()->setUniformValue(m_id_texOffset, mat->m_texCoordRect.topLeft()); @@ -203,11 +207,13 @@ void YUVAVideoMaterialShader::updateState(const RenderState &state, QSGMaterial YUVAVideoMaterial *mat = static_cast<YUVAVideoMaterial *>(newMaterial); program()->setUniformValue(m_id_aTexture, 3); - glActiveTexture(GL_TEXTURE3); + QOpenGLFunctions glFuncs(QOpenGLContext::currentContext()); + + glFuncs.glActiveTexture(GL_TEXTURE3); mat->m_aTexture->bind(); // Reset the default texture unit. - glActiveTexture(GL_TEXTURE0); + glFuncs.glActiveTexture(GL_TEXTURE0); } |