mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_fence_decref().
This commit is contained in:
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
@ -953,24 +953,24 @@ static ULONG STDMETHODCALLTYPE d3d12_fence_Release(ID3D12Fence1 *iface)
|
|||||||
|
|
||||||
static void d3d12_fence_decref(struct d3d12_fence *fence)
|
static void d3d12_fence_decref(struct d3d12_fence *fence)
|
||||||
{
|
{
|
||||||
ULONG internal_refcount = InterlockedDecrement((LONG *)&fence->internal_refcount);
|
struct d3d12_device *device;
|
||||||
|
|
||||||
if (!internal_refcount)
|
if (vkd3d_atomic_decrement_u32(&fence->internal_refcount))
|
||||||
{
|
return;
|
||||||
struct d3d12_device *device = fence->device;
|
|
||||||
|
|
||||||
vkd3d_private_store_destroy(&fence->private_store);
|
device = fence->device;
|
||||||
|
|
||||||
d3d12_fence_destroy_vk_objects(fence);
|
vkd3d_private_store_destroy(&fence->private_store);
|
||||||
|
|
||||||
vkd3d_free(fence->events);
|
d3d12_fence_destroy_vk_objects(fence);
|
||||||
vkd3d_free(fence->semaphores);
|
|
||||||
vkd3d_mutex_destroy(&fence->mutex);
|
|
||||||
vkd3d_cond_destroy(&fence->null_event_cond);
|
|
||||||
vkd3d_free(fence);
|
|
||||||
|
|
||||||
d3d12_device_release(device);
|
vkd3d_free(fence->events);
|
||||||
}
|
vkd3d_free(fence->semaphores);
|
||||||
|
vkd3d_mutex_destroy(&fence->mutex);
|
||||||
|
vkd3d_cond_destroy(&fence->null_event_cond);
|
||||||
|
vkd3d_free(fence);
|
||||||
|
|
||||||
|
d3d12_device_release(device);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT STDMETHODCALLTYPE d3d12_fence_GetPrivateData(ID3D12Fence1 *iface,
|
static HRESULT STDMETHODCALLTYPE d3d12_fence_GetPrivateData(ID3D12Fence1 *iface,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user