nir/opt_uniform_subgroup: use ddx/ddy fp_math_ctrl

Foz-DB Navi48:
Totals from 16 (0.01% of 139781) affected shaders:
Instrs: 12432 -> 11597 (-6.72%)
CodeSize: 66204 -> 62440 (-5.69%)
Latency: 77168 -> 76132 (-1.34%)
InvThroughput: 8942 -> 8332 (-6.82%)
VClause: 302 -> 290 (-3.97%)
SClause: 207 -> 201 (-2.90%)
Copies: 553 -> 517 (-6.51%)
PreVGPRs: 589 -> 577 (-2.04%)
VALU: 8007 -> 7473 (-6.67%)
SALU: 1057 -> 900 (-14.85%)
VMEM: 407 -> 395 (-2.95%)

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40630>
This commit is contained in:
Georg Lehmann 2026-03-25 14:33:18 +01:00 committed by Marge Bot
parent 5d2be211ea
commit 85ff60e68a

View file

@ -241,7 +241,7 @@ opt_uniform_subgroup_instr(nir_builder *b, nir_intrinsic_instr *intrin, void *_s
return false;
nir_def *x = intrin->src[0].ssa;
b->fp_math_ctrl = nir_fp_no_fast_math;
b->fp_math_ctrl = nir_intrinsic_fp_math_ctrl(intrin);
replacement = nir_fsub(b, x, x);
b->fp_math_ctrl = nir_fp_fast_math;
break;