From c05f821235b6d2220926f1fe73a5284bfede0923 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 5 Sep 2018 16:41:08 +0100 Subject: [PATCH] Only copy previous push descriptor bindings that were valid --- renderdoc/driver/vulkan/vk_info.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/renderdoc/driver/vulkan/vk_info.cpp b/renderdoc/driver/vulkan/vk_info.cpp index 71be261f0..d236e68fd 100644 --- a/renderdoc/driver/vulkan/vk_info.cpp +++ b/renderdoc/driver/vulkan/vk_info.cpp @@ -92,9 +92,10 @@ void DescSetLayout::UpdateBindingsArray(const DescSetLayout &prevLayout, DescriptorSetSlot *newSlots = new DescriptorSetSlot[bindings[i].descriptorCount]; // copy over any previous bindings that overlapped - memcpy(newSlots, descBindings[i], - sizeof(DescriptorSetSlot) * - RDCMIN(prevLayout.bindings[i].descriptorCount, bindings[i].descriptorCount)); + if(i < prevLayout.bindings.size()) + memcpy(newSlots, descBindings[i], + sizeof(DescriptorSetSlot) * + RDCMIN(prevLayout.bindings[i].descriptorCount, bindings[i].descriptorCount)); // delete old array, and assign the new one SAFE_DELETE_ARRAY(descBindings[i]);