agx: lower more quad ops

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29179>
This commit is contained in:
Alyssa Rosenzweig
2024-05-06 22:21:34 -04:00
committed by Marge Bot
parent 7aa17a122f
commit bc26e11c2a
@@ -37,6 +37,19 @@ lower(nir_builder *b, nir_intrinsic_instr *intr, void *data)
return true;
}
case nir_intrinsic_quad_vote_any: {
nir_def *ballot = nir_quad_ballot_agx(b, 16, intr->src[0].ssa);
nir_def_rewrite_uses(&intr->def, nir_ine_imm(b, ballot, 0));
return true;
}
case nir_intrinsic_quad_vote_all: {
nir_def *ballot =
nir_quad_ballot_agx(b, 16, nir_inot(b, intr->src[0].ssa));
nir_def_rewrite_uses(&intr->def, nir_ieq_imm(b, ballot, 0));
return true;
}
case nir_intrinsic_first_invocation: {
nir_def *active_id = nir_load_active_subgroup_invocation_agx(b, 16);
nir_def *is_first = nir_ieq_imm(b, active_id, 0);