SPV: Add NonUniform decoration for constructors.

This is missing in particular for OpSampledImage, which can be
a direct argument for texture operations.
This commit is contained in:
Bas Nieuwenhuizen 2020-09-03 03:09:39 +02:00
parent 58064311be
commit c9ffeec6e3

View File

@ -2613,6 +2613,10 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
else
constructed = builder.createConstructor(precision, arguments, resultType());
if (node->getType().getQualifier().isNonUniform()) {
builder.addDecoration(constructed, spv::DecorationNonUniformEXT);
}
builder.clearAccessChain();
builder.setAccessChainRValue(constructed);