[Mesa-dev] [PATCH v2 00/26] Asynchronous flushes and ddebug core rewrite

Nicolai Hähnle nhaehnle at gmail.com
Mon Nov 6 10:23:31 UTC 2017


Hi all,

here's a re-spin of the series, v1 was here:
https://patchwork.freedesktop.org/series/32427, and the updated
patches in a larger context are here:
https://cgit.freedesktop.org/~nh/mesa/log/?h=fences-threads-ddebug

Changes in v2:
- patch 3: Windows build issues should be fixed now (tested with
  Appveyor)
- added patch 7 and updated patch 10 to handle server waits on
  (asynchronous) flushes correctly / more robustly
- patch 14: remove a hunk that was made redundant by the above
- patch 15: change the buffer allocation for fine fences

Please take a look, especially at the mentioned patches!

Thanks,
Nicolai
--
 include/c11/threads.h                        |   11 -
 include/c11/threads_posix.h                  |   39 +-
 include/c11/threads_win32.h                  |   50 +-
 src/egl/drivers/dri2/egl_dri2.c              |   24 +-
 src/gallium/auxiliary/Makefile.sources       |    3 -
 src/gallium/auxiliary/gallivm/lp_bld_init.c  |    2 +-
 src/gallium/auxiliary/hud/hud_cpu.c          |    2 +-
 src/gallium/auxiliary/hud/hud_cpufreq.c      |    2 +-
 src/gallium/auxiliary/hud/hud_diskstat.c     |    2 +-
 src/gallium/auxiliary/hud/hud_driver_query.c |    2 +-
 src/gallium/auxiliary/hud/hud_fps.c          |    2 +-
 src/gallium/auxiliary/hud/hud_nic.c          |    2 +-
 src/gallium/auxiliary/hud/hud_sensors_temp.c |    2 +-
 src/gallium/auxiliary/meson.build            |    3 -
 .../auxiliary/pipebuffer/pb_bufmgr_cache.c   |    1 -
 .../auxiliary/pipebuffer/pb_bufmgr_debug.c   |    1 -
 .../auxiliary/pipebuffer/pb_bufmgr_slab.c    |    1 -
 src/gallium/auxiliary/pipebuffer/pb_cache.c  |    2 +-
 src/gallium/auxiliary/util/u_debug.c         |   19 +-
 src/gallium/auxiliary/util/u_dump.h          |    9 +
 src/gallium/auxiliary/util/u_dump_defines.c  |   53 +
 src/gallium/auxiliary/util/u_dump_state.c    |   16 +-
 .../auxiliary/util/u_threaded_context.c      |  212 +++-
 .../auxiliary/util/u_threaded_context.h      |   61 +-
 .../util/u_threaded_context_calls.h          |    2 +
 src/gallium/auxiliary/util/u_time.h          |  150 ---
 src/gallium/docs/source/context.rst          |   23 +
 src/gallium/drivers/ddebug/dd_context.c      |  130 +-
 src/gallium/drivers/ddebug/dd_draw.c         | 1049 ++++++++++------
 src/gallium/drivers/ddebug/dd_pipe.h         |   93 +-
 src/gallium/drivers/ddebug/dd_screen.c       |  168 ++-
 src/gallium/drivers/ddebug/dd_util.h         |   32 +-
 .../drivers/etnaviv/etnaviv_query_sw.c       |    2 +-
 src/gallium/drivers/etnaviv/etnaviv_screen.c |    2 +-
 .../drivers/freedreno/freedreno_query_sw.c   |    2 +-
 .../drivers/freedreno/freedreno_screen.c     |    2 +-
 src/gallium/drivers/llvmpipe/lp_query.c      |    2 +-
 src/gallium/drivers/llvmpipe/lp_rast.c       |    2 +-
 src/gallium/drivers/llvmpipe/lp_screen.c     |    2 +-
 src/gallium/drivers/llvmpipe/lp_setup.c      |    2 +-
 src/gallium/drivers/llvmpipe/lp_state_fs.c   |    2 +-
 .../drivers/llvmpipe/lp_state_setup.c        |    2 +-
 src/gallium/drivers/nouveau/nouveau_fence.c  |    2 +-
 src/gallium/drivers/nouveau/nouveau_screen.c |    2 +-
 src/gallium/drivers/r300/r300_context.c      |    2 +-
 src/gallium/drivers/r300/r300_flush.c        |    2 +-
 src/gallium/drivers/r300/r300_screen.c       |    2 +-
 src/gallium/drivers/r600/r600_gpu_load.c     |    2 +-
 src/gallium/drivers/r600/r600_pipe.c         |    2 +-
 src/gallium/drivers/r600/r600_pipe_common.c  |    2 +-
 src/gallium/drivers/r600/r600_query.c        |    2 +-
 src/gallium/drivers/r600/r600_texture.c      |    2 +-
 src/gallium/drivers/r600/sb/sb_core.cpp      |    2 +-
 src/gallium/drivers/radeon/r600_gpu_load.c   |    2 +-
 .../drivers/radeon/r600_pipe_common.c        |  269 +---
 src/gallium/drivers/radeon/r600_query.c      |    2 +-
 src/gallium/drivers/radeon/r600_texture.c    |    2 +-
 src/gallium/drivers/radeon/radeon_winsys.h   |    4 +-
 .../drivers/radeonsi/Makefile.sources        |    1 +
 src/gallium/drivers/radeonsi/meson.build     |    1 +
 src/gallium/drivers/radeonsi/si_debug.c      |    5 +-
 src/gallium/drivers/radeonsi/si_fence.c      |  467 +++++++
 src/gallium/drivers/radeonsi/si_hw_context.c |    3 +
 src/gallium/drivers/radeonsi/si_pipe.c       |   16 +-
 src/gallium/drivers/radeonsi/si_pipe.h       |    7 +
 src/gallium/drivers/rbug/rbug_core.c         |    2 +-
 src/gallium/drivers/softpipe/sp_query.c      |    2 +-
 src/gallium/drivers/softpipe/sp_screen.c     |    2 +-
 src/gallium/drivers/svga/svga_context.h      |    2 +-
 src/gallium/drivers/svga/svga_pipe_draw.c    |    1 -
 src/gallium/drivers/swr/swr_fence.cpp        |    2 +-
 src/gallium/drivers/swr/swr_query.cpp        |    2 +-
 src/gallium/drivers/trace/tr_dump.c          |    2 +-
 src/gallium/drivers/virgl/virgl_screen.c     |    2 +-
 src/gallium/include/pipe/p_context.h         |   19 +-
 src/gallium/include/pipe/p_defines.h         |    4 +
 .../state_trackers/wgl/stw_framebuffer.c     |    2 +-
 src/gallium/tests/unit/pipe_barrier_test.c   |    3 +-
 src/gallium/winsys/amdgpu/drm/amdgpu_bo.c    |    2 +-
 src/gallium/winsys/amdgpu/drm/amdgpu_cs.c    |   24 +-
 src/gallium/winsys/amdgpu/drm/amdgpu_cs.h    |    9 +-
 .../winsys/radeon/drm/radeon_drm_bo.c        |    2 +-
 .../winsys/radeon/drm/radeon_drm_cs.c        |   21 +-
 .../winsys/virgl/drm/virgl_drm_winsys.c      |    2 +-
 .../winsys/virgl/vtest/virgl_vtest_winsys.c  |    2 +-
 src/util/Makefile.sources                    |    2 +
 src/util/futex.h                             |    9 +-
 src/util/meson.build                         |    2 +
 src/{gallium/auxiliary/os => util}/os_time.c |   19 +-
 src/{gallium/auxiliary/os => util}/os_time.h |   23 +-
 src/util/simple_mtx.h                        |    2 +-
 src/util/u_queue.c                           |   82 +-
 src/util/u_queue.h                           |   54 +-
 93 files changed, 2039 insertions(+), 1250 deletions(-)



More information about the mesa-dev mailing list