From: Karol Herbst Date: Sat, 7 Mar 2020 15:17:48 +0000 (+0100) Subject: nv50/ir/nir: fix global_atomic_comp_swap X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=commitdiff_plain;h=b283fb335b2736ffe53c6d7d075c1b14dbcadce7 nv50/ir/nir: fix global_atomic_comp_swap Fixes: 20d0ae464c4a ("nv50/ir: implement global atomics and handle it for nir") Signed-off-by: Karol Herbst Reviewed-by: Pierre Moreau Part-of: --- diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp index b776d70940e..a6aad71774b 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp @@ -2104,6 +2104,8 @@ Converter::visit(nir_intrinsic_instr *insn) Symbol *sym = mkSymbol(FILE_MEMORY_GLOBAL, 0, dType, offset); Instruction *atom = mkOp2(OP_ATOM, dType, newDefs[0], sym, getSrc(&insn->src[1], 0)); + if (op == nir_intrinsic_global_atomic_comp_swap) + atom->setSrc(2, getSrc(&insn->src[2], 0)); atom->setIndirect(0, 0, address); atom->subOp = getSubOp(op);