v3d/compiler: implement normalised to float conversions

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35820>
This commit is contained in:
Ella Stanforth 2025-07-24 09:27:28 +01:00 committed by Marge Bot
parent 082e6369f9
commit c9e9d72cce

View file

@ -1780,13 +1780,25 @@ ntq_emit_alu(struct v3d_compile *c, nir_alu_instr *instr)
break;
case nir_op_f2unorm_16_v3d:
assert(c->devinfo->ver >= 71);
result = vir_FTOUNORM16(c, src[0]);
break;
case nir_op_f2snorm_16_v3d:
assert(c->devinfo->ver >= 71);
result = vir_FTOSNORM16(c, src[0]);
break;
case nir_op_snorm2f_16_v3d:
assert(c->devinfo->ver >= 71);
result = vir_FUNPACKSNORMLO(c, src[0]);
break;
case nir_op_unorm2f_16_v3d:
assert(c->devinfo->ver >= 71);
result = vir_FUNPACKUNORMLO(c, src[0]);
break;
case nir_op_fsat:
assert(v3d_device_has_unpack_sat(c->devinfo));
result = vir_FMOV(c, src[0]);