From fb91bd7b8b38bc7af0947f2c5092da2bf99fc811 Mon Sep 17 00:00:00 2001 From: Giovanni Mascellani Date: Thu, 3 Jul 2025 15:45:41 +0200 Subject: [PATCH] vkd3d: Move vkd3d_vk_descriptor_set_index_from_vk_descriptor_type() to resource.c. It's only used there. --- libs/vkd3d/resource.c | 31 ++++++++++++++++++++----------- libs/vkd3d/vkd3d_private.h | 11 ----------- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/libs/vkd3d/resource.c b/libs/vkd3d/resource.c index 14382103a..0586423dc 100644 --- a/libs/vkd3d/resource.c +++ b/libs/vkd3d/resource.c @@ -2492,6 +2492,26 @@ static void descriptor_writes_free_object_refs(struct descriptor_writes *writes, writes->held_ref_count = 0; } +static enum vkd3d_vk_descriptor_set_index vkd3d_vk_descriptor_set_index_from_vk_descriptor_type( + VkDescriptorType type) +{ + static const enum vkd3d_vk_descriptor_set_index table[] = + { + [VK_DESCRIPTOR_TYPE_SAMPLER] = VKD3D_SET_INDEX_SAMPLER, + [VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER] = VKD3D_SET_INDEX_COUNT, + [VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE] = VKD3D_SET_INDEX_SAMPLED_IMAGE, + [VK_DESCRIPTOR_TYPE_STORAGE_IMAGE] = VKD3D_SET_INDEX_STORAGE_IMAGE, + [VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER] = VKD3D_SET_INDEX_UNIFORM_TEXEL_BUFFER, + [VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER] = VKD3D_SET_INDEX_STORAGE_TEXEL_BUFFER, + [VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER] = VKD3D_SET_INDEX_UNIFORM_BUFFER, + }; + + VKD3D_ASSERT(type < ARRAY_SIZE(table)); + VKD3D_ASSERT(table[type] < VKD3D_SET_INDEX_COUNT); + + return table[type]; +} + static void d3d12_desc_write_vk_heap_null_descriptor(struct d3d12_descriptor_heap *descriptor_heap, uint32_t dst_array_element, struct descriptor_writes *writes, struct d3d12_device *device) { @@ -4224,17 +4244,6 @@ static const struct ID3D12DescriptorHeapVtbl d3d12_descriptor_heap_vtbl = d3d12_descriptor_heap_GetGPUDescriptorHandleForHeapStart, }; -const enum vkd3d_vk_descriptor_set_index vk_descriptor_set_index_table[] = -{ - VKD3D_SET_INDEX_SAMPLER, - VKD3D_SET_INDEX_COUNT, - VKD3D_SET_INDEX_SAMPLED_IMAGE, - VKD3D_SET_INDEX_STORAGE_IMAGE, - VKD3D_SET_INDEX_UNIFORM_TEXEL_BUFFER, - VKD3D_SET_INDEX_STORAGE_TEXEL_BUFFER, - VKD3D_SET_INDEX_UNIFORM_BUFFER, -}; - static HRESULT d3d12_descriptor_heap_create_descriptor_pool(struct d3d12_descriptor_heap *descriptor_heap, struct d3d12_device *device, const D3D12_DESCRIPTOR_HEAP_DESC *desc) { diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h index 1aa347fe6..bc5406c45 100644 --- a/libs/vkd3d/vkd3d_private.h +++ b/libs/vkd3d/vkd3d_private.h @@ -827,17 +827,6 @@ enum vkd3d_vk_descriptor_set_index VKD3D_SET_INDEX_COUNT }; -extern const enum vkd3d_vk_descriptor_set_index vk_descriptor_set_index_table[]; - -static inline enum vkd3d_vk_descriptor_set_index vkd3d_vk_descriptor_set_index_from_vk_descriptor_type( - VkDescriptorType type) -{ - VKD3D_ASSERT(type <= VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER); - VKD3D_ASSERT(vk_descriptor_set_index_table[type] < VKD3D_SET_INDEX_COUNT); - - return vk_descriptor_set_index_table[type]; -} - struct vkd3d_vk_descriptor_heap_layout { VkDescriptorType type;