aco/print_asm: allow for empty blocks with arbitrary offsets

We will add empty blocks at the end of the shader,
in order to store some branch offset information.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32037>
This commit is contained in:
Daniel Schürmann 2024-11-11 12:03:59 +01:00 committed by Marge Bot
parent ab26b99c2c
commit 3a02bbd916

View file

@ -42,7 +42,9 @@ void
print_block_markers(FILE* output, Program* program, const std::vector<bool>& referenced_blocks,
unsigned* next_block, unsigned pos)
{
while (*next_block < program->blocks.size() && pos == program->blocks[*next_block].offset) {
while (*next_block < program->blocks.size() && pos >= program->blocks[*next_block].offset) {
assert(pos == program->blocks[*next_block].offset ||
program->blocks[*next_block].instructions.empty());
if (referenced_blocks[*next_block])
fprintf(output, "BB%u:\n", *next_block);
(*next_block)++;