nv50/ir/nir: fix global_atomic_comp_swap

Fixes: 20d0ae464c ("nv50/ir: implement global atomics and handle it for nir")
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Pierre Moreau <dev@pmoreau.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6367>
(cherry picked from commit b283fb335b)
This commit is contained in:
Karol Herbst 2020-03-07 16:17:48 +01:00 committed by Eric Engestrom
parent b1a4bce085
commit d9c26f0b13
2 changed files with 3 additions and 1 deletions

View file

@ -94,7 +94,7 @@
"description": "nv50/ir/nir: fix global_atomic_comp_swap",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"master_sha": null,
"because_sha": "20d0ae464c4accd97227b1b4e805a9c10183647d"
},

View file

@ -2096,6 +2096,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);