radv: Allow using compute queue with CS regalloc hang bug on GFX7

Now that all larger workgroup sizes are lowered to 256,
the regalloc hang cannot mess up the compute queues anymore.

Still don't allow compute queues on GFX6 though,
they are prone to hangs. Needs further investigation.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39288>
This commit is contained in:
Timur Kristóf 2025-10-21 15:58:00 +02:00 committed by Marge Bot
parent 0961aba8a7
commit 86ff28b3da

View file

@ -124,13 +124,8 @@ radv_video_encode_queue_enabled(const struct radv_physical_device *pdev)
bool
radv_compute_queue_enabled(const struct radv_physical_device *pdev)
{
/* Compute queues may run compute dispatches in parallel with
* the graphics queue, even from other processes/apps.
* At the moment we can't make sure that all compute shaders
* use a workgroup size of 256 to mitigate the regalloc hang,
* so disable compute queues on affected chips.
*/
if (pdev->info.has_cs_regalloc_hang_bug)
/* Compute queues may hang on GFX6, need further investigation before enabling them. */
if (pdev->info.gfx_level == GFX6)
return false;
const struct radv_instance *instance = radv_physical_device_instance(pdev);