Blender  V2.93
Macros | Functions
atomic_ops_msvc.h File Reference
#include "atomic_ops_utils.h"
#include <intrin.h>
#include <windows.h>

Go to the source code of this file.

Macros

#define NOGDI
 
#define NOMINMAX
 
#define WIN32_LEAN_AND_MEAN
 

Functions

ATOMIC_INLINE uint64_t atomic_add_and_fetch_uint64 (uint64_t *p, uint64_t x)
 
ATOMIC_INLINE uint64_t atomic_sub_and_fetch_uint64 (uint64_t *p, uint64_t x)
 
ATOMIC_INLINE uint64_t atomic_cas_uint64 (uint64_t *v, uint64_t old, uint64_t _new)
 
ATOMIC_INLINE uint64_t atomic_fetch_and_add_uint64 (uint64_t *p, uint64_t x)
 
ATOMIC_INLINE uint64_t atomic_fetch_and_sub_uint64 (uint64_t *p, uint64_t x)
 
ATOMIC_INLINE int64_t atomic_add_and_fetch_int64 (int64_t *p, int64_t x)
 
ATOMIC_INLINE int64_t atomic_sub_and_fetch_int64 (int64_t *p, int64_t x)
 
ATOMIC_INLINE int64_t atomic_cas_int64 (int64_t *v, int64_t old, int64_t _new)
 
ATOMIC_INLINE int64_t atomic_fetch_and_add_int64 (int64_t *p, int64_t x)
 
ATOMIC_INLINE int64_t atomic_fetch_and_sub_int64 (int64_t *p, int64_t x)
 
ATOMIC_INLINE uint32_t atomic_add_and_fetch_uint32 (uint32_t *p, uint32_t x)
 
ATOMIC_INLINE uint32_t atomic_sub_and_fetch_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 uint32_t atomic_fetch_and_add_uint32 (uint32_t *p, uint32_t x)
 
ATOMIC_INLINE uint32_t atomic_fetch_and_or_uint32 (uint32_t *p, uint32_t x)
 
ATOMIC_INLINE uint32_t atomic_fetch_and_and_uint32 (uint32_t *p, uint32_t x)
 
ATOMIC_INLINE int32_t atomic_add_and_fetch_int32 (int32_t *p, int32_t x)
 
ATOMIC_INLINE int32_t atomic_sub_and_fetch_int32 (int32_t *p, int32_t x)
 
ATOMIC_INLINE int32_t atomic_cas_int32 (int32_t *v, int32_t old, int32_t _new)
 
ATOMIC_INLINE int32_t atomic_fetch_and_add_int32 (int32_t *p, int32_t x)
 
ATOMIC_INLINE int32_t atomic_fetch_and_or_int32 (int32_t *p, int32_t x)
 
ATOMIC_INLINE int32_t atomic_fetch_and_and_int32 (int32_t *p, int32_t x)
 
ATOMIC_INLINE int16_t atomic_fetch_and_or_int16 (int16_t *p, int16_t x)
 
ATOMIC_INLINE int16_t atomic_fetch_and_and_int16 (int16_t *p, int16_t x)
 
ATOMIC_INLINE uint8_t atomic_fetch_and_and_uint8 (uint8_t *p, uint8_t b)
 
ATOMIC_INLINE uint8_t atomic_fetch_and_or_uint8 (uint8_t *p, uint8_t b)
 
ATOMIC_INLINE int8_t atomic_fetch_and_and_int8 (int8_t *p, int8_t b)
 
ATOMIC_INLINE int8_t atomic_fetch_and_or_int8 (int8_t *p, int8_t b)
 

Macro Definition Documentation

◆ NOGDI

#define NOGDI

Definition at line 34 of file atomic_ops_msvc.h.

◆ NOMINMAX

#define NOMINMAX

Definition at line 36 of file atomic_ops_msvc.h.

◆ WIN32_LEAN_AND_MEAN

#define WIN32_LEAN_AND_MEAN

Definition at line 38 of file atomic_ops_msvc.h.

Function Documentation

◆ atomic_add_and_fetch_int32()

ATOMIC_INLINE int32_t atomic_add_and_fetch_int32 ( int32_t p,
int32_t  x 
)

Definition at line 135 of file atomic_ops_msvc.h.

References x.

Referenced by extract_range_task_create(), and TEST().

◆ atomic_add_and_fetch_int64()

ATOMIC_INLINE int64_t atomic_add_and_fetch_int64 ( int64_t p,
int64_t  x 
)

Definition at line 76 of file atomic_ops_msvc.h.

References x.

Referenced by TEST().

◆ atomic_add_and_fetch_uint32()

ATOMIC_INLINE uint32_t atomic_add_and_fetch_uint32 ( uint32_t p,
uint32_t  x 
)

◆ atomic_add_and_fetch_uint64()

ATOMIC_INLINE uint64_t atomic_add_and_fetch_uint64 ( uint64_t p,
uint64_t  x 
)

◆ atomic_cas_int32()

ATOMIC_INLINE int32_t atomic_cas_int32 ( int32_t v,
int32_t  old,
int32_t  _new 
)

Definition at line 145 of file atomic_ops_msvc.h.

References v.

Referenced by TEST().

◆ atomic_cas_int64()

ATOMIC_INLINE int64_t atomic_cas_int64 ( int64_t v,
int64_t  old,
int64_t  _new 
)

Definition at line 86 of file atomic_ops_msvc.h.

References v.

Referenced by TEST().

◆ atomic_cas_uint32()

