radv: Synchronization for task shaders.
authorTimur Kristóf <timur.kristof@gmail.com>
Mon, 7 Feb 2022 23:28:44 +0000 (00:28 +0100)
committerMarge Bot <emma+marge@anholt.net>
Wed, 20 Jul 2022 19:00:30 +0000 (19:00 +0000)
commit4c6f83006d4d471651319c00b0c21b8b96cea2ac
tree08a73c5255b1a5634e92655bdda004cfc749369f
parent2479b6286974c1467bec5120df96650d297dcb7f
radv: Synchronization for task shaders.

Add a separate flush_bits field for tracking cache
flushes in the ACE internal cmdbuf.
In barriers and image transitions we add these flush bits to ACE.

Create a semaphore in the upload BO which makes it possible
for ACE to wait for GFX for the purpose of synchronization.
This is necessary when a barrier needs to block task shaders.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16531>
src/amd/vulkan/radv_cmd_buffer.c
src/amd/vulkan/radv_pass.c
src/amd/vulkan/radv_private.h