From 3246889fb047c54623795956a3b4890e672f05ef Mon Sep 17 00:00:00 2001 From: Karol Herbst Date: Tue, 27 Sep 2022 19:08:41 +0200 Subject: [PATCH] radeonsi: stop vectorizing unpack_32_2x16_split MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit nir_to_llvm can't deal with them being vectors. Signed-off-by: Karol Herbst Reviewed-by: Marek Olšák Part-of: --- src/gallium/drivers/radeonsi/si_shader_nir.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c index beeaa9adb21..135f8711a38 100644 --- a/src/gallium/drivers/radeonsi/si_shader_nir.c +++ b/src/gallium/drivers/radeonsi/si_shader_nir.c @@ -48,8 +48,15 @@ static uint8_t si_vectorize_callback(const nir_instr *instr, const void *data) return 0; nir_alu_instr *alu = nir_instr_as_alu(instr); - if (nir_dest_bit_size(alu->dest.dest) == 16) - return 2; + if (nir_dest_bit_size(alu->dest.dest) == 16) { + switch (alu->op) { + case nir_op_unpack_32_2x16_split_x: + case nir_op_unpack_32_2x16_split_y: + return 1; + default: + return 2; + } + } return 1; }