vkd3d: Rename the struct vkd3d_device_descriptor_limits fields.

They do not represent the raw Vulkan resource limits, but the
emulated d3d12 limits depending on the Vulkan limits. Therefore
name them according to d3d12.
This commit is contained in:
Giovanni Mascellani
2025-06-16 20:44:38 +02:00
committed by Henri Verbeet
parent 443f4bc056
commit be31451ae9
Notes: Henri Verbeet 2025-12-03 15:30:19 +01:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1576
3 changed files with 34 additions and 33 deletions

View File

@@ -938,19 +938,19 @@ static unsigned int vk_binding_count_from_descriptor_range(const struct d3d12_ro
switch (range->type)
{
case VKD3D_SHADER_DESCRIPTOR_TYPE_CBV:
limit = limits->uniform_buffer_max_descriptors;
limit = limits->max_cbv_descriptor_count;
count = (limit - min(info->cbv_count, limit)) / info->cbv_unbounded_range_count;
break;
case VKD3D_SHADER_DESCRIPTOR_TYPE_SRV:
limit = limits->sampled_image_max_descriptors;
limit = limits->max_srv_descriptor_count;
count = (limit - min(info->srv_count, limit)) / info->srv_unbounded_range_count;
break;
case VKD3D_SHADER_DESCRIPTOR_TYPE_UAV:
limit = limits->storage_image_max_descriptors;
limit = limits->max_uav_descriptor_count;
count = (limit - min(info->uav_count, limit)) / info->uav_unbounded_range_count;
break;
case VKD3D_SHADER_DESCRIPTOR_TYPE_SAMPLER:
limit = limits->sampler_max_descriptors;
limit = limits->max_sampler_descriptor_count;
count = (limit - min(info->sampler_count, limit)) / info->sampler_unbounded_range_count;
break;
default:
@@ -1084,36 +1084,36 @@ static void vkd3d_descriptor_heap_binding_from_descriptor_range(const struct d3d
if (range->type == VKD3D_SHADER_DESCRIPTOR_TYPE_SAMPLER)
{
binding->set = VKD3D_SET_INDEX_SAMPLER;
descriptor_set_size = descriptor_limits->sampler_max_descriptors;
descriptor_set_size = descriptor_limits->max_sampler_descriptor_count;
}
else
{
binding->set = VKD3D_SET_INDEX_MUTABLE;
descriptor_set_size = descriptor_limits->sampled_image_max_descriptors;
descriptor_set_size = descriptor_limits->max_srv_descriptor_count;
}
}
else switch (range->type)
{
case VKD3D_SHADER_DESCRIPTOR_TYPE_SRV:
binding->set = is_buffer ? VKD3D_SET_INDEX_UNIFORM_TEXEL_BUFFER : VKD3D_SET_INDEX_SAMPLED_IMAGE;
descriptor_set_size = descriptor_limits->sampled_image_max_descriptors;
descriptor_set_size = descriptor_limits->max_srv_descriptor_count;
break;
case VKD3D_SHADER_DESCRIPTOR_TYPE_UAV:
binding->set = is_buffer ? VKD3D_SET_INDEX_STORAGE_TEXEL_BUFFER : VKD3D_SET_INDEX_STORAGE_IMAGE;
descriptor_set_size = descriptor_limits->storage_image_max_descriptors;
descriptor_set_size = descriptor_limits->max_uav_descriptor_count;
break;
case VKD3D_SHADER_DESCRIPTOR_TYPE_CBV:
binding->set = VKD3D_SET_INDEX_UNIFORM_BUFFER;
descriptor_set_size = descriptor_limits->uniform_buffer_max_descriptors;
descriptor_set_size = descriptor_limits->max_cbv_descriptor_count;
break;
case VKD3D_SHADER_DESCRIPTOR_TYPE_SAMPLER:
binding->set = VKD3D_SET_INDEX_SAMPLER;
descriptor_set_size = descriptor_limits->sampler_max_descriptors;
descriptor_set_size = descriptor_limits->max_sampler_descriptor_count;
break;
default:
FIXME("Unhandled descriptor range type type %#x.\n", range->type);
binding->set = VKD3D_SET_INDEX_SAMPLED_IMAGE;
descriptor_set_size = descriptor_limits->sampled_image_max_descriptors;
descriptor_set_size = descriptor_limits->max_srv_descriptor_count;
break;
}
binding->set += root_signature->vk_set_count;
@@ -1151,7 +1151,7 @@ static void d3d12_root_signature_map_vk_heap_uav_counter(struct d3d12_root_signa
mapping->binding.set = root_signature->vk_set_count + VKD3D_SET_INDEX_UAV_COUNTER;
mapping->binding.binding = 0;
mapping->binding.count = vk_heap_binding_count_from_descriptor_range(range,
root_signature->device->vk_info.descriptor_limits.storage_image_max_descriptors);
root_signature->device->vk_info.descriptor_limits.max_uav_descriptor_count);
offset->static_offset = range->offset;
offset->dynamic_offset_index = context->push_constant_index;
}