More precisely check for the qualifiers that enable the vulkan memory model for buffer references.

Not all memory qualifiers necessarily need the vulkan memory model, e.g. volatile/restrict that correspond to core SPIR-V features do not.
This commit is contained in:
Jeff Bolz 2019-01-20 00:59:17 -06:00
parent 493dee0ade
commit e135a4897a
3 changed files with 7 additions and 4 deletions

View file

@ -537,6 +537,11 @@ public:
{
return subgroupcoherent || workgroupcoherent || queuefamilycoherent || devicecoherent || coherent || volatil || restrict || readonly || writeonly;
}
bool bufferReferenceNeedsVulkanMemoryModel() const
{
// include qualifiers that map to load/store availability/visibility/nonprivate memory access operands
return subgroupcoherent || workgroupcoherent || queuefamilycoherent || devicecoherent || coherent || nonprivate;
}
bool isInterpolation() const
{