Commit 1300ba18 by Alexis Hetu Committed by Alexis Hétu

Extension check in vkCreateDescriptorSetLayout

dEQP random tests sometimes add a struct of type: VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT This cl handles this case gracefully. Bug b/123244275 b/132185385 Change-Id: I2e0d1af058c33e4014e3ee0e544a95ebf42c9db5 Tests: dEQP-VK.binding_model.descriptorset_random.* Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30789 Presubmit-Ready: Alexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com> Reviewed-by: 's avatarChris Forbes <chrisforbes@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by: 's avatarAlexis Hétu <sugoi@google.com>
parent f18f0c1a
......@@ -1155,9 +1155,22 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(VkDevice device, cons
TRACE("(VkDevice device = %p, const VkDescriptorSetLayoutCreateInfo* pCreateInfo = %p, const VkAllocationCallbacks* pAllocator = %p, VkDescriptorSetLayout* pSetLayout = %p)",
device, pCreateInfo, pAllocator, pSetLayout);
if(pCreateInfo->pNext)
const VkBaseInStructure* extensionCreateInfo = reinterpret_cast<const VkBaseInStructure*>(pCreateInfo->pNext);
while(extensionCreateInfo)
{
UNIMPLEMENTED("pCreateInfo->pNext");
switch(extensionCreateInfo->sType)
{
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT:
ASSERT(!HasExtensionProperty(VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, deviceExtensionProperties,
sizeof(deviceExtensionProperties) / sizeof(deviceExtensionProperties[0])));
break;
default:
UNIMPLEMENTED("extensionCreateInfo->sType");
break;
}
extensionCreateInfo = extensionCreateInfo->pNext;
}
return vk::DescriptorSetLayout::Create(pAllocator, pCreateInfo, pSetLayout);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment