mirror of
https://github.com/mackron/miniaudio.git
synced 2026-04-23 08:44:04 +02:00
Update c89atomic in preparation for some changes to atomics.
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
v0.11.12 - TBD
|
||||||
|
=====================
|
||||||
|
|
||||||
|
|
||||||
v0.11.11 - 2022-11-04
|
v0.11.11 - 2022-11-04
|
||||||
=====================
|
=====================
|
||||||
* Silence an unused variable warning.
|
* Silence an unused variable warning.
|
||||||
|
|||||||
+120
-2
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Audio playback and capture library. Choice of public domain or MIT-0. See license statements at the end of this file.
|
Audio playback and capture library. Choice of public domain or MIT-0. See license statements at the end of this file.
|
||||||
miniaudio - v0.11.11 - 2022-11-04
|
miniaudio - v0.11.12 - TBD
|
||||||
|
|
||||||
David Reid - mackron@gmail.com
|
David Reid - mackron@gmail.com
|
||||||
|
|
||||||
@@ -3674,7 +3674,7 @@ extern "C" {
|
|||||||
|
|
||||||
#define MA_VERSION_MAJOR 0
|
#define MA_VERSION_MAJOR 0
|
||||||
#define MA_VERSION_MINOR 11
|
#define MA_VERSION_MINOR 11
|
||||||
#define MA_VERSION_REVISION 11
|
#define MA_VERSION_REVISION 12
|
||||||
#define MA_VERSION_STRING MA_XSTRINGIFY(MA_VERSION_MAJOR) "." MA_XSTRINGIFY(MA_VERSION_MINOR) "." MA_XSTRINGIFY(MA_VERSION_REVISION)
|
#define MA_VERSION_STRING MA_XSTRINGIFY(MA_VERSION_MAJOR) "." MA_XSTRINGIFY(MA_VERSION_MINOR) "." MA_XSTRINGIFY(MA_VERSION_REVISION)
|
||||||
|
|
||||||
#if defined(_MSC_VER) && !defined(__clang__)
|
#if defined(_MSC_VER) && !defined(__clang__)
|
||||||
@@ -15284,6 +15284,110 @@ static C89ATOMIC_INLINE double c89atomic_exchange_explicit_f64(volatile double*
|
|||||||
r.i = c89atomic_exchange_explicit_64((volatile c89atomic_uint64*)dst, x.i, order);
|
r.i = c89atomic_exchange_explicit_64((volatile c89atomic_uint64*)dst, x.i, order);
|
||||||
return r.f;
|
return r.f;
|
||||||
}
|
}
|
||||||
|
static C89ATOMIC_INLINE c89atomic_bool c89atomic_compare_exchange_strong_explicit_f32(volatile float* dst, float* expected, float desired, c89atomic_memory_order successOrder, c89atomic_memory_order failureOrder)
|
||||||
|
{
|
||||||
|
c89atomic_if32 d;
|
||||||
|
d.f = desired;
|
||||||
|
return c89atomic_compare_exchange_strong_explicit_32((volatile c89atomic_uint32*)dst, (c89atomic_uint32*)expected, d.i, successOrder, failureOrder);
|
||||||
|
}
|
||||||
|
static C89ATOMIC_INLINE c89atomic_bool c89atomic_compare_exchange_strong_explicit_f64(volatile double* dst, double* expected, double desired, c89atomic_memory_order successOrder, c89atomic_memory_order failureOrder)
|
||||||
|
{
|
||||||
|
c89atomic_if64 d;
|
||||||
|
d.f = desired;
|
||||||
|
return c89atomic_compare_exchange_strong_explicit_64((volatile c89atomic_uint64*)dst, (c89atomic_uint64*)expected, d.i, successOrder, failureOrder);
|
||||||
|
}
|
||||||
|
static C89ATOMIC_INLINE c89atomic_bool c89atomic_compare_exchange_weak_explicit_f32(volatile float* dst, float* expected, float desired, c89atomic_memory_order successOrder, c89atomic_memory_order failureOrder)
|
||||||
|
{
|
||||||
|
c89atomic_if32 d;
|
||||||
|
d.f = desired;
|
||||||
|
return c89atomic_compare_exchange_weak_explicit_32((volatile c89atomic_uint32*)dst, (c89atomic_uint32*)expected, d.i, successOrder, failureOrder);
|
||||||
|
}
|
||||||
|
static C89ATOMIC_INLINE c89atomic_bool c89atomic_compare_exchange_weak_explicit_f64(volatile double* dst, double* expected, double desired, c89atomic_memory_order successOrder, c89atomic_memory_order failureOrder)
|
||||||
|
{
|
||||||
|
c89atomic_if64 d;
|
||||||
|
d.f = desired;
|
||||||
|
return c89atomic_compare_exchange_weak_explicit_64((volatile c89atomic_uint64*)dst, (c89atomic_uint64*)expected, d.i, successOrder, failureOrder);
|
||||||
|
}
|
||||||
|
static C89ATOMIC_INLINE float c89atomic_fetch_add_explicit_f32(volatile float* dst, float src, c89atomic_memory_order order)
|
||||||
|
{
|
||||||
|
c89atomic_if32 r;
|
||||||
|
c89atomic_if32 x;
|
||||||
|
x.f = src;
|
||||||
|
r.i = c89atomic_fetch_add_explicit_32((volatile c89atomic_uint32*)dst, x.i, order);
|
||||||
|
return r.f;
|
||||||
|
}
|
||||||
|
static C89ATOMIC_INLINE double c89atomic_fetch_add_explicit_f64(volatile double* dst, double src, c89atomic_memory_order order)
|
||||||
|
{
|
||||||
|
c89atomic_if64 r;
|
||||||
|
c89atomic_if64 x;
|
||||||
|
x.f = src;
|
||||||
|
r.i = c89atomic_fetch_add_explicit_64((volatile c89atomic_uint64*)dst, x.i, order);
|
||||||
|
return r.f;
|
||||||
|
}
|
||||||
|
static C89ATOMIC_INLINE float c89atomic_fetch_sub_explicit_f32(volatile float* dst, float src, c89atomic_memory_order order)
|
||||||
|
{
|
||||||
|
c89atomic_if32 r;
|
||||||
|
c89atomic_if32 x;
|
||||||
|
x.f = src;
|
||||||
|
r.i = c89atomic_fetch_sub_explicit_32((volatile c89atomic_uint32*)dst, x.i, order);
|
||||||
|
return r.f;
|
||||||
|
}
|
||||||
|
static C89ATOMIC_INLINE double c89atomic_fetch_sub_explicit_f64(volatile double* dst, double src, c89atomic_memory_order order)
|
||||||
|
{
|
||||||
|
c89atomic_if64 r;
|
||||||
|
c89atomic_if64 x;
|
||||||
|
x.f = src;
|
||||||
|
r.i = c89atomic_fetch_sub_explicit_64((volatile c89atomic_uint64*)dst, x.i, order);
|
||||||
|
return r.f;
|
||||||
|
}
|
||||||
|
static C89ATOMIC_INLINE float c89atomic_fetch_or_explicit_f32(volatile float* dst, float src, c89atomic_memory_order order)
|
||||||
|
{
|
||||||
|
c89atomic_if32 r;
|
||||||
|
c89atomic_if32 x;
|
||||||
|
x.f = src;
|
||||||
|
r.i = c89atomic_fetch_or_explicit_32((volatile c89atomic_uint32*)dst, x.i, order);
|
||||||
|
return r.f;
|
||||||
|
}
|
||||||
|
static C89ATOMIC_INLINE double c89atomic_fetch_or_explicit_f64(volatile double* dst, double src, c89atomic_memory_order order)
|
||||||
|
{
|
||||||
|
c89atomic_if64 r;
|
||||||
|
c89atomic_if64 x;
|
||||||
|
x.f = src;
|
||||||
|
r.i = c89atomic_fetch_or_explicit_64((volatile c89atomic_uint64*)dst, x.i, order);
|
||||||
|
return r.f;
|
||||||
|
}
|
||||||
|
static C89ATOMIC_INLINE float c89atomic_fetch_xor_explicit_f32(volatile float* dst, float src, c89atomic_memory_order order)
|
||||||
|
{
|
||||||
|
c89atomic_if32 r;
|
||||||
|
c89atomic_if32 x;
|
||||||
|
x.f = src;
|
||||||
|
r.i = c89atomic_fetch_xor_explicit_32((volatile c89atomic_uint32*)dst, x.i, order);
|
||||||
|
return r.f;
|
||||||
|
}
|
||||||
|
static C89ATOMIC_INLINE double c89atomic_fetch_xor_explicit_f64(volatile double* dst, double src, c89atomic_memory_order order)
|
||||||
|
{
|
||||||
|
c89atomic_if64 r;
|
||||||
|
c89atomic_if64 x;
|
||||||
|
x.f = src;
|
||||||
|
r.i = c89atomic_fetch_xor_explicit_64((volatile c89atomic_uint64*)dst, x.i, order);
|
||||||
|
return r.f;
|
||||||
|
}
|
||||||
|
static C89ATOMIC_INLINE float c89atomic_fetch_and_explicit_f32(volatile float* dst, float src, c89atomic_memory_order order)
|
||||||
|
{
|
||||||
|
c89atomic_if32 r;
|
||||||
|
c89atomic_if32 x;
|
||||||
|
x.f = src;
|
||||||
|
r.i = c89atomic_fetch_and_explicit_32((volatile c89atomic_uint32*)dst, x.i, order);
|
||||||
|
return r.f;
|
||||||
|
}
|
||||||
|
static C89ATOMIC_INLINE double c89atomic_fetch_and_explicit_f64(volatile double* dst, double src, c89atomic_memory_order order)
|
||||||
|
{
|
||||||
|
c89atomic_if64 r;
|
||||||
|
c89atomic_if64 x;
|
||||||
|
x.f = src;
|
||||||
|
r.i = c89atomic_fetch_and_explicit_64((volatile c89atomic_uint64*)dst, x.i, order);
|
||||||
|
return r.f;
|
||||||
|
}
|
||||||
#define c89atomic_clear_f32(ptr) (float )c89atomic_clear_explicit_f32(ptr, c89atomic_memory_order_seq_cst)
|
#define c89atomic_clear_f32(ptr) (float )c89atomic_clear_explicit_f32(ptr, c89atomic_memory_order_seq_cst)
|
||||||
#define c89atomic_clear_f64(ptr) (double)c89atomic_clear_explicit_f64(ptr, c89atomic_memory_order_seq_cst)
|
#define c89atomic_clear_f64(ptr) (double)c89atomic_clear_explicit_f64(ptr, c89atomic_memory_order_seq_cst)
|
||||||
#define c89atomic_store_f32(dst, src) c89atomic_store_explicit_f32(dst, src, c89atomic_memory_order_seq_cst)
|
#define c89atomic_store_f32(dst, src) c89atomic_store_explicit_f32(dst, src, c89atomic_memory_order_seq_cst)
|
||||||
@@ -15292,6 +15396,20 @@ static C89ATOMIC_INLINE double c89atomic_exchange_explicit_f64(volatile double*
|
|||||||
#define c89atomic_load_f64(ptr) (double)c89atomic_load_explicit_f64(ptr, c89atomic_memory_order_seq_cst)
|
#define c89atomic_load_f64(ptr) (double)c89atomic_load_explicit_f64(ptr, c89atomic_memory_order_seq_cst)
|
||||||
#define c89atomic_exchange_f32(dst, src) (float )c89atomic_exchange_explicit_f32(dst, src, c89atomic_memory_order_seq_cst)
|
#define c89atomic_exchange_f32(dst, src) (float )c89atomic_exchange_explicit_f32(dst, src, c89atomic_memory_order_seq_cst)
|
||||||
#define c89atomic_exchange_f64(dst, src) (double)c89atomic_exchange_explicit_f64(dst, src, c89atomic_memory_order_seq_cst)
|
#define c89atomic_exchange_f64(dst, src) (double)c89atomic_exchange_explicit_f64(dst, src, c89atomic_memory_order_seq_cst)
|
||||||
|
#define c89atomic_compare_exchange_strong_f32(dst, expected, desired) c89atomic_compare_exchange_strong_explicit_f32(dst, expected, desired, c89atomic_memory_order_seq_cst, c89atomic_memory_order_seq_cst)
|
||||||
|
#define c89atomic_compare_exchange_strong_f64(dst, expected, desired) c89atomic_compare_exchange_strong_explicit_f64(dst, expected, desired, c89atomic_memory_order_seq_cst, c89atomic_memory_order_seq_cst)
|
||||||
|
#define c89atomic_compare_exchange_weak_f32(dst, expected, desired) c89atomic_compare_exchange_weak_explicit_f32(dst, expected, desired, c89atomic_memory_order_seq_cst, c89atomic_memory_order_seq_cst)
|
||||||
|
#define c89atomic_compare_exchange_weak_f64(dst, expected, desired) c89atomic_compare_exchange_weak_explicit_f64(dst, expected, desired, c89atomic_memory_order_seq_cst, c89atomic_memory_order_seq_cst)
|
||||||
|
#define c89atomic_fetch_add_f32(dst, src) c89atomic_fetch_add_explicit_f32(dst, src, c89atomic_memory_order_seq_cst)
|
||||||
|
#define c89atomic_fetch_add_f64(dst, src) c89atomic_fetch_add_explicit_f64(dst, src, c89atomic_memory_order_seq_cst)
|
||||||
|
#define c89atomic_fetch_sub_f32(dst, src) c89atomic_fetch_sub_explicit_f32(dst, src, c89atomic_memory_order_seq_cst)
|
||||||
|
#define c89atomic_fetch_sub_f64(dst, src) c89atomic_fetch_sub_explicit_f64(dst, src, c89atomic_memory_order_seq_cst)
|
||||||
|
#define c89atomic_fetch_or_f32(dst, src) c89atomic_fetch_or_explicit_f32(dst, src, c89atomic_memory_order_seq_cst)
|
||||||
|
#define c89atomic_fetch_or_f64(dst, src) c89atomic_fetch_or_explicit_f64(dst, src, c89atomic_memory_order_seq_cst)
|
||||||
|
#define c89atomic_fetch_xor_f32(dst, src) c89atomic_fetch_xor_explicit_f32(dst, src, c89atomic_memory_order_seq_cst)
|
||||||
|
#define c89atomic_fetch_xor_f64(dst, src) c89atomic_fetch_xor_explicit_f64(dst, src, c89atomic_memory_order_seq_cst)
|
||||||
|
#define c89atomic_fetch_and_f32(dst, src) c89atomic_fetch_and_explicit_f32(dst, src, c89atomic_memory_order_seq_cst)
|
||||||
|
#define c89atomic_fetch_and_f64(dst, src) c89atomic_fetch_and_explicit_f64(dst, src, c89atomic_memory_order_seq_cst)
|
||||||
typedef c89atomic_flag c89atomic_spinlock;
|
typedef c89atomic_flag c89atomic_spinlock;
|
||||||
static C89ATOMIC_INLINE void c89atomic_spinlock_lock(volatile c89atomic_spinlock* pSpinlock)
|
static C89ATOMIC_INLINE void c89atomic_spinlock_lock(volatile c89atomic_spinlock* pSpinlock)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user