From ab773fc5d480d367191385bbd364993e16989752 Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Tue, 24 Feb 2026 14:39:23 +0100 Subject: [PATCH] nir/opt_algebraic: fix frsq clamp pattern This is not NaN correct. And also make the pattern 32bit only because the constant is hard coded FLT_MAX. Fixes: 780b5c10374 ("nir/algebraic: Simplify some Inf and NaN avoidance code") Reviewed-by: Alyssa Rosenzweig Part-of: --- src/compiler/nir/nir_opt_algebraic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py index 37b6ff4937c..acbd7ec95e2 100644 --- a/src/compiler/nir/nir_opt_algebraic.py +++ b/src/compiler/nir/nir_opt_algebraic.py @@ -3814,7 +3814,7 @@ late_optimizations.extend([ # Putting this in 'optimizations' interferes with the bcsel(a, op(b, c), # op(b, d)) => op(b, bcsel(a, c, d)) transformations. I do not know why. - (('bcsel', ('feq', ('fsqrt', 'a(is_not_negative)'), 0.0), intBitsToFloat(0x7f7fffff), ('frsq', a)), + (('bcsel@32', ('feq', ('fsqrt', 'a(is_a_number_not_negative)'), 0.0), intBitsToFloat(0x7f7fffff), ('frsq', a)), ('fmin', ('frsq', a), intBitsToFloat(0x7f7fffff))), # Things that look like DPH in the source shader may get expanded to