"description": "radv: fix registering queues for RGP with compute only",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": "930e77e9036a75196e080cb4b780c47104bf0ef2",
"notes": null
static void
radv_register_queues(struct radv_device *device, struct ac_sqtt *sqtt)
{
- radv_register_queue(device, &device->queues[RADV_QUEUE_GENERAL][0]);
+ if (device->queue_count[RADV_QUEUE_GENERAL] == 1)
+ radv_register_queue(device, &device->queues[RADV_QUEUE_GENERAL][0]);
+
for (uint32_t i = 0; i < device->queue_count[RADV_QUEUE_COMPUTE]; i++)
radv_register_queue(device, &device->queues[RADV_QUEUE_COMPUTE][i]);
}
static void
radv_unregister_queues(struct radv_device *device, struct ac_sqtt *sqtt)
{
- radv_unregister_queue(device, &device->queues[RADV_QUEUE_GENERAL][0]);
+ if (device->queue_count[RADV_QUEUE_GENERAL] == 1)
+ radv_unregister_queue(device, &device->queues[RADV_QUEUE_GENERAL][0]);
+
for (uint32_t i = 0; i < device->queue_count[RADV_QUEUE_COMPUTE]; i++)
radv_unregister_queue(device, &device->queues[RADV_QUEUE_COMPUTE][i]);
}