Mesa (master): nir: Add barrier intrinsic function

Jordan Justen jljusten at kemper.freedesktop.org
Fri Jun 12 22:14:51 UTC 2015


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

Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Fri Mar 13 12:03:15 2015 -0700

nir: Add barrier intrinsic function

Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>
Reviewed-by: Ben Widawsky <ben at bwidawsk.net>

---

 src/glsl/nir/glsl_to_nir.cpp  |    4 +++-
 src/glsl/nir/nir_intrinsics.h |    1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
index 3c7284e..95531bb 100644
--- a/src/glsl/nir/glsl_to_nir.cpp
+++ b/src/glsl/nir/glsl_to_nir.cpp
@@ -1894,5 +1894,7 @@ nir_visitor::visit(ir_dereference_array *ir)
 void
 nir_visitor::visit(ir_barrier *ir)
 {
-   unreachable("Not implemented!");
+   nir_intrinsic_instr *instr =
+      nir_intrinsic_instr_create(this->shader, nir_intrinsic_barrier);
+   nir_instr_insert_after_cf_list(this->cf_node_list, &instr->instr);
 }
diff --git a/src/glsl/nir/nir_intrinsics.h b/src/glsl/nir/nir_intrinsics.h
index b516830..bc6e6b8 100644
--- a/src/glsl/nir/nir_intrinsics.h
+++ b/src/glsl/nir/nir_intrinsics.h
@@ -67,6 +67,7 @@ INTRINSIC(interp_var_at_offset, 1, ARR(2), true, 0, 1, 0,
  */
 #define BARRIER(name) INTRINSIC(name, 0, ARR(), false, 0, 0, 0, 0)
 
+BARRIER(barrier)
 BARRIER(discard)
 
 /*




More information about the mesa-commit mailing list