diff --git a/renderdoc/driver/vulkan/vk_initstate.cpp b/renderdoc/driver/vulkan/vk_initstate.cpp index e5f9a43cb..b25e3f257 100644 --- a/renderdoc/driver/vulkan/vk_initstate.cpp +++ b/renderdoc/driver/vulkan/vk_initstate.cpp @@ -284,13 +284,18 @@ bool WrappedVulkan::Serialise_InitialState(WrappedVkRes *res) } case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER: case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: + { + for(uint32_t d=0; d < writes[i].count; d++) + valid &= (writes[i].pDescriptors[d].bufferView != VK_NULL_HANDLE); + break; + } case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER: case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER: case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC: case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: { for(uint32_t d=0; d < writes[i].count; d++) - valid &= (writes[i].pDescriptors[d].bufferView != VK_NULL_HANDLE); + valid &= (writes[i].pDescriptors[d].bufferInfo.buffer != VK_NULL_HANDLE); break; } default: diff --git a/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp index 05770634d..564dfdca7 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp @@ -377,13 +377,18 @@ bool WrappedVulkan::Serialise_vkUpdateDescriptorSets( } case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER: case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: + { + for(uint32_t i=0; i < writeDesc.count; i++) + valid &= (writeDesc.pDescriptors[i].bufferView != VK_NULL_HANDLE); + break; + } case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER: case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER: case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC: case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: { for(uint32_t i=0; i < writeDesc.count; i++) - valid &= (writeDesc.pDescriptors[i].bufferView != VK_NULL_HANDLE); + valid &= (writeDesc.pDescriptors[i].bufferInfo.buffer != VK_NULL_HANDLE); break; } default: