aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Skeggs <[email protected]>2020-06-07 09:52:15 +1000
committerMarge Bot <[email protected]>2020-06-10 22:52:41 +0000
commit126954aade982ab79fde07de35c9911737eb0d04 (patch)
treef890eb1820e7743865185426ba816c7caec38b1c
parent23d56c842dee85b96ffaac78a751256354a46b46 (diff)
nvir/nir: implement nir_op_uror
Signed-off-by: Ben Skeggs <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp10
1 files changed, 10 insertions, 0 deletions
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 0e9a29253c2..21d3033cdc2 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
@@ -2852,6 +2852,16 @@ Converter::visit(nir_alu_instr *insn)
NV50_IR_SUBOP_SHF_HI;
break;
}
+ case nir_op_uror: {
+ DEFAULT_CHECKS;
+ LValues &newDefs = convert(&insn->dest);
+ mkOp3(OP_SHF, TYPE_U32, newDefs[0], getSrc(&insn->src[0]),
+ getSrc(&insn->src[1]), getSrc(&insn->src[0]))
+ ->subOp = NV50_IR_SUBOP_SHF_R |
+ NV50_IR_SUBOP_SHF_W |
+ NV50_IR_SUBOP_SHF_LO;
+ break;
+ }
// boolean conversions
case nir_op_b2f32: {
DEFAULT_CHECKS;