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)