Prevent duplicate SPIR-V decorations (#3570)

* Update SPIRV-Tools
  * https://github.com/KhronosGroup/SPIRV-Tools/pull/5641 added
    validation that caught errors
* Modified glslang to prevent duplicate Restrict and Coherent
  decorations
* Modify createConstructor to avoid adding duplicate RelaxedPrecision
  decorations when generating a scalar
This commit is contained in:
alan-baker 2024-04-15 11:39:23 -04:00 committed by GitHub
parent 2db79056b4
commit 1e4f53ab2d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 14 additions and 39 deletions

View file

@ -3409,10 +3409,13 @@ Id Builder::createConstructor(Decoration precision, const std::vector<Id>& sourc
}
// If the result is a vector, make it from the gathered constituents.
if (constituents.size() > 0)
if (constituents.size() > 0) {
result = createCompositeConstruct(resultTypeId, constituents);
return setPrecision(result, precision);
return setPrecision(result, precision);
} else {
// Precision was set when generating this component.
return result;
}
}
// Comments in header