Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2015-05-20 09:57:17 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2015-05-20 09:57:17 +0300
commit28b2977be98c71ceaf9f36ddba406392b50a46c9 (patch)
tree29edee82226e2d5cd97379ad1c89936b94a4bce1 /intern/atomic
parent5d30c23c35aafba3a9bc772b4e66dd70b1ed84de (diff)
Atomic operations: Add function declarations at the top of the header
No functional changes, just helps grasping what operations are actually supported.
Diffstat (limited to 'intern/atomic')
-rw-r--r--intern/atomic/atomic_ops.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/intern/atomic/atomic_ops.h b/intern/atomic/atomic_ops.h
index 06a5c8d834e..15a77e48078 100644
--- a/intern/atomic/atomic_ops.h
+++ b/intern/atomic/atomic_ops.h
@@ -77,6 +77,27 @@
# define LG_SIZEOF_INT 2
#endif
+/************************/
+/* Function prototypes. */
+
+#if (LG_SIZEOF_PTR == 3 || LG_SIZEOF_INT == 3)
+ATOMIC_INLINE uint64_t atomic_add_uint64(uint64_t *p, uint64_t x);
+ATOMIC_INLINE uint64_t atomic_sub_uint64(uint64_t *p, uint64_t x);
+ATOMIC_INLINE uint64_t atomic_cas_uint64(uint64_t *v, uint64_t old, uint64_t _new);
+#endif
+
+ATOMIC_INLINE uint32_t atomic_add_uint32(uint32_t *p, uint32_t x);
+ATOMIC_INLINE uint32_t atomic_sub_uint32(uint32_t *p, uint32_t x);
+ATOMIC_INLINE uint32_t atomic_cas_uint32(uint32_t *v, uint32_t old, uint32_t _new);
+
+ATOMIC_INLINE size_t atomic_add_z(size_t *p, size_t x);
+ATOMIC_INLINE size_t atomic_sub_z(size_t *p, size_t x);
+ATOMIC_INLINE size_t atomic_cas_z(size_t *v, size_t old, size_t _new);
+
+ATOMIC_INLINE unsigned atomic_add_u(unsigned *p, unsigned x);
+ATOMIC_INLINE unsigned atomic_sub_u(unsigned *p, unsigned x);
+ATOMIC_INLINE unsigned atomic_cas_u(unsigned *v, unsigned old, unsigned _new);
+
/******************************************************************************/
/* 64-bit operations. */
#if (LG_SIZEOF_PTR == 3 || LG_SIZEOF_INT == 3)