aco/isel: fix vectorized i2i16 with 8bit vec8 source

The extract index is in dwords, not bytes.

Fixes: 92d433c54a ("aco: vectorize conversions from 8bit to 16bit")
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36869>
This commit is contained in:
Georg Lehmann 2025-08-20 08:26:45 +02:00 committed by Marge Bot
parent 638fa01203
commit 639b91bb48

View file

@ -2992,7 +2992,7 @@ visit_alu_instr(isel_context* ctx, nir_alu_instr* instr)
Temp src = get_ssa_temp(ctx, instr->src[0].src.ssa);
if (src.bytes() >= 4)
src = emit_extract_vector(ctx, src, instr->src[0].swizzle[0] & ~0x3, v1);
src = emit_extract_vector(ctx, src, instr->src[0].swizzle[0] >> 2, v1);
emit_pk_int16_from_8bit(ctx, dst, src, instr->src[0].swizzle[0] & 0x3,
instr->src[0].swizzle[1] & 0x3, sext);