From 68c5ffe5ee46304e316b548ca7d6b2e268b3db2e Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 20 Dec 2018 12:13:13 +0000 Subject: [PATCH] Don't apply quick check-and-skip for array descriptor slots * Just because the first element in the array isn't valid doesn't mean there aren't elements later that are valid which we should update. --- renderdoc/driver/vulkan/vk_initstate.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/vulkan/vk_initstate.cpp b/renderdoc/driver/vulkan/vk_initstate.cpp index 5157ed896..083393d89 100644 --- a/renderdoc/driver/vulkan/vk_initstate.cpp +++ b/renderdoc/driver/vulkan/vk_initstate.cpp @@ -830,8 +830,9 @@ bool WrappedVulkan::Serialise_InitialState(SerialiserType &ser, ResourceId id, W // skipping any invalid descriptors. // quick check for slots that were completely uninitialised and so don't have valid data - if(src->texelBufferView == VK_NULL_HANDLE && src->imageInfo.sampler == VK_NULL_HANDLE && - src->imageInfo.imageView == VK_NULL_HANDLE && src->bufferInfo.buffer == VK_NULL_HANDLE) + if(descriptorCount == 1 && src->texelBufferView == VK_NULL_HANDLE && + src->imageInfo.sampler == VK_NULL_HANDLE && src->imageInfo.imageView == VK_NULL_HANDLE && + src->bufferInfo.buffer == VK_NULL_HANDLE) { // do nothing - don't increment bind so that the same write descriptor is used next time. continue;