diff options
author | Ilia Mirkin <[email protected]> | 2016-01-17 04:34:08 -0500 |
---|---|---|
committer | Ilia Mirkin <[email protected]> | 2016-01-29 21:22:48 -0500 |
commit | 48cf392c0e68fcfbc6ce3063b41fbacdd1f92807 (patch) | |
tree | 1e0b7a97999aec8199f77ef63b084a9ea62c5aca /src/gallium/drivers/nouveau/codegen | |
parent | df043f076464d817a9d88c4c43757e65b6eae3f9 (diff) |
nv50/ir: handle new TGSI MEMBAR opcode
Signed-off-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau/codegen')
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp index 947d97be7f1..3da6099b5ff 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp @@ -3194,6 +3194,14 @@ Converter::handleInstruction(const struct tgsi_full_instruction *insn) geni->fixed = 1; geni->subOp = tgsi::opcodeToSubOp(tgsi.getOpcode()); break; + case TGSI_OPCODE_MEMBAR: + geni = mkOp(OP_MEMBAR, TYPE_NONE, NULL); + geni->fixed = 1; + if (tgsi.getSrc(0).getValueU32(0, info) & TGSI_MEMBAR_THREAD_GROUP) + geni->subOp = NV50_IR_SUBOP_MEMBAR(M, CTA); + else + geni->subOp = NV50_IR_SUBOP_MEMBAR(M, GL); + break; case TGSI_OPCODE_ATOMUADD: case TGSI_OPCODE_ATOMXCHG: case TGSI_OPCODE_ATOMCAS: |