mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d: Fix leaks if d3d12_device_init_pipeline_cache() fails.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
abd775fb83
commit
0e8fc6e957
@ -1280,6 +1280,14 @@ static HRESULT d3d12_device_init_pipeline_cache(struct d3d12_device *device)
|
|||||||
VkResult vr;
|
VkResult vr;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
|
if ((rc = pthread_mutex_init(&device->pipeline_cache_mutex, NULL)))
|
||||||
|
{
|
||||||
|
ERR("Failed to initialize mutex, error %d.\n", rc);
|
||||||
|
return E_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
rb_init(&device->pipeline_cache, compare_pipeline_cache_entry);
|
||||||
|
|
||||||
cache_info.sType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO;
|
cache_info.sType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO;
|
||||||
cache_info.pNext = NULL;
|
cache_info.pNext = NULL;
|
||||||
cache_info.flags = 0;
|
cache_info.flags = 0;
|
||||||
@ -1292,14 +1300,6 @@ static HRESULT d3d12_device_init_pipeline_cache(struct d3d12_device *device)
|
|||||||
device->vk_pipeline_cache = VK_NULL_HANDLE;
|
device->vk_pipeline_cache = VK_NULL_HANDLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
rb_init(&device->pipeline_cache, compare_pipeline_cache_entry);
|
|
||||||
|
|
||||||
if ((rc = pthread_mutex_init(&device->pipeline_cache_mutex, NULL)))
|
|
||||||
{
|
|
||||||
ERR("Failed to initialize mutex, error %d.\n", rc);
|
|
||||||
return E_FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user