Change the varyings list type from a linked list to a vector type.

TRAC #23746

Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods

diff --git a/src/libGLESv2/ProgramBinary.cpp b/src/libGLESv2/ProgramBinary.cpp
index 0b19f39..0a768b0 100644
--- a/src/libGLESv2/ProgramBinary.cpp
+++ b/src/libGLESv2/ProgramBinary.cpp
@@ -932,8 +932,9 @@
 
     fragmentShader->resetVaryingsRegisterAssignment();
 
-    for (VaryingList::iterator varying = fragmentShader->mVaryings.begin(); varying != fragmentShader->mVaryings.end(); varying++)
+    for (unsigned int varyingIndex = 0; varyingIndex < fragmentShader->mVaryings.size(); varyingIndex++)
     {
+        Varying *varying = &fragmentShader->mVaryings[varyingIndex];
         GLenum transposedType = TransposeMatrixType(varying->type);
         int n = VariableRowCount(transposedType) * varying->size;
         int m = VariableColumnCount(transposedType);
@@ -1141,12 +1142,14 @@
 
     vertexShader->resetVaryingsRegisterAssignment();
 
-    for (VaryingList::iterator input = fragmentShader->mVaryings.begin(); input != fragmentShader->mVaryings.end(); input++)
+    for (unsigned int fragVaryingIndex = 0; fragVaryingIndex < fragmentShader->mVaryings.size(); fragVaryingIndex++)
     {
+        Varying *input = &fragmentShader->mVaryings[fragVaryingIndex];
         bool matched = false;
 
-        for (VaryingList::iterator output = vertexShader->mVaryings.begin(); output != vertexShader->mVaryings.end(); output++)
+        for (unsigned int vertVaryingIndex = 0; vertVaryingIndex < vertexShader->mVaryings.size(); vertVaryingIndex++)
         {
+            Varying *output = &vertexShader->mVaryings[vertVaryingIndex];
             if (output->name == input->name)
             {
                 if (output->type != input->type || output->size != input->size || output->interpolation != input->interpolation)
@@ -1296,8 +1299,9 @@
         vertexHLSL += "    output.gl_FragCoord = gl_Position;\n";
     }
 
-    for (VaryingList::iterator varying = vertexShader->mVaryings.begin(); varying != vertexShader->mVaryings.end(); varying++)
+    for (unsigned int vertVaryingIndex = 0; vertVaryingIndex < vertexShader->mVaryings.size(); vertVaryingIndex++)
     {
+        Varying *varying = &vertexShader->mVaryings[vertVaryingIndex];
         if (varying->reg >= 0)
         {
             for (int i = 0; i < varying->size; i++)
@@ -1494,8 +1498,9 @@
         }
     }
 
-    for (VaryingList::iterator varying = fragmentShader->mVaryings.begin(); varying != fragmentShader->mVaryings.end(); varying++)
+    for (unsigned int varyingIndex = 0; varyingIndex < fragmentShader->mVaryings.size(); varyingIndex++)
     {
+        Varying *varying = &fragmentShader->mVaryings[varyingIndex];
         if (varying->reg >= 0)
         {
             for (int i = 0; i < varying->size; i++)
@@ -1574,8 +1579,9 @@
 {
     std::string varyingHLSL;
 
-    for (VaryingList::iterator varying = fragmentShader->mVaryings.begin(); varying != fragmentShader->mVaryings.end(); varying++)
+    for (unsigned int varyingIndex = 0; varyingIndex < fragmentShader->mVaryings.size(); varyingIndex++)
     {
+        Varying *varying = &fragmentShader->mVaryings[varyingIndex];
         if (varying->reg >= 0)
         {
             for (int i = 0; i < varying->size; i++)