zink: support nir_intrinsic_memory_barrier_buffer
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Fri, 5 Feb 2021 13:20:20 +0000 (08:20 -0500)
committerMarge Bot <eric+marge@anholt.net>
Mon, 8 Feb 2021 22:29:53 +0000 (22:29 +0000)
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8884>

src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c

index 70e7ac7..671a53d 100644 (file)
@@ -2557,6 +2557,12 @@ emit_intrinsic(struct ntv_context *ctx, nir_intrinsic_instr *intr)
       emit_interpolate(ctx, intr);
       break;
 
+   case nir_intrinsic_memory_barrier_buffer:
+      spirv_builder_emit_memory_barrier(&ctx->builder, SpvScopeDevice,
+                                        SpvMemorySemanticsUniformMemoryMask |
+                                        SpvMemorySemanticsAcquireReleaseMask);
+      break;
+
    case nir_intrinsic_ssbo_atomic_add:
    case nir_intrinsic_ssbo_atomic_umin:
    case nir_intrinsic_ssbo_atomic_imin: