Fix texture/sampler mapping in sRGB tests
sRGB decode tests assume that an API side texture with index i
is connected with a shader sampler variable uTexture with index i.
This relation was however incorrectly established, e.g.
the tests were mapping texture0 to a sampler with location 0, while
such sampler was not necessarily uTexture0.
This change fixes the mapping and makes the relation more obvious.
Components: AOSP
Affects:
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.*.toggled
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.*.conversion_gpu
Google bug: 38257749
Change-Id: I16508f6033b31583b1c5973b70a610dd59e78e8f
diff --git a/modules/gles31/functional/es31fSRGBDecodeTests.cpp b/modules/gles31/functional/es31fSRGBDecodeTests.cpp
index 114a624..1f4e49a 100644
--- a/modules/gles31/functional/es31fSRGBDecodeTests.cpp
+++ b/modules/gles31/functional/es31fSRGBDecodeTests.cpp
@@ -42,6 +42,7 @@
#include "gluObjectWrapper.hpp"
#include "gluStrUtil.hpp"
#include "tcuTestLog.hpp"
+#include "deStringUtil.hpp"
namespace deqp
{
@@ -1251,7 +1252,7 @@
{
gl.activeTexture(GL_TEXTURE0 + (glw::GLenum)textureSourceIdx);
gl.bindTexture(m_textureSourceList[textureSourceIdx]->getGLTargetType(), m_textureSourceList[textureSourceIdx]->getHandle());
- glw::GLuint samplerUniformLocationID = gl.getUniformLocation(m_shaderProgramList[0]->getHandle(), m_shaderProgramList[0]->getUniformAtLocation(textureSourceIdx).name.c_str());
+ glw::GLuint samplerUniformLocationID = gl.getUniformLocation(m_shaderProgramList[0]->getHandle(), (std::string("uTexture") + de::toString(textureSourceIdx)).c_str());
TCU_CHECK(samplerUniformLocationID != (glw::GLuint)-1);
gl.uniform1i(samplerUniformLocationID, (glw::GLenum)textureSourceIdx);
}
@@ -1675,7 +1676,7 @@
{
gl.activeTexture(GL_TEXTURE0 + (glw::GLenum)textureSourceIdx);
gl.bindTexture(m_textureSourceList[textureSourceIdx]->getGLTargetType(), m_textureSourceList[textureSourceIdx]->getHandle());
- glw::GLuint samplerUniformLocationID = gl.getUniformLocation(m_shaderProgramList[programIdx]->getHandle(), m_shaderProgramList[programIdx]->getUniformAtLocation(textureSourceIdx).name.c_str());
+ glw::GLuint samplerUniformLocationID = gl.getUniformLocation(m_shaderProgramList[programIdx]->getHandle(), (std::string("uTexture") + de::toString(textureSourceIdx)).c_str());
TCU_CHECK(samplerUniformLocationID != (glw::GLuint) - 1);
gl.uniform1i(samplerUniformLocationID, (glw::GLenum)textureSourceIdx);
}