For nonuniformEXT constructor, make a copy of the node to decorate

This commit is contained in:
Jeff Bolz 2019-05-08 10:24:46 -05:00
parent e291f7a09f
commit 88220d507e
9 changed files with 374 additions and 296 deletions

View file

@ -6951,9 +6951,10 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T
break;
case EOpConstructNonuniform:
node->getWritableType().getQualifier().nonUniform = true;
return node;
break;
// Make a nonuniform copy of node
newNode = intermediate.addBuiltInFunctionCall(node->getLoc(), EOpCopyObject, true, node, node->getType());
newNode->getWritableType().getQualifier().nonUniform = true;
return newNode;
case EOpConstructReference:
// construct reference from reference