agx: implement halts

just translate to a stop. seems to work fine.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32529>
This commit is contained in:
Alyssa Rosenzweig 2024-12-06 10:49:38 -05:00 committed by Marge Bot
parent 21c16fe343
commit c34635c58d

View file

@ -2364,6 +2364,13 @@ static void
agx_emit_jump(agx_builder *b, nir_jump_instr *instr)
{
agx_context *ctx = b->shader;
if (instr->type == nir_jump_halt) {
agx_stop(b);
ctx->current_block->unconditional_jumps = true;
return;
}
assert(instr->type == nir_jump_break || instr->type == nir_jump_continue);
/* Break out of either one or two loops */