diff --git a/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp index cc632345b..b6cba1f42 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp @@ -1243,6 +1243,13 @@ void WrappedVulkan::vkUpdateDescriptorSets(VkDevice device, uint32_t writeCount, binding++; curIdx = 0; + // skip past invalid padding descriptors to get to the next real one + while(layoutBinding->descriptorType == VK_DESCRIPTOR_TYPE_MAX_ENUM) + { + layoutBinding++; + binding++; + } + ref = GetRefType(layoutBinding->descriptorType); } @@ -1649,6 +1656,13 @@ void WrappedVulkan::vkUpdateDescriptorSetWithTemplate( binding++; curIdx = 0; + // skip past invalid padding descriptors to get to the next real one + while(layoutBinding->descriptorType == VK_DESCRIPTOR_TYPE_MAX_ENUM) + { + layoutBinding++; + binding++; + } + ref = GetRefType(layoutBinding->descriptorType); }