diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c index 868bc9da06d..ad359f38ca1 100644 --- a/src/broadcom/compiler/nir_to_vir.c +++ b/src/broadcom/compiler/nir_to_vir.c @@ -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]);