mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
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:
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
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user