Conor McCarthy : vkd3d: Make all descriptor reads and writes atomic.

Alexandre Julliard julliard at winehq.org
Tue Sep 24 11:39:23 CDT 2019


Module: vkd3d
Branch: master
Commit: 8e6f5ddd24158c7402b5fe28426083539eb7f617
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=8e6f5ddd24158c7402b5fe28426083539eb7f617

Author: Conor McCarthy <cmccarthy at codeweavers.com>
Date:   Tue Sep 24 22:13:34 2019 +1000

vkd3d: Make all descriptor reads and writes atomic.

Shadow of the Tomb Raider overwrites descriptors while they are being
copied in another thread. This patch makes reads and writes atomic for
CBV, SRV, UAV, and sampler descriptors, but not RTV and DSV, for which
copying is not implemented.

Benchmark total frames vs mutex count (the single mutex was locked
only once for copying):

1 mutex:    6480 6489 6503
8 mutexes:  6691 6693 6661
16 mutexes: 6665 6682 6703

Signed-off-by: Conor McCarthy <cmccarthy at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 libs/vkd3d/device.c        | 35 +++++++++++++++++------
 libs/vkd3d/resource.c      | 70 +++++++++++++++++++++++++++++-----------------
 libs/vkd3d/vkd3d_private.h | 16 +++++++++++
 3 files changed, 88 insertions(+), 33 deletions(-)

Diff:   https://source.winehq.org/git/vkd3d.git/?a=commitdiff;h=8e6f5ddd24158c7402b5fe28426083539eb7f617



More information about the wine-cvs mailing list