Declare structures before uniform definitions and support varying arrays
TRAC #11809
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@217 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Program.cpp b/src/libGLESv2/Program.cpp
index 838638d..a9086fb 100644
--- a/src/libGLESv2/Program.cpp
+++ b/src/libGLESv2/Program.cpp
@@ -928,12 +928,20 @@
char varyingType[256];
char varyingName[256];
unsigned int semanticIndex;
+
int matches = sscanf(input, " %s %s : TEXCOORD%d;", varyingType, varyingName, &semanticIndex);
if (matches == 3)
{
ASSERT(semanticIndex <= 9); // Single character
+ char *array = strstr(varyingName, "[");
+
+ if (array)
+ {
+ *array = '\0';
+ }
+
varyings.push_back(Varying(varyingName, input));
}