Add support for unsigned int uniform types to the getUniform series of methods.
TRAC #22845
Signed-off-by: Geoff Lang
Signed-off-by: Shanon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2148 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/ProgramBinary.cpp b/src/libGLESv2/ProgramBinary.cpp
index 47ca400..172048d 100644
--- a/src/libGLESv2/ProgramBinary.cpp
+++ b/src/libGLESv2/ProgramBinary.cpp
@@ -640,7 +640,18 @@
}
}
break;
+
+ case GL_UNSIGNED_INT:
+ {
+ GLuint *uintParams = (GLuint*)targetUniform->data + mUniformIndex[location].element * 4;
+ for (unsigned int i = 0; i < size; i++)
+ {
+ params[i] = static_cast<T>(uintParams[i]);
+ }
+ }
+ break;
+
default: UNREACHABLE();
}
}
@@ -658,6 +669,11 @@
return getUniformv(location, bufSize, params, GL_INT);
}
+bool ProgramBinary::getUniformuiv(GLint location, GLsizei *bufSize, GLuint *params)
+{
+ return getUniformv(location, bufSize, params, GL_UNSIGNED_INT);
+}
+
void ProgramBinary::dirtyAllUniforms()
{
unsigned int numUniforms = mUniforms.size();