summaryrefslogtreecommitdiffstats
path: root/src/core/yuv_video_node.cpp
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@digia.com>2014-08-01 13:40:00 +0200
committerAndras Becsi <andras.becsi@digia.com>2014-09-25 19:47:07 +0200
commit41e5902e7799808fc71504d4222ee6363fec1aef (patch)
tree6bd63b04e2071bb7cee8156aaca9cd8b7eabea26 /src/core/yuv_video_node.cpp
parentf3500da1ff1c7d383386c0197848262d7bedf90e (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.cpp16
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);
}