aco: don't use constant_bits when not applying constants

This is incorrect for 16bit integer operands.

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35020>
This commit is contained in:
Georg Lehmann
2025-05-16 12:20:49 +02:00
committed by Marge Bot
parent f98d20fec6
commit cd4c0bc58e
2 changed files with 4 additions and 5 deletions
+1 -1
View File
@@ -638,7 +638,7 @@ try_combine_dpp(pr_opt_ctx& ctx, aco_ptr<Instruction>& instr)
continue;
bool input_mods = can_use_input_modifiers(ctx.program->gfx_level, instr->opcode, i) &&
get_operand_type(instr, i).constant_bits() == 32;
get_operand_type(instr, i).bit_size == 32;
bool mov_uses_mods = mov->valu().neg[0] || mov->valu().abs[0];
if (((dpp8 && ctx.program->gfx_level < GFX11) || !input_mods) && mov_uses_mods)
continue;