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

Reply via email to