mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-08 08:30:10 +01:00
broadcom/compiler: implement NIR mali opcodes for clamping
These translate directly to new unpack modifiers on V3D 7.x. Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31480>
This commit is contained in:
parent
a13bf51a9f
commit
c57be33d96
1 changed files with 13 additions and 1 deletions
|
|
@ -1783,11 +1783,23 @@ ntq_emit_alu(struct v3d_compile *c, nir_alu_instr *instr)
|
|||
break;
|
||||
|
||||
case nir_op_fsat:
|
||||
assert(c->devinfo->ver >= 71);
|
||||
assert(v3d_device_has_unpack_sat(c->devinfo));
|
||||
result = vir_FMOV(c, src[0]);
|
||||
vir_set_unpack(c->defs[result.index], 0, V3D71_QPU_UNPACK_SAT);
|
||||
break;
|
||||
|
||||
case nir_op_fsat_signed:
|
||||
assert(v3d_device_has_unpack_sat(c->devinfo));
|
||||
result = vir_FMOV(c, src[0]);
|
||||
vir_set_unpack(c->defs[result.index], 0, V3D71_QPU_UNPACK_NSAT);
|
||||
break;
|
||||
|
||||
case nir_op_fclamp_pos:
|
||||
assert(v3d_device_has_unpack_max0(c->devinfo));
|
||||
result = vir_FMOV(c, src[0]);
|
||||
vir_set_unpack(c->defs[result.index], 0, V3D71_QPU_UNPACK_MAX0);
|
||||
break;
|
||||
|
||||
default:
|
||||
fprintf(stderr, "unknown NIR ALU inst: ");
|
||||
nir_print_instr(&instr->instr, stderr);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue