From b7ffa1560c3eed9bf89d546a1d86d11476ad5f05 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sun, 26 Apr 2020 08:55:08 -0400 Subject: [PATCH] tgsi_to_nir: handle TGSI_OPCODE_BARRIER Reviewed-by: Eric Anholt Part-of: --- src/gallium/auxiliary/nir/tgsi_to_nir.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/gallium/auxiliary/nir/tgsi_to_nir.c b/src/gallium/auxiliary/nir/tgsi_to_nir.c index ff42c4536bb..34ececa17a3 100644 --- a/src/gallium/auxiliary/nir/tgsi_to_nir.c +++ b/src/gallium/auxiliary/nir/tgsi_to_nir.c @@ -1111,6 +1111,14 @@ ttn_ucmp(nir_builder *b, nir_op op, nir_alu_dest dest, nir_ssa_def **src) src[1], src[2])); } +static void +ttn_barrier(nir_builder *b) +{ + nir_intrinsic_instr *barrier = + nir_intrinsic_instr_create(b->shader, nir_intrinsic_control_barrier); + nir_builder_instr_insert(b, &barrier->instr); +} + static void ttn_kill(nir_builder *b, nir_op op, nir_alu_dest dest, nir_ssa_def **src) { @@ -2225,6 +2233,10 @@ ttn_emit_instruction(struct ttn_compile *c) ttn_endloop(c); break; + case TGSI_OPCODE_BARRIER: + ttn_barrier(b); + break; + default: if (op_trans[tgsi_op] != 0 || tgsi_op == TGSI_OPCODE_MOV) { ttn_alu(b, op_trans[tgsi_op], dest, dst_bitsize, src); -- 2.30.2