Hans-Kristian Arntzen : vkd3d: Add MSVC path for atomic_add_fetch.
Alexandre Julliard
julliard at winehq.org
Tue Oct 1 15:42:41 CDT 2019
Module: vkd3d
Branch: master
Commit: f180e95e2fabb1a4f99202dc4041b4d37d578035
URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=f180e95e2fabb1a4f99202dc4041b4d37d578035
Author: Hans-Kristian Arntzen <post at arntzen-software.no>
Date: Tue Oct 1 16:07:45 2019 +0200
vkd3d: Add MSVC path for atomic_add_fetch.
Signed-off-by: Hans-Kristian Arntzen <post at arntzen-software.no>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
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 d8fb361..ac217e9 100644
--- a/include/private/vkd3d_common.h
+++ b/include/private/vkd3d_common.h
@@ -164,6 +164,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 */
More information about the wine-cvs
mailing list