Add support for non-square matrix uniforms. Depends on implementing shader support for the same.
TRAC #22839
Signed-off-by: Geoff Lang
Signed-off-by: Shanon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2138 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/ProgramBinary.cpp b/src/libGLESv2/ProgramBinary.cpp
index a654c6b..3aba5ed 100644
--- a/src/libGLESv2/ProgramBinary.cpp
+++ b/src/libGLESv2/ProgramBinary.cpp
@@ -539,6 +539,36 @@
return setUniformMatrixfv<4, 4>(location, count, value, GL_FLOAT_MAT4);
}
+bool ProgramBinary::setUniformMatrix2x3fv(GLint location, GLsizei count, const GLfloat *value)
+{
+ return setUniformMatrixfv<2, 3>(location, count, value, GL_FLOAT_MAT2x3);
+}
+
+bool ProgramBinary::setUniformMatrix3x2fv(GLint location, GLsizei count, const GLfloat *value)
+{
+ return setUniformMatrixfv<3, 2>(location, count, value, GL_FLOAT_MAT3x2);
+}
+
+bool ProgramBinary::setUniformMatrix2x4fv(GLint location, GLsizei count, const GLfloat *value)
+{
+ return setUniformMatrixfv<2, 4>(location, count, value, GL_FLOAT_MAT2x4);
+}
+
+bool ProgramBinary::setUniformMatrix4x2fv(GLint location, GLsizei count, const GLfloat *value)
+{
+ return setUniformMatrixfv<4, 2>(location, count, value, GL_FLOAT_MAT4x2);
+}
+
+bool ProgramBinary::setUniformMatrix3x4fv(GLint location, GLsizei count, const GLfloat *value)
+{
+ return setUniformMatrixfv<3, 4>(location, count, value, GL_FLOAT_MAT3x4);
+}
+
+bool ProgramBinary::setUniformMatrix4x3fv(GLint location, GLsizei count, const GLfloat *value)
+{
+ return setUniformMatrixfv<4, 3>(location, count, value, GL_FLOAT_MAT4x3);
+}
+
bool ProgramBinary::setUniform1iv(GLint location, GLsizei count, const GLint *v)
{
if (location < 0 || location >= (int)mUniformIndex.size())