aco: implement 16-bit derivatives

These are used by radeonsi.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26445>
This commit is contained in:
Rhys Perry
2023-11-27 14:09:25 +00:00
committed by Marge Bot
parent 997a0884a5
commit de51a21e26
2 changed files with 38 additions and 9 deletions
+7 -1
View File
@@ -471,7 +471,13 @@ aco_nir_op_supports_packed_math_16bit(const nir_alu_instr* alu)
case nir_op_imin:
case nir_op_imax:
case nir_op_umin:
case nir_op_umax: return true;
case nir_op_umax:
case nir_op_fddx:
case nir_op_fddy:
case nir_op_fddx_fine:
case nir_op_fddy_fine:
case nir_op_fddx_coarse:
case nir_op_fddy_coarse: return true;
case nir_op_ishl: /* TODO: in NIR, these have 32bit shift operands */
case nir_op_ishr: /* while Radeon needs 16bit operands when vectorized */
case nir_op_ushr: