winsys/amdgpu: add back multithreaded command submission
authorMarek Olšák <marek.olsak@amd.com>
Tue, 8 Mar 2016 00:19:31 +0000 (01:19 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 26 May 2016 14:43:45 +0000 (16:43 +0200)
commit53f33619a47b014b9ba7cc88310611081c5916db
tree2355b96a7a047a3ebdf6d613f2cb4e3dd1ab6cce
parentc626a86586f1cfc7c6423e74cd63c1da212365c9
winsys/amdgpu: add back multithreaded command submission

Ported from the initial amdgpu winsys from the private AMD branch.

The thread creates the buffer list, submits IBs, and cleans up
the submission context, which can also destroy buffers.

3-5% reduction in CPU overhead is expected for apps submitting a lot
of IBs per frame. This is most visible with DMA IBs.

v2: use a semaphore instead of a busy loop in amdgpu_ws_queue_cs
    add another amdgpu_cs_sync_flush call into amdgpu_bo_map

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
src/gallium/winsys/amdgpu/drm/amdgpu_bo.h
src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
src/gallium/winsys/amdgpu/drm/amdgpu_cs.h
src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
src/gallium/winsys/amdgpu/drm/amdgpu_winsys.h