Module: vkd3d
Branch: master
Commit: 3db509383b9f5a0963e76c08dcb2fe903a6ed560
URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/3db509383b9f5a0963e76c08dcb2f…
Author: Conor McCarthy <cmccarthy(a)codeweavers.com>
Date: Wed Jan 25 15:25:48 2023 +1000
vkd3d: Store a heap array index in each CBV/SRV/UAV descriptor.
A pointer to the containing descriptor heap can be derived from this
information.
PE build of vkd3d uses Windows critical sections for synchronisation,
and these slow down on the very high lock/unlock rate during multithreaded
descriptor copying in Shadow of the Tomb Raider. This patch speeds up the
demo by about 8%. By comparison, using SRW locks in the allocators and
locking them for read only where applicable is about 4% faster.
---
libs/vkd3d/command.c | 57 +++++--------
libs/vkd3d/device.c | 195 +++------------------------------------------
libs/vkd3d/resource.c | 174 +++++++++++++++++++++-------------------
libs/vkd3d/vkd3d_private.h | 57 ++++++-------
4 files changed, 149 insertions(+), 334 deletions(-)