spirv: Handle PhysicalStorageBuffer in memory barriers
PhysicalStorageBuffer is lowered to nir_var_mem_global, and SPIR-V 1.5rev1 in section "3.25. Memory Semantics <id>" says UniformMemory Apply the memory-ordering constraints to StorageBuffer, PhysicalStorageBuffer, or Uniform Storage Class memory. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3322>
This commit is contained in:
@@ -2101,8 +2101,12 @@ vtn_emit_scoped_memory_barrier(struct vtn_builder *b, SpvScope scope,
|
||||
|
||||
nir_variable_mode modes = 0;
|
||||
if (semantics & (SpvMemorySemanticsUniformMemoryMask |
|
||||
SpvMemorySemanticsImageMemoryMask))
|
||||
modes |= nir_var_mem_ubo | nir_var_mem_ssbo | nir_var_uniform;
|
||||
SpvMemorySemanticsImageMemoryMask)) {
|
||||
modes |= nir_var_uniform |
|
||||
nir_var_mem_ubo |
|
||||
nir_var_mem_ssbo |
|
||||
nir_var_mem_global;
|
||||
}
|
||||
if (semantics & SpvMemorySemanticsWorkgroupMemoryMask)
|
||||
modes |= nir_var_mem_shared;
|
||||
if (semantics & SpvMemorySemanticsOutputMemoryMask) {
|
||||
|
Reference in New Issue
Block a user