Hi all, We compile the main shader part of when creating a shader CSO. This happens asynchronously by default, except for debug contexts due to the way shader printing works. This is one reason why ddebug doesn't work with threaded Gallium (because threaded Gallium want to create shader CSOs from arbitrary threads).
Since I really want to be able to use ddebug with threaded Gallium, this series fixes the shader printing issues so that we can always do the compile asynchronously. Now shader CSO creation is truly a per-screen operation. Please review! Thanks, Nicolai -- src/gallium/auxiliary/Makefile.sources | 2 + src/gallium/auxiliary/meson.build | 2 + src/gallium/auxiliary/os/os_thread.h | 76 ----------- src/gallium/auxiliary/util/u_async_debug.c | 113 +++++++++++++++++ src/gallium/auxiliary/util/u_async_debug.h | 74 +++++++++++ src/gallium/drivers/llvmpipe/lp_rast.c | 9 +- src/gallium/drivers/llvmpipe/lp_rast_priv.h | 4 +- .../drivers/radeon/r600_pipe_common.c | 12 -- .../drivers/radeon/r600_pipe_common.h | 1 - src/gallium/drivers/radeonsi/si_compute.c | 46 ++++--- src/gallium/drivers/radeonsi/si_pipe.c | 16 +++ src/gallium/drivers/radeonsi/si_pipe.h | 1 + .../drivers/radeonsi/si_state_shaders.c | 46 ++++--- src/gallium/tests/unit/pipe_barrier_test.c | 12 +- src/util/u_queue.c | 35 +++++ src/util/u_queue.h | 2 + src/util/u_thread.h | 74 +++++++++++ 17 files changed, 386 insertions(+), 139 deletions(-) -- src/gallium/auxiliary/Makefile.sources | 2 + src/gallium/auxiliary/meson.build | 2 + src/gallium/auxiliary/os/os_thread.h | 76 ----------- src/gallium/auxiliary/util/u_async_debug.c | 113 +++++++++++++++++ src/gallium/auxiliary/util/u_async_debug.h | 74 +++++++++++ src/gallium/drivers/llvmpipe/lp_rast.c | 9 +- src/gallium/drivers/llvmpipe/lp_rast_priv.h | 4 +- .../drivers/radeon/r600_pipe_common.c | 12 -- .../drivers/radeon/r600_pipe_common.h | 1 - src/gallium/drivers/radeonsi/si_compute.c | 46 ++++--- src/gallium/drivers/radeonsi/si_pipe.c | 16 +++ src/gallium/drivers/radeonsi/si_pipe.h | 1 + .../drivers/radeonsi/si_state_shaders.c | 46 ++++--- src/gallium/tests/unit/pipe_barrier_test.c | 12 +- src/util/u_queue.c | 35 +++++ src/util/u_queue.h | 2 + src/util/u_thread.h | 74 +++++++++++ 17 files changed, 386 insertions(+), 139 deletions(-) _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev