mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 22:08:26 +02:00
nir: Don't try to scalarize unpack ops.
Avoids regressions in vc4 when trying to do our blending in NIR.
v2: Add the other unpack ops I meant to when writing the original commit
message.
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
9e6dc5b64d
commit
d50c182671
1 changed files with 15 additions and 0 deletions
|
|
@ -100,6 +100,21 @@ lower_alu_instr_scalar(nir_alu_instr *instr, void *mem_ctx)
|
|||
*/
|
||||
return;
|
||||
|
||||
case nir_op_unpack_unorm_4x8:
|
||||
case nir_op_unpack_snorm_4x8:
|
||||
case nir_op_unpack_unorm_2x16:
|
||||
case nir_op_unpack_snorm_2x16:
|
||||
/* There is no scalar version of these ops, unless we were to break it
|
||||
* down to bitshifts and math (which is definitely not intended).
|
||||
*/
|
||||
return;
|
||||
|
||||
case nir_op_unpack_half_2x16:
|
||||
/* We could split this into unpack_half_2x16_split_[xy], but should
|
||||
* we?
|
||||
*/
|
||||
return;
|
||||
|
||||
LOWER_REDUCTION(nir_op_fdot, nir_op_fmul, nir_op_fadd);
|
||||
LOWER_REDUCTION(nir_op_ball_fequal, nir_op_feq, nir_op_iand);
|
||||
LOWER_REDUCTION(nir_op_ball_iequal, nir_op_ieq, nir_op_iand);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue