[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