nine: Implement threadpool
DRI_PRIME setups have different issues due the lack of dma-buf fences support in the drivers. For DRI3 DRI_PRIME, a race can appear, making tearings visible, or worse showing older content than expected. Until dma-buf fences are well supported (and by all drivers), an alternative is to send the buffers to the server only when rendering has finished. Since waiting the rendering has finished in the main thread has a performance impact, this patch uses an additional thread to offload the wait and the sending of the buffers to the server. Acked-by:Jose Fonseca <jfonseca@vmware.com> Reviewed-by:
David Heidelberg <david@ixit.cz> Signed-off-by:
Axel Davy <axel.davy@ens.fr> (cherry picked from commit 7f565845)
Showing
- src/gallium/state_trackers/nine/Makefile.sources 2 additions, 0 deletionssrc/gallium/state_trackers/nine/Makefile.sources
- src/gallium/state_trackers/nine/adapter9.h 1 addition, 0 deletionssrc/gallium/state_trackers/nine/adapter9.h
- src/gallium/state_trackers/nine/swapchain9.c 77 additions, 9 deletionssrc/gallium/state_trackers/nine/swapchain9.c
- src/gallium/state_trackers/nine/swapchain9.h 7 additions, 0 deletionssrc/gallium/state_trackers/nine/swapchain9.h
- src/gallium/state_trackers/nine/threadpool.c 183 additions, 0 deletionssrc/gallium/state_trackers/nine/threadpool.c
- src/gallium/state_trackers/nine/threadpool.h 55 additions, 0 deletionssrc/gallium/state_trackers/nine/threadpool.h
- src/gallium/targets/d3dadapter9/drm.c 15 additions, 1 deletionsrc/gallium/targets/d3dadapter9/drm.c
- src/mesa/drivers/dri/common/xmlpool/t_options.h 5 additions, 0 deletionssrc/mesa/drivers/dri/common/xmlpool/t_options.h
Loading
Please register or sign in to comment