radv: fix gang submissions with chaining
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 31 Aug 2023 08:35:38 +0000 (10:35 +0200)
committerMarge Bot <emma+marge@anholt.net>
Fri, 6 Oct 2023 12:42:33 +0000 (12:42 +0000)
commit752fba464398f1193d4616234a311f985dfa4814
treec050c809ef2799bab61f80869ea6f86daffad6d9
parentf233a73c1c6defdfabe41081b60dd77c39666522
radv: fix gang submissions with chaining

Gang submissions are mostly only be used for task shaders to both
submit GFX and ACE command buffers in the same submission. Though,
the gang leader (the last submitted CS) IP type should match the
queue IP type to determine which fence to signal.

But if chaining is enabled, it's possible that all GFX cmdbufs are
chained to the first GFX cmdbuf, which means the last CS is ACE and
not GFX.

Fix this by resetting chaining for GFX when a cmdbuffer has GFX+ACE.

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