pan/bi: Implement fsat as mov.sat

Soon we'll have a NIR support to handle this the Right Way along with
pos and sat_signed support, but we'll always need the fallback anyway.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4139>
This commit is contained in:
Alyssa Rosenzweig 2020-03-09 21:02:51 -04:00 committed by Marge Bot
parent 48e50efd5d
commit 5a5896cd76

View file

@ -231,6 +231,7 @@ bi_class_for_nir_alu(nir_op op)
switch (op) {
case nir_op_fadd: return BI_ADD;
case nir_op_fmul: return BI_FMA;
case nir_op_fsat:
case nir_op_mov: return BI_MOV;
default: unreachable("Unknown ALU op");
}
@ -302,6 +303,9 @@ emit_alu(bi_context *ctx, nir_alu_instr *instr)
case nir_op_fmul:
alu.src[2] = BIR_INDEX_ZERO; /* FMA */
break;
case nir_op_fsat:
alu.outmod = BIFROST_SAT; /* MOV */
break;
default:
break;
}