Commit b77ded35 by Alexis Hetu Committed by Alexis Hétu

Fix for glGetActiveUniformBlockiv

glGetActiveUniformBlockiv was using the current program instead of using the program passed as an argument to the function, causing it to misbehave. Change-Id: I69b640b20793bd8e7e0c4142a1ff74d0ea796747 Reviewed-on: https://swiftshader-review.googlesource.com/3583Reviewed-by: 's avatarNicolas Capens <capn@google.com> Tested-by: 's avatarAlexis Hétu <sugoi@google.com>
parent ef6df8f0
......@@ -2798,9 +2798,9 @@ GL_APICALL void GL_APIENTRY glGetActiveUniformBlockiv(GLuint program, GLuint uni
if(context)
{
es2::Program *program = context->getCurrentProgram();
es2::Program *programObject = context->getProgram(program);
if(!program)
if(!programObject)
{
return error(GL_INVALID_OPERATION);
}
......@@ -2808,7 +2808,7 @@ GL_APICALL void GL_APIENTRY glGetActiveUniformBlockiv(GLuint program, GLuint uni
switch(pname)
{
case GL_UNIFORM_BLOCK_BINDING:
*params = static_cast<GLint>(program->getUniformBlockBinding(uniformBlockIndex));
*params = static_cast<GLint>(programObject->getUniformBlockBinding(uniformBlockIndex));
break;
case GL_UNIFORM_BLOCK_DATA_SIZE:
case GL_UNIFORM_BLOCK_NAME_LENGTH:
......@@ -2816,7 +2816,7 @@ GL_APICALL void GL_APIENTRY glGetActiveUniformBlockiv(GLuint program, GLuint uni
case GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:
case GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:
case GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:
program->getActiveUniformBlockiv(uniformBlockIndex, pname, params);
programObject->getActiveUniformBlockiv(uniformBlockIndex, pname, params);
break;
default:
return error(GL_INVALID_ENUM);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment