Mesa (main): zink: fix memory_barrier intrinsic

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Apr 22 03:45:49 UTC 2022


Module: Mesa
Branch: main
Commit: 5e84335fb578f03938468bb8ac0029f68349d330
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e84335fb578f03938468bb8ac0029f68349d330

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Fri Apr 15 09:58:58 2022 -0400

zink: fix memory_barrier intrinsic

matching glsang behavior here

Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15959>

---

 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;
 



More information about the mesa-commit mailing list