lavapipe: fix variable descriptor count support handling
if no variable counts are present this must be zero, otherwise yolo fixes: dEQP-VK.api.maintenance3_check.support_count_combined_image_sampler_extra_bindings_no_variable_size dEQP-VK.api.maintenance3_check.support_count_combined_image_sampler_no_variable_size dEQP-VK.api.maintenance3_check.support_count_inline_uniform_block_extra_bindings_no_variable_size dEQP-VK.api.maintenance3_check.support_count_inline_uniform_block_no_variable_size dEQP-VK.api.maintenance3_check.support_count_input_attachment_extra_bindings_no_variable_size dEQP-VK.api.maintenance3_check.support_count_input_attachment_no_variable_size dEQP-VK.api.maintenance3_check.support_count_sampled_image_extra_bindings_no_variable_size dEQP-VK.api.maintenance3_check.support_count_sampled_image_no_variable_size dEQP-VK.api.maintenance3_check.support_count_sampler_extra_bindings_no_variable_size dEQP-VK.api.maintenance3_check.support_count_sampler_no_variable_size dEQP-VK.api.maintenance3_check.support_count_storage_buffer_dynamic_extra_bindings_no_variable_size dEQP-VK.api.maintenance3_check.support_count_storage_buffer_dynamic_no_variable_size dEQP-VK.api.maintenance3_check.support_count_storage_buffer_extra_bindings_no_variable_size dEQP-VK.api.maintenance3_check.support_count_storage_buffer_no_variable_size dEQP-VK.api.maintenance3_check.support_count_storage_image_extra_bindings_no_variable_size dEQP-VK.api.maintenance3_check.support_count_storage_image_no_variable_size dEQP-VK.api.maintenance3_check.support_count_storage_texel_buffer_extra_bindings_no_variable_size dEQP-VK.api.maintenance3_check.support_count_storage_texel_buffer_no_variable_size dEQP-VK.api.maintenance3_check.support_count_uniform_buffer_dynamic_extra_bindings_no_variable_size dEQP-VK.api.maintenance3_check.support_count_uniform_buffer_dynamic_no_variable_size dEQP-VK.api.maintenance3_check.support_count_uniform_buffer_extra_bindings_no_variable_size dEQP-VK.api.maintenance3_check.support_count_uniform_buffer_no_variable_size dEQP-VK.api.maintenance3_check.support_count_uniform_texel_buffer_extra_bindings_no_variable_size dEQP-VK.api.maintenance3_check.support_count_uniform_texel_buffer_no_variable_size Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25354>
This commit is contained in:
committed by
Marge Bot
parent
207b37bfd9
commit
74ac66c275
@@ -681,6 +681,19 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetDescriptorSetLayoutSupport(VkDevice device,
|
||||
const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
|
||||
VkDescriptorSetLayoutSupport* pSupport)
|
||||
{
|
||||
const VkDescriptorSetLayoutBindingFlagsCreateInfo *variable_flags =
|
||||
vk_find_struct_const(pCreateInfo->pNext, DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO);
|
||||
VkDescriptorSetVariableDescriptorCountLayoutSupport *variable_count =
|
||||
vk_find_struct(pSupport->pNext, DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT);
|
||||
if (variable_count) {
|
||||
variable_count->maxVariableDescriptorCount = 0;
|
||||
if (variable_flags) {
|
||||
for (unsigned i = 0; i < variable_flags->bindingCount; i++) {
|
||||
if (variable_flags->pBindingFlags[i] & VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT)
|
||||
variable_count->maxVariableDescriptorCount = MAX_DESCRIPTORS;
|
||||
}
|
||||
}
|
||||
}
|
||||
pSupport->supported = true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user