- struct panfrost_transfer transfer = panfrost_allocate_transient(ctx, sizeof(job) + sizeof(*payload));
- memcpy(transfer.cpu, &job, sizeof(job));
- memcpy(transfer.cpu + sizeof(job), payload, sizeof(*payload));
+ panfrost_pack_work_groups_compute(&payload.prefix,
+ info->grid[0], info->grid[1],
+ info->grid[2],
+ info->block[0], info->block[1],
+ info->block[2],
+ false);
+
+ panfrost_new_job(&batch->pool, &batch->scoreboard,
+ MALI_JOB_TYPE_COMPUTE, true, 0, &payload,
+ sizeof(payload), false);
+ panfrost_flush_all_batches(ctx, 0);
+}