Change the order textures are bound.
Leave texture unit 0 active at the end, since the active texture unit is not restored by SG itself. Change-Id: I4970a955fea5c9342cc93c1d1b07ffbfb71e5f04 Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
This commit is contained in:
committed by
Qt by Nokia
parent
0a95ccb8f4
commit
9eeb1389f5
@@ -278,12 +278,12 @@ void QSGVideoMaterialShader_YUV420::updateState(const RenderState &state,
|
|||||||
program()->setUniformValue(m_id_uTexture, 1);
|
program()->setUniformValue(m_id_uTexture, 1);
|
||||||
program()->setUniformValue(m_id_vTexture, 2);
|
program()->setUniformValue(m_id_vTexture, 2);
|
||||||
|
|
||||||
functions->glActiveTexture(GL_TEXTURE0);
|
|
||||||
glBindTexture(GL_TEXTURE_2D, mat->idY);
|
|
||||||
functions->glActiveTexture(GL_TEXTURE1);
|
functions->glActiveTexture(GL_TEXTURE1);
|
||||||
glBindTexture(GL_TEXTURE_2D, mat->idU);
|
glBindTexture(GL_TEXTURE_2D, mat->idU);
|
||||||
functions->glActiveTexture(GL_TEXTURE2);
|
functions->glActiveTexture(GL_TEXTURE2);
|
||||||
glBindTexture(GL_TEXTURE_2D, mat->idV);
|
glBindTexture(GL_TEXTURE_2D, mat->idV);
|
||||||
|
functions->glActiveTexture(GL_TEXTURE0); // Finish with 0 as default texture unit
|
||||||
|
glBindTexture(GL_TEXTURE_2D, mat->idY);
|
||||||
|
|
||||||
program()->setUniformValue(m_id_colorMatrix, mat->colorMatrix);
|
program()->setUniformValue(m_id_colorMatrix, mat->colorMatrix);
|
||||||
if (state.isOpacityDirty()) {
|
if (state.isOpacityDirty()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user