turnip: Request no implicit sync when we have no implicit-sync WSI BOs.
authorEmma Anholt <emma@anholt.net>
Tue, 1 Feb 2022 06:13:29 +0000 (22:13 -0800)
committerMarge Bot <emma+marge@anholt.net>
Tue, 22 Feb 2022 17:36:05 +0000 (17:36 +0000)
commit59bc17d57ae6d0f7796ad1bb71d3b3a2c02e60f4
treeb7d6098a2955171af333870ecb11f9c2442acde2
parent83ee08f6d1a5a3cbb2a8f9a2866a7366ea0311ef
turnip: Request no implicit sync when we have no implicit-sync WSI BOs.

I chose to implement this as a global flag in the device, because
otherwise we would end up with extra draw overhead trying to avoid it in
the implicit-sync WSI case, and you're probably going to end up needing
implicit sync anyway because you used one of the BOs in any of the
submitted cmdbufs.  To do better than this, we would probably want a
skip-implicit-sync flag on the BOs in the BO list, rather than global on
the submit.

Reports about venus on turnip say that this flag reduces worst-case
QueueSubmit time in a game workload from ~10ms to ~4ms.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14838>
src/freedreno/vulkan/tu_device.c
src/freedreno/vulkan/tu_drm.c
src/freedreno/vulkan/tu_private.h