Fixed uint uniforms
uint uniforms were failing because of a missing condition.
This only affected uint scalars, uint vectors were unaffected.
Change-Id: Ia2338a683f1e6f5f9b6944aae72e2dbec70a8ef2
Reviewed-on: https://swiftshader-review.googlesource.com/3963
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/libGLESv2/Program.cpp b/src/OpenGL/libGLESv2/Program.cpp
index 18fa089..800e82d 100644
--- a/src/OpenGL/libGLESv2/Program.cpp
+++ b/src/OpenGL/libGLESv2/Program.cpp
@@ -681,7 +681,7 @@
count = std::min(size - (int)uniformIndex[location].element, count);
- if(targetUniform->type == GL_INT || IsSamplerUniform(targetUniform->type))
+ if(targetUniform->type == GL_INT || targetUniform->type == GL_UNSIGNED_INT || IsSamplerUniform(targetUniform->type))
{
memcpy(targetUniform->data + uniformIndex[location].element * sizeof(GLint),
v, sizeof(GLint) * count);
@@ -800,7 +800,7 @@
count = std::min(size - (int)uniformIndex[location].element, count);
- if(targetUniform->type == GL_INT || IsSamplerUniform(targetUniform->type))
+ if(targetUniform->type == GL_INT || targetUniform->type == GL_UNSIGNED_INT || IsSamplerUniform(targetUniform->type))
{
memcpy(targetUniform->data + uniformIndex[location].element * sizeof(GLuint),
v, sizeof(GLuint)* count);