From d14897b2f77b3a445e1cf93926e8bfe5145fb057 Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Wed, 3 Sep 2025 09:53:56 +0200 Subject: [PATCH] nir/lower_subgroups: don't use get_max_subgroup_size for lowering boolean rotates The lowering won't work with an unknown subgroup size, and we correctly assert that at the top of the function. Reviewed-by: Alyssa Rosenzweig Part-of: --- src/compiler/nir/nir_lower_subgroups.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/compiler/nir/nir_lower_subgroups.c b/src/compiler/nir/nir_lower_subgroups.c index 540ee7329e1..c9b4f606002 100644 --- a/src/compiler/nir/nir_lower_subgroups.c +++ b/src/compiler/nir/nir_lower_subgroups.c @@ -502,9 +502,8 @@ lower_boolean_shuffle(nir_builder *b, nir_intrinsic_instr *intrin, case nir_intrinsic_rotate: { nir_def *delta = nir_as_uniform(b, intrin->src[1].ssa); uint32_t cluster_size = nir_intrinsic_cluster_size(intrin); - unsigned subgroup_size = get_max_subgroup_size(options); - cluster_size = cluster_size ? cluster_size : subgroup_size; - cluster_size = MIN2(cluster_size, subgroup_size); + cluster_size = cluster_size ? cluster_size : options->subgroup_size; + cluster_size = MIN2(cluster_size, options->subgroup_size); if (cluster_size == 1) { return intrin->src[0].ssa; } else if (cluster_size == 2) {