From 305db1af11453fed670ebec46e776472211e0ac0 Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Fri, 29 Sep 2023 08:08:15 +0200 Subject: [PATCH] nir: scalarize masked_swizzle_amd created from shuffle_xor Reviewed-by: Rhys Perry Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9901 Fixes: 0ef87f148df ("nir/lower_subgroups: Don't do multiple lowerings at once") Part-of: --- src/compiler/nir/nir_lower_subgroups.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/compiler/nir/nir_lower_subgroups.c b/src/compiler/nir/nir_lower_subgroups.c index 571f127c5b4..88df3e82451 100644 --- a/src/compiler/nir/nir_lower_subgroups.c +++ b/src/compiler/nir/nir_lower_subgroups.c @@ -842,6 +842,13 @@ lower_subgroups_instr(nir_builder *b, nir_instr *instr, void *_options) return lower_subgroup_op_to_32bit(b, intrin); } break; + case nir_intrinsic_masked_swizzle_amd: + if (options->lower_to_scalar && intrin->num_components > 1) { + return lower_subgroup_op_to_scalar(b, intrin); + } else if (options->lower_shuffle_to_32bit && intrin->src[0].ssa->bit_size == 64) { + return lower_subgroup_op_to_32bit(b, intrin); + } + break; default: break;