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())