glGetProgramiv(GL_ACTIVE_UNIFORM_MAX_LENGTH) should count an extra 3 if uniform is an array because "[0]" is appended.
BUG=135
TEST=the attached htm in the bug runs ok
Review URL: http://codereview.appspot.com/4287077
git-svn-id: https://angleproject.googlecode.com/svn/trunk@592 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Program.cpp b/src/libGLESv2/Program.cpp
index dd0d9f4..524901b 100644
--- a/src/libGLESv2/Program.cpp
+++ b/src/libGLESv2/Program.cpp
@@ -2742,7 +2742,12 @@
{
if (!mUniforms[uniformIndex]->name.empty() && mUniforms[uniformIndex]->name.substr(0, 3) != "dx_")
{
- maxLength = std::max((int)(undecorate(mUniforms[uniformIndex]->name).length() + 1), maxLength);
+ int length = (int)(undecorate(mUniforms[uniformIndex]->name).length() + 1);
+ if (mUniforms[uniform]->arraySize != 1)
+ {
+ length += 3; // Counting in "[0]".
+ }
+ maxLength = std::max(length, maxLength);
}
}