diff --git a/.pick_status.json b/.pick_status.json index c86197cba03..a103e3ea93e 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -373,7 +373,7 @@ "description": "pan/mdg: Add a bundle ID to instructions", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/panfrost/midgard/compiler.h b/src/panfrost/midgard/compiler.h index a3841609fa4..afdd95f5d18 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 615bc45d76a..802d332fb48 100644 --- a/src/panfrost/midgard/midgard_schedule.c +++ b/src/panfrost/midgard/midgard_schedule.c @@ -1416,6 +1416,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; }