nir/lower_non_uniform_access: flag IF as always divergent taken
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Totals from 849 (1.01% of 84383) affected shaders: (Navi48)

Instrs: 5411150 -> 5387935 (-0.43%)
CodeSize: 30782816 -> 30733420 (-0.16%); split: -0.21%, +0.05%
Latency: 44569512 -> 44282889 (-0.64%)
InvThroughput: 6822696 -> 6785429 (-0.55%); split: -0.55%, +0.00%
SClause: 159022 -> 159017 (-0.00%)
Branches: 174234 -> 152625 (-12.40%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39490>
This commit is contained in:
Daniel Schürmann 2026-01-23 09:07:17 +01:00 committed by Marge Bot
parent dc352f3d7c
commit 50bb16d8ea

View file

@ -463,7 +463,7 @@ nir_lower_non_uniform_access_impl(nir_function_impl *impl,
all_equal_first = nir_iand(&b, all_equal_first, equal_first);
}
nir_push_if(&b, all_equal_first);
nir_push_if(&b, all_equal_first)->control = nir_selection_control_divergent_always_taken;
util_dynarray_foreach(&data.srcs, struct nu_handle_src, src) {
for (uint32_t i = 0; i < key->handle_count; i++)