mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d: Rename the device mutex to pipeline_cache_mutex.
It is used only for pipeline and render pass caching, and renaming it helps prevent inappropriate or erroneous use.
This commit is contained in:
committed by
Alexandre Julliard
parent
37e76618ca
commit
a2741babd9
Notes:
Alexandre Julliard
2023-12-14 23:31:17 +01:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/292
@@ -2056,7 +2056,7 @@ static HRESULT d3d12_device_init_pipeline_cache(struct d3d12_device *device)
|
|||||||
VkPipelineCacheCreateInfo cache_info;
|
VkPipelineCacheCreateInfo cache_info;
|
||||||
VkResult vr;
|
VkResult vr;
|
||||||
|
|
||||||
vkd3d_mutex_init(&device->mutex);
|
vkd3d_mutex_init(&device->pipeline_cache_mutex);
|
||||||
|
|
||||||
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;
|
||||||
@@ -2080,7 +2080,7 @@ static void d3d12_device_destroy_pipeline_cache(struct d3d12_device *device)
|
|||||||
if (device->vk_pipeline_cache)
|
if (device->vk_pipeline_cache)
|
||||||
VK_CALL(vkDestroyPipelineCache(device->vk_device, device->vk_pipeline_cache, NULL));
|
VK_CALL(vkDestroyPipelineCache(device->vk_device, device->vk_pipeline_cache, NULL));
|
||||||
|
|
||||||
vkd3d_mutex_destroy(&device->mutex);
|
vkd3d_mutex_destroy(&device->pipeline_cache_mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define VKD3D_VA_FALLBACK_BASE 0x8000000000000000ull
|
#define VKD3D_VA_FALLBACK_BASE 0x8000000000000000ull
|
||||||
|
|||||||
@@ -1691,7 +1691,7 @@ HRESULT vkd3d_render_pass_cache_find(struct vkd3d_render_pass_cache *cache,
|
|||||||
HRESULT hr = S_OK;
|
HRESULT hr = S_OK;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
vkd3d_mutex_lock(&device->mutex);
|
vkd3d_mutex_lock(&device->pipeline_cache_mutex);
|
||||||
|
|
||||||
for (i = 0; i < cache->render_pass_count; ++i)
|
for (i = 0; i < cache->render_pass_count; ++i)
|
||||||
{
|
{
|
||||||
@@ -1708,7 +1708,7 @@ HRESULT vkd3d_render_pass_cache_find(struct vkd3d_render_pass_cache *cache,
|
|||||||
if (!found)
|
if (!found)
|
||||||
hr = vkd3d_render_pass_cache_create_pass_locked(cache, device, key, vk_render_pass);
|
hr = vkd3d_render_pass_cache_create_pass_locked(cache, device, key, vk_render_pass);
|
||||||
|
|
||||||
vkd3d_mutex_unlock(&device->mutex);
|
vkd3d_mutex_unlock(&device->pipeline_cache_mutex);
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
@@ -3615,7 +3615,7 @@ static VkPipeline d3d12_pipeline_state_find_compiled_pipeline(const struct d3d12
|
|||||||
|
|
||||||
*vk_render_pass = VK_NULL_HANDLE;
|
*vk_render_pass = VK_NULL_HANDLE;
|
||||||
|
|
||||||
vkd3d_mutex_lock(&device->mutex);
|
vkd3d_mutex_lock(&device->pipeline_cache_mutex);
|
||||||
|
|
||||||
LIST_FOR_EACH_ENTRY(current, &graphics->compiled_pipelines, struct vkd3d_compiled_pipeline, entry)
|
LIST_FOR_EACH_ENTRY(current, &graphics->compiled_pipelines, struct vkd3d_compiled_pipeline, entry)
|
||||||
{
|
{
|
||||||
@@ -3627,7 +3627,7 @@ static VkPipeline d3d12_pipeline_state_find_compiled_pipeline(const struct d3d12
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vkd3d_mutex_unlock(&device->mutex);
|
vkd3d_mutex_unlock(&device->pipeline_cache_mutex);
|
||||||
|
|
||||||
return vk_pipeline;
|
return vk_pipeline;
|
||||||
}
|
}
|
||||||
@@ -3646,7 +3646,7 @@ static bool d3d12_pipeline_state_put_pipeline_to_cache(struct d3d12_pipeline_sta
|
|||||||
compiled_pipeline->vk_pipeline = vk_pipeline;
|
compiled_pipeline->vk_pipeline = vk_pipeline;
|
||||||
compiled_pipeline->vk_render_pass = vk_render_pass;
|
compiled_pipeline->vk_render_pass = vk_render_pass;
|
||||||
|
|
||||||
vkd3d_mutex_lock(&device->mutex);
|
vkd3d_mutex_lock(&device->pipeline_cache_mutex);
|
||||||
|
|
||||||
LIST_FOR_EACH_ENTRY(current, &graphics->compiled_pipelines, struct vkd3d_compiled_pipeline, entry)
|
LIST_FOR_EACH_ENTRY(current, &graphics->compiled_pipelines, struct vkd3d_compiled_pipeline, entry)
|
||||||
{
|
{
|
||||||
@@ -3661,7 +3661,7 @@ static bool d3d12_pipeline_state_put_pipeline_to_cache(struct d3d12_pipeline_sta
|
|||||||
if (compiled_pipeline)
|
if (compiled_pipeline)
|
||||||
list_add_tail(&graphics->compiled_pipelines, &compiled_pipeline->entry);
|
list_add_tail(&graphics->compiled_pipelines, &compiled_pipeline->entry);
|
||||||
|
|
||||||
vkd3d_mutex_unlock(&device->mutex);
|
vkd3d_mutex_unlock(&device->pipeline_cache_mutex);
|
||||||
return compiled_pipeline;
|
return compiled_pipeline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1757,9 +1757,10 @@ struct d3d12_device
|
|||||||
|
|
||||||
struct vkd3d_gpu_va_allocator gpu_va_allocator;
|
struct vkd3d_gpu_va_allocator gpu_va_allocator;
|
||||||
|
|
||||||
struct vkd3d_mutex mutex;
|
|
||||||
struct vkd3d_desc_object_cache view_desc_cache;
|
struct vkd3d_desc_object_cache view_desc_cache;
|
||||||
struct vkd3d_desc_object_cache cbuffer_desc_cache;
|
struct vkd3d_desc_object_cache cbuffer_desc_cache;
|
||||||
|
|
||||||
|
struct vkd3d_mutex pipeline_cache_mutex;
|
||||||
struct vkd3d_render_pass_cache render_pass_cache;
|
struct vkd3d_render_pass_cache render_pass_cache;
|
||||||
VkPipelineCache vk_pipeline_cache;
|
VkPipelineCache vk_pipeline_cache;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user