mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 22:40:09 +01:00
agx: Consider "stop" a control flow instruction
...and therefore it needs to be after a "logical end". This means that "after_block_logical" will do the right thing for the last block. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446>
This commit is contained in:
parent
f6aa43cf42
commit
33e3418cfe
2 changed files with 2 additions and 0 deletions
|
|
@ -1860,6 +1860,7 @@ agx_compile_function_nir(nir_shader *nir, nir_function_impl *impl,
|
|||
*/
|
||||
agx_block *last_block = list_last_entry(&ctx->blocks, agx_block, link);
|
||||
agx_builder _b = agx_init_builder(ctx, agx_after_block(last_block));
|
||||
agx_logical_end(&_b);
|
||||
agx_stop(&_b);
|
||||
|
||||
/* Index blocks now that we're done emitting so the order is consistent */
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@ agx_validate_block_form(agx_block *block)
|
|||
case AGX_OPCODE_IF_FCMP:
|
||||
case AGX_OPCODE_ELSE_FCMP:
|
||||
case AGX_OPCODE_WHILE_FCMP:
|
||||
case AGX_OPCODE_STOP:
|
||||
agx_validate_assert(state == AGX_BLOCK_STATE_CF);
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue