From 5e84335fb578f03938468bb8ac0029f68349d330 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 15 Apr 2022 09:58:58 -0400 Subject: [PATCH] zink: fix memory_barrier intrinsic matching glsang behavior here Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c index caf538de330..f254e4ab1dd 100644 --- a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c +++ b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c @@ -2917,8 +2917,12 @@ emit_intrinsic(struct ntv_context *ctx, nir_intrinsic_instr *intr) break; case nir_intrinsic_memory_barrier: - spirv_builder_emit_memory_barrier(&ctx->builder, SpvScopeWorkgroup, - SpvMemorySemanticsImageMemoryMask | SpvMemorySemanticsUniformMemoryMask | + spirv_builder_emit_memory_barrier(&ctx->builder, + ctx->sinfo->have_vulkan_memory_model ? SpvScopeQueueFamily : SpvScopeDevice, + SpvMemorySemanticsImageMemoryMask | + SpvMemorySemanticsUniformMemoryMask | + SpvMemorySemanticsWorkgroupMemoryMask | + SpvMemorySemanticsAtomicCounterMemoryMask | SpvMemorySemanticsAcquireReleaseMask); break;