dxvk/src/util/sync
Richard Yao 14560600a9 Micro-optimize locking in fences
When a fence has been missed, we can avoid locking *most* of the time
via the double-checked locking pattern. We still lock before a second
check in case the scheduler caused us to miss the fence. If the
scheduler did cause us to miss the fence, we can drop the lock prior to
executing the callback function, as a second micro-optimization.

Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
2024-01-15 12:42:19 +01:00
..
sync_list.h [dxvk] Introduce lock-free list 2022-02-19 17:36:39 +01:00
sync_recursive.cpp [util] Implement thread helpers on non-Windows platforms 2022-04-19 17:08:06 +01:00
sync_recursive.h [util] Add generic recursive spinlock 2020-03-15 03:43:04 +01:00
sync_signal.h Micro-optimize locking in fences 2024-01-15 12:42:19 +01:00
sync_spinlock.h [util] Implement spin on ARM64 2022-09-13 20:11:17 +01:00
sync_ticketlock.h [util] Improve ticket lock implementation 2020-01-01 13:59:46 +01:00