pan/midgard: Index blocks for printing
[mesa.git] / src / panfrost / midgard / midgard_compile.c
index f08f60fc32809cb4abac4c3aa268d437d3516b33..67c5c8482144aa0c767538caafff6ebd38c98270 100644 (file)
@@ -2264,6 +2264,8 @@ create_empty_block(compiler_context *ctx)
                         _mesa_hash_pointer,
                         _mesa_key_pointer_equal);
 
+        blk->source_id = ctx->block_source_count++;
+
         return blk;
 }
 
@@ -2575,7 +2577,15 @@ midgard_compile_shader_nir(struct midgard_screen *screen, nir_shader *nir, midga
                 ctx->func = func;
 
                 emit_cf_list(ctx, &func->impl->body);
-                emit_block(ctx, func->impl->end_block);
+
+                /* Emit empty exit block with successor */
+
+                struct midgard_block *semi_end = ctx->current_block;
+
+                struct midgard_block *end =
+                        emit_block(ctx, func->impl->end_block);
+
+                midgard_block_add_successor(semi_end, end);
 
                 break; /* TODO: Multi-function shaders */
         }