Commit 91b425b2 by Nicolas Capens Committed by Nicolas Capens

Disallow assigning to interface block fields.

GLSL ES 3.0 interface blocks always have uniform storage qualification and thus can't be used as l-value. Change-Id: Iffe948dccbf2edb28eb1abe52a6f28dc76a1e84b Reviewed-on: https://swiftshader-review.googlesource.com/13929Tested-by: 's avatarNicolas Capens <nicolascapens@google.com> Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent a4f0c896
......@@ -303,7 +303,6 @@ bool TParseContext::lValueErrorCheck(const TSourceLoc &line, const char* op, TIn
case EOpIndexDirect:
case EOpIndexIndirect:
case EOpIndexDirectStruct:
case EOpIndexDirectInterfaceBlock:
return lValueErrorCheck(line, op, binaryNode->getLeft());
case EOpVectorSwizzle:
errorReturn = lValueErrorCheck(line, op, binaryNode->getLeft());
......@@ -326,6 +325,7 @@ bool TParseContext::lValueErrorCheck(const TSourceLoc &line, const char* op, TIn
}
return errorReturn;
case EOpIndexDirectInterfaceBlock:
default:
break;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment