vkd3d: Rename vkd3d_uint32_atomic to vkd3d_atomic_uint32

Signed-off-by: Joshua Ashton <joshua@froggi.es>
This commit is contained in:
Joshua Ashton 2020-06-24 10:52:30 +01:00
parent d238653aae
commit 102c2df4a4
3 changed files with 13 additions and 14 deletions

View File

@ -67,14 +67,14 @@ FORCEINLINE void vkd3d_atomic_load_barrier(vkd3d_memory_order order)
case vkd3d_memory_order_seq_cst: result = intrinsic (__VA_ARGS__); break; \
}
FORCEINLINE uint32_t vkd3d_uint32_atomic_load_explicit(uint32_t *target, vkd3d_memory_order order)
FORCEINLINE uint32_t vkd3d_atomic_uint32_load_explicit(uint32_t *target, vkd3d_memory_order order)
{
uint32_t value = *((volatile uint32_t*)target);
vkd3d_atomic_load_barrier(order);
return value;
}
FORCEINLINE void vkd3d_uint32_atomic_store_explicit(uint32_t *target, uint32_t value, vkd3d_memory_order order)
FORCEINLINE void vkd3d_atomic_uint32_store_explicit(uint32_t *target, uint32_t value, vkd3d_memory_order order)
{
switch (order)
{
@ -84,10 +84,9 @@ FORCEINLINE void vkd3d_uint32_atomic_store_explicit(uint32_t *target, uint32_t v
case vkd3d_memory_order_seq_cst:
(void) InterlockedExchange((LONG*) target, value);
}
}
FORCEINLINE uint32_t vkd3d_uint32_atomic_exchange_explicit(uint32_t *target, uint32_t value, vkd3d_memory_order order)
FORCEINLINE uint32_t vkd3d_atomic_uint32_exchange_explicit(uint32_t *target, uint32_t value, vkd3d_memory_order order)
{
uint32_t result;
vkd3d_atomic_choose_intrinsic(order, result, InterlockedExchange, (LONG*)target, value);
@ -103,9 +102,9 @@ FORCEINLINE uint32_t vkd3d_uint32_atomic_exchange_explicit(uint32_t *target, uin
#define vkd3d_memory_order_acq_rel __ATOMIC_ACQ_REL
#define vkd3d_memory_order_seq_cst __ATOMIC_SEQ_CST
# define vkd3d_uint32_atomic_load_explicit(target, order) __atomic_load_n(target, order)
# define vkd3d_uint32_atomic_store_explicit(target, value, order) __atomic_store_n(target, value, order)
# define vkd3d_uint32_atomic_exchange_explicit(target, value, order) __atomic_exchange_n(target, value, order)
# define vkd3d_atomic_uint32_load_explicit(target, order) __atomic_load_n(target, order)
# define vkd3d_atomic_uint32_store_explicit(target, value, order) __atomic_store_n(target, value, order)
# define vkd3d_atomic_uint32_exchange_explicit(target, value, order) __atomic_exchange_n(target, value, order)
# ifndef __MINGW32__
/* Unfortunately only fetch_add is in stdatomic

View File

@ -29,10 +29,10 @@
#endif
#define vkd3d_spinlock_try_lock(lock) \
(!vkd3d_uint32_atomic_load_explicit(lock, vkd3d_memory_order_relaxed) && \
!vkd3d_uint32_atomic_exchange_explicit(lock, 1u, vkd3d_memory_order_acquire))
(!vkd3d_atomic_uint32_load_explicit(lock, vkd3d_memory_order_relaxed) && \
!vkd3d_atomic_uint32_exchange_explicit(lock, 1u, vkd3d_memory_order_acquire))
#define vkd3d_spinlock_unlock(lock) vkd3d_uint32_atomic_store_explicit(lock, 0u, vkd3d_memory_order_release)
#define vkd3d_spinlock_unlock(lock) vkd3d_atomic_uint32_store_explicit(lock, 0u, vkd3d_memory_order_release)
typedef uint32_t spinlock_t;

View File

@ -177,7 +177,7 @@ static void vkd3d_fence_worker_remove_fence(struct vkd3d_fence_worker *worker, s
LONG count;
int rc;
if (!(count = vkd3d_uint32_atomic_load_explicit(&fence->pending_worker_operation_count, vkd3d_memory_order_acquire)))
if (!(count = vkd3d_atomic_uint32_load_explicit(&fence->pending_worker_operation_count, vkd3d_memory_order_acquire)))
return;
WARN("Waiting for %u pending fence operations (fence %p).\n", count, fence);
@ -188,7 +188,7 @@ static void vkd3d_fence_worker_remove_fence(struct vkd3d_fence_worker *worker, s
return;
}
while ((count = vkd3d_uint32_atomic_load_explicit(&fence->pending_worker_operation_count, vkd3d_memory_order_acquire)))
while ((count = vkd3d_atomic_uint32_load_explicit(&fence->pending_worker_operation_count, vkd3d_memory_order_acquire)))
{
TRACE("Still waiting for %u pending fence operations (fence %p).\n", count, fence);
@ -313,7 +313,7 @@ static void *vkd3d_fence_worker_main(void *arg)
{
vkd3d_wait_for_gpu_timeline_semaphores(worker);
if (!worker->fence_count || vkd3d_uint32_atomic_load_explicit(&worker->enqueued_fence_count, vkd3d_memory_order_acquire))
if (!worker->fence_count || vkd3d_atomic_uint32_load_explicit(&worker->enqueued_fence_count, vkd3d_memory_order_acquire))
{
if ((rc = pthread_mutex_lock(&worker->mutex)))
{
@ -1603,7 +1603,7 @@ static HRESULT STDMETHODCALLTYPE d3d12_command_allocator_Reset(ID3D12CommandAllo
TRACE("Resetting command list %p.\n", list);
}
if ((pending = vkd3d_uint32_atomic_load_explicit(&allocator->outstanding_submissions_count, vkd3d_memory_order_acquire)) != 0)
if ((pending = vkd3d_atomic_uint32_load_explicit(&allocator->outstanding_submissions_count, vkd3d_memory_order_acquire)) != 0)
{
/* HACK: There are currently command lists waiting to be submitted to the queue in the submission threads.
* Buggy application, but work around this by not resetting the command pool this time.