Added support for GL_INT and GL_UNSIGNED_INT vertex attributes.

TRAC #22693

Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Geoff Lang

git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2119 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Context.cpp b/src/libGLESv2/Context.cpp
index 471c3e8..b8c6710 100644
--- a/src/libGLESv2/Context.cpp
+++ b/src/libGLESv2/Context.cpp
@@ -2537,7 +2537,7 @@
     return false;
 }
 
-void Context::setVertexAttrib(GLuint index, const GLfloat *values)
+void Context::setVertexAttribf(GLuint index, const GLfloat values[4])
 {
     ASSERT(index < gl::MAX_VERTEX_ATTRIBS);
 
@@ -2546,6 +2546,31 @@
     mState.vertexAttribute[index].mCurrentValue.FloatValues[2] = values[2];
     mState.vertexAttribute[index].mCurrentValue.FloatValues[3] = values[3];
     mState.vertexAttribute[index].mCurrentValue.Type = GL_FLOAT;
+    mState.vertexAttribute[index].mPureInteger = false;
+}
+
+void Context::setVertexAttribu(GLuint index, const GLuint values[4])
+{
+    ASSERT(index < gl::MAX_VERTEX_ATTRIBS);
+
+    mState.vertexAttribute[index].mCurrentValue.UnsignedIntValues[0] = values[0];
+    mState.vertexAttribute[index].mCurrentValue.UnsignedIntValues[1] = values[1];
+    mState.vertexAttribute[index].mCurrentValue.UnsignedIntValues[2] = values[2];
+    mState.vertexAttribute[index].mCurrentValue.UnsignedIntValues[3] = values[3];
+    mState.vertexAttribute[index].mCurrentValue.Type = GL_UNSIGNED_INT;
+    mState.vertexAttribute[index].mPureInteger = true;
+}
+
+void Context::setVertexAttribi(GLuint index, const GLint values[4])
+{
+    ASSERT(index < gl::MAX_VERTEX_ATTRIBS);
+
+    mState.vertexAttribute[index].mCurrentValue.IntValues[0] = values[0];
+    mState.vertexAttribute[index].mCurrentValue.IntValues[1] = values[1];
+    mState.vertexAttribute[index].mCurrentValue.IntValues[2] = values[2];
+    mState.vertexAttribute[index].mCurrentValue.IntValues[3] = values[3];
+    mState.vertexAttribute[index].mCurrentValue.Type = GL_INT;
+    mState.vertexAttribute[index].mPureInteger = true;
 }
 
 void Context::setVertexAttribDivisor(GLuint index, GLuint divisor)