winsys/radeon: add fine-grained fences for slab buffers

Graphics / Mesa 3D Graphics Library / Mesa - Nicolai Hähnle [amd.com] - 27 September 2016 09:45 UTC

Note the logic for adding fences is somewhat different than for amdgpu, because radeon has no scheduler and we therefore have no guarantee about the order in which submissions from multiple threads are processed.

(Ironically, this is only an issue when "multi-threaded submission" is disabled, because "multi-threaded submission" actually means that all submissions happen from a single thread that happens to be separate from the application's threads. If we only supported "multi-threaded submission", the fence handling could be simplified by adding the fences in that thread where everything is serialized.)

a1e391e winsys/radeon: add fine-grained fences for slab buffers
src/gallium/winsys/radeon/drm/radeon_drm_bo.c | 55 ++++++++++++-
src/gallium/winsys/radeon/drm/radeon_drm_bo.h | 4 +
src/gallium/winsys/radeon/drm/radeon_drm_cs.c | 86 ++++++++++++++++++---
src/gallium/winsys/radeon/drm/radeon_drm_winsys.c | 2 +
src/gallium/winsys/radeon/drm/radeon_drm_winsys.h | 1 +
5 files changed, 137 insertions(+), 11 deletions(-)

Upstream: cgit.freedesktop.org


  • Share