From 0224dbc371a8829d07648e309f7c8047d970fe30 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Tue, 7 May 2019 13:38:02 +0200 Subject: [PATCH] [dxvk] Optimize spinlock implementation --- src/util/sync/sync_spinlock.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/util/sync/sync_spinlock.h b/src/util/sync/sync_spinlock.h index 414f53cb..71e2035c 100644 --- a/src/util/sync/sync_spinlock.h +++ b/src/util/sync/sync_spinlock.h @@ -32,10 +32,8 @@ namespace dxvk::sync { } bool try_lock() { - uint32_t expected = 0; - return m_lock.compare_exchange_strong(expected, 1, - std::memory_order_acquire, - std::memory_order_relaxed); + return !m_lock.load() + && !m_lock.exchange(1, std::memory_order_acquire); } private: