[PATCH v3] vkd3d: Add MSVC path for atomic_add_fetch
Hans-Kristian Arntzen
post at arntzen-software.no
Tue Oct 1 09:07:45 CDT 2019
Signed-off-by: Hans-Kristian Arntzen <post at arntzen-software.no>
---
include/private/vkd3d_common.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/private/vkd3d_common.h b/include/private/vkd3d_common.h
index 1ac8a63..6134dbd 100644
--- a/include/private/vkd3d_common.h
+++ b/include/private/vkd3d_common.h
@@ -152,6 +152,9 @@ static inline LONG InterlockedDecrement(LONG volatile *x)
#if HAVE_SYNC_ADD_AND_FETCH
# define atomic_add_fetch(ptr, val) __sync_add_and_fetch(ptr, val)
+#elif defined(_MSC_VER)
+/* InterlockedAdd returns value after increment, like add_and_fetch. */
+# define atomic_add_fetch(ptr, val) InterlockedAdd(ptr, val)
#else
# error "atomic_add_fetch() not implemented for this platform"
#endif /* HAVE_SYNC_ADD_AND_FETCH */
--
2.23.0
More information about the wine-devel
mailing list