vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_fence_decref().

This commit is contained in:
Henri Verbeet 2024-01-11 20:30:55 +01:00 committed by Alexandre Julliard
parent c8122ff47e
commit 78bb7b6760
Notes: Alexandre Julliard 2024-01-25 23:12:08 +01:00
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/605

View File

@ -953,11 +953,12 @@ static ULONG STDMETHODCALLTYPE d3d12_fence_Release(ID3D12Fence1 *iface)
static void d3d12_fence_decref(struct d3d12_fence *fence)
{
ULONG internal_refcount = InterlockedDecrement((LONG *)&fence->internal_refcount);
struct d3d12_device *device;
if (!internal_refcount)
{
struct d3d12_device *device = fence->device;
if (vkd3d_atomic_decrement_u32(&fence->internal_refcount))
return;
device = fence->device;
vkd3d_private_store_destroy(&fence->private_store);
@ -970,7 +971,6 @@ static void d3d12_fence_decref(struct d3d12_fence *fence)
vkd3d_free(fence);
d3d12_device_release(device);
}
}
static HRESULT STDMETHODCALLTYPE d3d12_fence_GetPrivateData(ID3D12Fence1 *iface,