From 4bbc29373a810b76bc4bdab16d28b460e35c1086 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Wed, 26 Nov 2025 11:48:58 -0800 Subject: [PATCH] nir/lower_flrp: Check and set shader_info::flrp_lowered No shader-db or fossil-db changes on any Intel platform. v2: Return early if lowering_mask is zero. If the first call to nir_lower_flrp has a lowering_mask of zero, later calls with non-zero masks would not do any lowering. lp_bld_nir.c has this issue. Suggested-by: Alyssa Reviewed-by: Alyssa Rosenzweig Part-of: --- src/compiler/nir/nir_lower_flrp.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/compiler/nir/nir_lower_flrp.c b/src/compiler/nir/nir_lower_flrp.c index ce270c4ea7b..c2f7892a371 100644 --- a/src/compiler/nir/nir_lower_flrp.c +++ b/src/compiler/nir/nir_lower_flrp.c @@ -599,6 +599,9 @@ nir_lower_flrp(nir_shader *shader, unsigned lowering_mask, bool always_precise) { + if (shader->info.flrp_lowered || lowering_mask == 0) + return false; + struct u_vector dead_flrp; if (!u_vector_init_pow2(&dead_flrp, 8, sizeof(struct nir_alu_instr *))) @@ -619,5 +622,7 @@ nir_lower_flrp(nir_shader *shader, u_vector_finish(&dead_flrp); + shader->info.flrp_lowered = true; + return progress; }