Fix constant expression vector indexing.

Change-Id: If3b61ad65f1f1d6687890bd8715b2a534c78a353
Reviewed-on: https://swiftshader-review.googlesource.com/5081
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/compiler/ParseHelper.cpp b/src/OpenGL/compiler/ParseHelper.cpp
index 499ec13..df9ffd0 100644
--- a/src/OpenGL/compiler/ParseHelper.cpp
+++ b/src/OpenGL/compiler/ParseHelper.cpp
@@ -2616,7 +2616,7 @@
 			TIntermTyped *index = intermediate.addSwizzle(fields, fieldLocation);
 			indexedExpression = intermediate.addIndex(EOpVectorSwizzle, baseExpression, index, dotLocation);
 			indexedExpression->setType(TType(baseExpression->getBasicType(), baseExpression->getPrecision(),
-				EvqTemporary, (unsigned char)vectorString.size()));
+				baseExpression->getQualifier() == EvqConstExpr ? EvqConstExpr : EvqTemporary, (unsigned char)vectorString.size()));
 		}
 	}
 	else if(baseExpression->isMatrix())