Add handling of unsigned int uniform cases to utility functions.

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@2142 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 8a19eed9
...@@ -22,18 +22,22 @@ int UniformComponentCount(GLenum type) ...@@ -22,18 +22,22 @@ int UniformComponentCount(GLenum type)
case GL_INT: case GL_INT:
case GL_SAMPLER_2D: case GL_SAMPLER_2D:
case GL_SAMPLER_CUBE: case GL_SAMPLER_CUBE:
case GL_UNSIGNED_INT:
return 1; return 1;
case GL_BOOL_VEC2: case GL_BOOL_VEC2:
case GL_FLOAT_VEC2: case GL_FLOAT_VEC2:
case GL_INT_VEC2: case GL_INT_VEC2:
case GL_UNSIGNED_INT_VEC2:
return 2; return 2;
case GL_INT_VEC3: case GL_INT_VEC3:
case GL_FLOAT_VEC3: case GL_FLOAT_VEC3:
case GL_BOOL_VEC3: case GL_BOOL_VEC3:
case GL_UNSIGNED_INT_VEC3:
return 3; return 3;
case GL_BOOL_VEC4: case GL_BOOL_VEC4:
case GL_FLOAT_VEC4: case GL_FLOAT_VEC4:
case GL_INT_VEC4: case GL_INT_VEC4:
case GL_UNSIGNED_INT_VEC4:
case GL_FLOAT_MAT2: case GL_FLOAT_MAT2:
return 4; return 4;
case GL_FLOAT_MAT3: case GL_FLOAT_MAT3:
...@@ -71,6 +75,11 @@ GLenum UniformComponentType(GLenum type) ...@@ -71,6 +75,11 @@ GLenum UniformComponentType(GLenum type)
case GL_INT_VEC3: case GL_INT_VEC3:
case GL_INT_VEC4: case GL_INT_VEC4:
return GL_INT; return GL_INT;
case GL_UNSIGNED_INT:
case GL_UNSIGNED_INT_VEC2:
case GL_UNSIGNED_INT_VEC3:
case GL_UNSIGNED_INT_VEC4:
return GL_UNSIGNED_INT;
default: default:
UNREACHABLE(); UNREACHABLE();
} }
...@@ -82,9 +91,10 @@ size_t UniformComponentSize(GLenum type) ...@@ -82,9 +91,10 @@ size_t UniformComponentSize(GLenum type)
{ {
switch(type) switch(type)
{ {
case GL_BOOL: return sizeof(GLint); case GL_BOOL: return sizeof(GLint);
case GL_FLOAT: return sizeof(GLfloat); case GL_FLOAT: return sizeof(GLfloat);
case GL_INT: return sizeof(GLint); case GL_INT: return sizeof(GLint);
case GL_UNSIGNED_INT: return sizeof(GLuint);
default: UNREACHABLE(); default: UNREACHABLE();
} }
...@@ -108,15 +118,19 @@ GLenum UniformBoolVectorType(GLenum type) ...@@ -108,15 +118,19 @@ GLenum UniformBoolVectorType(GLenum type)
{ {
case GL_FLOAT: case GL_FLOAT:
case GL_INT: case GL_INT:
case GL_UNSIGNED_INT:
return GL_BOOL; return GL_BOOL;
case GL_FLOAT_VEC2: case GL_FLOAT_VEC2:
case GL_INT_VEC2: case GL_INT_VEC2:
case GL_UNSIGNED_INT_VEC2:
return GL_BOOL_VEC2; return GL_BOOL_VEC2;
case GL_FLOAT_VEC3: case GL_FLOAT_VEC3:
case GL_INT_VEC3: case GL_INT_VEC3:
case GL_UNSIGNED_INT_VEC3:
return GL_BOOL_VEC3; return GL_BOOL_VEC3;
case GL_FLOAT_VEC4: case GL_FLOAT_VEC4:
case GL_INT_VEC4: case GL_INT_VEC4:
case GL_UNSIGNED_INT_VEC4:
return GL_BOOL_VEC4; return GL_BOOL_VEC4;
default: default:
......
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