radeonsi: add another aux context for uploading shaders
authorMarek Olšák <marek.olsak@amd.com>
Sun, 1 Oct 2023 00:08:23 +0000 (20:08 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 5 Oct 2023 03:53:16 +0000 (23:53 -0400)
commit23af6d3d35ee9f98031075bcd918c384b368efe3
treef3345893220ba82114c9eed9772698382e3b7ba7
parent8361cd4c4cf7c5e63e7d1be3a7b57898e9de62bc
radeonsi: add another aux context for uploading shaders

When the first auxiliary context is locked and wants to compile and upload
a shader asynchronously, we need to use another auxiliary context
in the compiler thread because the first one is locked at that point.

This adds an array of auxiliary contexts into si_screen and changes how aux
contexts are accessed.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25494>
src/gallium/drivers/radeonsi/si_compute_blit.c
src/gallium/drivers/radeonsi/si_debug.c
src/gallium/drivers/radeonsi/si_pipe.c
src/gallium/drivers/radeonsi/si_pipe.h
src/gallium/drivers/radeonsi/si_texture.c