ATOMIC_INLINE uint32_t atomic_cas_uint32 ( uint32_t v,
uint32_t  old,
uint32_t  _new 
)

◆ atomic_cas_uint64()

ATOMIC_INLINE uint64_t atomic_cas_uint64 ( uint64_t v,
uint64_t  old,
uint64_t  _new 
)

Definition at line 60 of file atomic_ops_msvc.h.

References v.

Referenced by atomic_cas_ptr(), atomic_cas_u(), atomic_cas_z(), and TEST().

◆ atomic_fetch_and_add_int32()

ATOMIC_INLINE int32_t atomic_fetch_and_add_int32 ( int32_t p,
int32_t  x 
)

◆ atomic_fetch_and_add_int64()

ATOMIC_INLINE int64_t atomic_fetch_and_add_int64 ( int64_t p,
int64_t  x 
)

Definition at line 91 of file atomic_ops_msvc.h.

References x.

Referenced by TEST().

◆ atomic_fetch_and_add_uint32()

ATOMIC_INLINE uint32_t atomic_fetch_and_add_uint32 ( uint32_t p,
uint32_t  x 
)

◆ atomic_fetch_and_add_uint64()

ATOMIC_INLINE uint64_t atomic_fetch_and_add_uint64 ( uint64_t p,
uint64_t  x 
)

◆ atomic_fetch_and_and_int16()

ATOMIC_INLINE int16_t atomic_fetch_and_and_int16 ( int16_t p,
int16_t  x 
)

Definition at line 174 of file atomic_ops_msvc.h.

References x.

Referenced by BKE_previewimg_finish(), and TEST().

◆ atomic_fetch_and_and_int32()

ATOMIC_INLINE int32_t atomic_fetch_and_and_int32 ( int32_t p,
int32_t  x 
)

Definition at line 160 of file atomic_ops_msvc.h.

References x.

Referenced by BKE_id_tag_clear_atomic(), and TEST().

◆ atomic_fetch_and_and_int8()

ATOMIC_INLINE int8_t atomic_fetch_and_and_int8 ( int8_t p,
int8_t  b 
)

Definition at line 205 of file atomic_ops_msvc.h.

Referenced by TEST().

◆ atomic_fetch_and_and_uint32()

ATOMIC_INLINE uint32_t atomic_fetch_and_and_uint32 ( uint32_t p,
uint32_t  x 
)

Definition at line 129 of file atomic_ops_msvc.h.

References x.

Referenced by TEST().

◆ atomic_fetch_and_and_uint8()

ATOMIC_INLINE uint8_t atomic_fetch_and_and_uint8 ( uint8_t p,
uint8_t  b 
)

◆ atomic_fetch_and_or_int16()

ATOMIC_INLINE int16_t atomic_fetch_and_or_int16 ( int16_t p,
int16_t  x 
)

Definition at line 169 of file atomic_ops_msvc.h.

References x.

Referenced by TEST().

◆ atomic_fetch_and_or_int32()

ATOMIC_INLINE int32_t atomic_fetch_and_or_int32 ( int32_t p,
int32_t  x 
)

Definition at line 155 of file atomic_ops_msvc.h.

References x.

Referenced by BKE_id_tag_set_atomic(), and TEST().

◆ atomic_fetch_and_or_int8()

ATOMIC_INLINE int8_t atomic_fetch_and_or_int8 ( int8_t p,
int8_t  b 
)

Definition at line 215 of file atomic_ops_msvc.h.

Referenced by TEST().

◆ atomic_fetch_and_or_uint32()

ATOMIC_INLINE uint32_t atomic_fetch_and_or_uint32 ( uint32_t p,
uint32_t  x 
)

Definition at line 124 of file atomic_ops_msvc.h.

References x.

Referenced by kernel_write_result(), mesh_batch_cache_add_request(), mesh_cd_layers_type_merge(), and TEST().

◆ atomic_fetch_and_or_uint8()

ATOMIC_INLINE uint8_t atomic_fetch_and_or_uint8 ( uint8_t p,
uint8_t  b 
)

◆ atomic_fetch_and_sub_int64()

ATOMIC_INLINE int64_t atomic_fetch_and_sub_int64 ( int64_t p,
int64_t  x 
)

Definition at line 96 of file atomic_ops_msvc.h.

References x.

Referenced by TEST().

◆ atomic_fetch_and_sub_uint64()

ATOMIC_INLINE uint64_t atomic_fetch_and_sub_uint64 ( uint64_t p,
uint64_t  x 
)

Definition at line 70 of file atomic_ops_msvc.h.

References x.

Referenced by TEST().

◆ atomic_sub_and_fetch_int32()

ATOMIC_INLINE int32_t atomic_sub_and_fetch_int32 ( int32_t p,
int32_t  x 
)

Definition at line 140 of file atomic_ops_msvc.h.

References x.

Referenced by extract_run(), and TEST().

◆ atomic_sub_and_fetch_int64()

ATOMIC_INLINE int64_t atomic_sub_and_fetch_int64 ( int64_t p,
int64_t  x 
)

Definition at line 81 of file atomic_ops_msvc.h.

References x.

Referenced by TEST().

◆ atomic_sub_and_fetch_uint32()

ATOMIC_INLINE uint32_t atomic_sub_and_fetch_uint32 ( uint32_t p,
uint32_t  x 
)

◆ atomic_sub_and_fetch_uint64()

ATOMIC_INLINE uint64_t atomic_sub_and_fetch_uint64 ( uint64_t p,
uint64_t  x 
)

Definition at line 55 of file atomic_ops_msvc.h.

References x.

Referenced by TEST().