radv: allocate only 1 GDS OA counter for gfx10 NGG streamout
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 9 Oct 2023 14:38:42 +0000 (16:38 +0200)
committerMarge Bot <emma+marge@anholt.net>
Tue, 10 Oct 2023 15:12:26 +0000 (15:12 +0000)
commitbbf135db3d9faeb3dbf0f7986e5ab7def02e22e6
tree07e4fad201c29c96739ea779e6303f5c1ffc7325
parent7c7684c65648ef586614beb7759b21f63a18eea4
radv: allocate only 1 GDS OA counter for gfx10 NGG streamout

It works with just one counter.

This mitigates https://gitlab.freedesktop.org/drm/amd/-/issues/2902
quite a lot when you run dEQP-VK.transform_feedback.* in parallel on
more than 16 threads with RDNA3.

For example, on my GPU the kernel reports 16 GDS OA counters which means
that if you run VKCTS with 16 threads (ie. 16 Vulkan devices are
created) it's fine. Otherwise, the kernel might report ENOMEM.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25619>
src/amd/vulkan/radv_queue.c