From 6936282bd3dee44093138770b860cfb3764e01ca Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Sat, 7 Mar 2026 13:05:41 +0100 Subject: [PATCH] nir/opt_algebraic: remove min(a, >= 1.0) before fsat MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Foz-DB Navi48: Totals from 86 (0.08% of 114655) affected shaders: Instrs: 217553 -> 217408 (-0.07%); split: -0.07%, +0.01% CodeSize: 1159992 -> 1159380 (-0.05%); split: -0.06%, +0.01% Latency: 1657600 -> 1657533 (-0.00%); split: -0.01%, +0.00% InvThroughput: 203205 -> 203178 (-0.01%); split: -0.02%, +0.00% SClause: 5245 -> 5244 (-0.02%) Copies: 13726 -> 13716 (-0.07%); split: -0.14%, +0.07% VALU: 130151 -> 130039 (-0.09%); split: -0.09%, +0.00% SALU: 26476 -> 26474 (-0.01%); split: -0.02%, +0.01% Reviewed-by: Marek Olšák Part-of: --- src/compiler/nir/nir_opt_algebraic.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py index b7b4df3ea4b..ac30c00e059 100644 --- a/src/compiler/nir/nir_opt_algebraic.py +++ b/src/compiler/nir/nir_opt_algebraic.py @@ -1073,6 +1073,8 @@ optimizations.extend([ (('fmax', 'a(is_le_pos_one)', 0.0), ('fsat', a), '!options->lower_fsat'), (('fsat', ('fmax', a, 'b(is_not_positive)')), ('fsat', a)), + (('fsat', ('fmin(nnan)', a, 'b(is_ge_pos_one)')), ('fsat', a)), + (('fsat', ('fmin', 'a(is_a_number)', 'b(is_ge_pos_one)')), ('fsat', a)), (('fsat', ('bcsel(is_used_once)', a, b, '#c')), ('bcsel', a, ('fsat', b), ('fsat', c))), (('fsat', ('bcsel(is_used_once)', a, '#b', c)), ('bcsel', a, ('fsat', b), ('fsat', c))),