nir/opt_constant_folding: optimize ballot(false)
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

always zero. noticed on dEQP-VK.subgroups.ballot.graphics.graphic

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39948>
This commit is contained in:
Alyssa Rosenzweig 2026-02-17 16:51:05 -05:00 committed by Marge Bot
parent 7899854e62
commit e172f97fdd

View file

@ -316,6 +316,14 @@ try_fold_intrinsic(nir_builder *b, nir_intrinsic_instr *intrin,
return nir_imm_bool(b, constant_true);
}
case nir_intrinsic_ballot_relaxed:
case nir_intrinsic_ballot: {
if (!nir_src_is_const(intrin->src[0]) || nir_src_as_bool(intrin->src[0]))
return NULL;
return nir_imm_zero(b, intrin->def.num_components, intrin->def.bit_size);
}
case nir_intrinsic_load_input:
case nir_intrinsic_load_per_primitive_input:
case nir_intrinsic_load_input_vertex: