From 1fc38d85395fc19b5747ba5c1eb8012b82135543 Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Tue, 9 Dec 2025 15:14:16 +0100 Subject: [PATCH] nir/opt_uniform_subgroup: fix swizzle_amd without fetch_inactive Fixes: ad5be403039 ("nir: add fetch inactive index to quad_swizzle_amd/masked_swizzle_amd") Reviewed-by: Alyssa Rosenzweig Part-of: --- src/compiler/nir/nir_opt_uniform_subgroup.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/compiler/nir/nir_opt_uniform_subgroup.c b/src/compiler/nir/nir_opt_uniform_subgroup.c index 1bf0c94be36..459bbbe3463 100644 --- a/src/compiler/nir/nir_opt_uniform_subgroup.c +++ b/src/compiler/nir/nir_opt_uniform_subgroup.c @@ -20,6 +20,11 @@ opt_uniform_subgroup_filter(const nir_instr *instr, const void *_state) nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr); switch (intrin->intrinsic) { + case nir_intrinsic_quad_swizzle_amd: + case nir_intrinsic_masked_swizzle_amd: + if (!nir_intrinsic_fetch_inactive(intrin)) + return false; + FALLTHROUGH; case nir_intrinsic_shuffle: case nir_intrinsic_read_invocation: case nir_intrinsic_read_first_invocation: @@ -27,8 +32,6 @@ opt_uniform_subgroup_filter(const nir_instr *instr, const void *_state) case nir_intrinsic_quad_swap_horizontal: case nir_intrinsic_quad_swap_vertical: case nir_intrinsic_quad_swap_diagonal: - case nir_intrinsic_quad_swizzle_amd: - case nir_intrinsic_masked_swizzle_amd: case nir_intrinsic_vote_all: case nir_intrinsic_vote_any: case nir_intrinsic_vote_feq: