diff --git a/src/panfrost/midgard/compiler.h b/src/panfrost/midgard/compiler.h index 310032823c3..7f3ea63cc52 100644 --- a/src/panfrost/midgard/compiler.h +++ b/src/panfrost/midgard/compiler.h @@ -183,6 +183,8 @@ typedef struct midgard_instruction { midgard_branch branch; }; + + unsigned bundle_id; } midgard_instruction; typedef struct midgard_block { diff --git a/src/panfrost/midgard/midgard_schedule.c b/src/panfrost/midgard/midgard_schedule.c index e3d49aaf64c..f987b7f17fd 100644 --- a/src/panfrost/midgard/midgard_schedule.c +++ b/src/panfrost/midgard/midgard_schedule.c @@ -1464,6 +1464,10 @@ schedule_block(compiler_context *ctx, midgard_block *block) else break; + for (unsigned i = 0; i < bundle.instruction_count; ++i) + bundle.instructions[i]->bundle_id = + ctx->quadword_count + block->quadword_count; + util_dynarray_append(&bundles, midgard_bundle, bundle); block->quadword_count += midgard_tag_props[bundle.tag].size; }