From 6e3eef5fca8a6f55186f60e5344d8d83b3d130fa Mon Sep 17 00:00:00 2001 From: Nicholas Miell Date: Fri, 2 Nov 2018 09:17:17 -0700 Subject: [PATCH] Fix some std::vector assertion failures gcc's debug std::vector will assert if you use vector[0] when vector.size() == 0. --- renderdoc/driver/vulkan/vk_shader_cache.cpp | 2 +- renderdoccmd/3rdparty/cmdline/cmdline.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/vulkan/vk_shader_cache.cpp b/renderdoc/driver/vulkan/vk_shader_cache.cpp index 3735f8228..2f20058d1 100644 --- a/renderdoc/driver/vulkan/vk_shader_cache.cpp +++ b/renderdoc/driver/vulkan/vk_shader_cache.cpp @@ -294,7 +294,7 @@ void VulkanShaderCache::MakeGraphicsPipelineInfo(VkGraphicsPipelineCreateInfo &p specMapEntries.resize(specEntries); specdata.resize(specSize); - VkSpecializationMapEntry *entry = &specMapEntries[0]; + VkSpecializationMapEntry *entry = specMapEntries.data(); uint32_t stageCount = 0; specSize = 0; diff --git a/renderdoccmd/3rdparty/cmdline/cmdline.h b/renderdoccmd/3rdparty/cmdline/cmdline.h index a555f5c35..847a82ed2 100644 --- a/renderdoccmd/3rdparty/cmdline/cmdline.h +++ b/renderdoccmd/3rdparty/cmdline/cmdline.h @@ -398,6 +398,8 @@ public: int argc=static_cast(args.size()); std::vector argv(argc); + if (argc<1) return false; + for (int i=0; i