Mesa (master): nir/builder: Add nir_scoped_memory_barrier()

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Feb 24 19:49:56 UTC 2020


Module: Mesa
Branch: master
Commit: 424737da3e25d9fc3dd33a4b8bdb9ad914e7a5f8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=424737da3e25d9fc3dd33a4b8bdb9ad914e7a5f8

Author: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Date:   Thu Jan  9 10:01:53 2020 -0800

nir/builder: Add nir_scoped_memory_barrier()

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3913>

---

 src/compiler/nir/nir_builder.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/compiler/nir/nir_builder.h b/src/compiler/nir/nir_builder.h
index eabc6a59cfa..69c7d312b84 100644
--- a/src/compiler/nir/nir_builder.h
+++ b/src/compiler/nir/nir_builder.h
@@ -1290,4 +1290,18 @@ nir_compare_func(nir_builder *b, enum compare_func func,
    unreachable("bad compare func");
 }
 
+static inline void
+nir_scoped_memory_barrier(nir_builder *b,
+                          nir_scope scope,
+                          nir_memory_semantics semantics,
+                          nir_variable_mode modes)
+{
+   nir_intrinsic_instr *intrin =
+      nir_intrinsic_instr_create(b->shader, nir_intrinsic_scoped_memory_barrier);
+   nir_intrinsic_set_memory_scope(intrin, scope);
+   nir_intrinsic_set_memory_semantics(intrin, semantics);
+   nir_intrinsic_set_memory_modes(intrin, modes);
+   nir_builder_instr_insert(b, &intrin->instr);
+}
+
 #endif /* NIR_BUILDER_H */



More information about the mesa-commit mailing list