diff --git a/renderdoc/driver/vulkan/vk_info.cpp b/renderdoc/driver/vulkan/vk_info.cpp index 5946b1c69..1323209f9 100644 --- a/renderdoc/driver/vulkan/vk_info.cpp +++ b/renderdoc/driver/vulkan/vk_info.cpp @@ -376,11 +376,18 @@ void VulkanCreationInfo::Pipeline::Init(VulkanResourceManager *resourceMan, Vulk if(reflData.entryPoint.empty()) { reflData.entryPoint = shad.entryPoint; - info.m_ShaderModule[id].spirv.MakeReflection(ShaderStage::Compute, reflData.entryPoint, - reflData.refl, reflData.mapping, - reflData.patchData); + SPVModule &spv = info.m_ShaderModule[id].spirv; + spv.MakeReflection(ShaderStage::Compute, reflData.entryPoint, reflData.refl, reflData.mapping, + reflData.patchData); reflData.refl.ID = resourceMan->GetOriginalID(id); reflData.refl.EntryPoint = shad.entryPoint; + + if(!spv.spirv.empty()) + { + rdctype::array &bytes = reflData.refl.RawBytes; + const vector &spirv = spv.spirv; + create_array_init(bytes, spirv.size() * sizeof(uint32_t), (byte *)&spirv[0]); + } } if(pCreateInfo->stage.pSpecializationInfo)