From 5b4978b0bf969f815424acf0415ef378b7512ca9 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 25 Sep 2018 10:39:37 +0100 Subject: [PATCH] Copy over original specialization info when fetching mesh output --- renderdoc/driver/vulkan/vk_postvs.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/renderdoc/driver/vulkan/vk_postvs.cpp b/renderdoc/driver/vulkan/vk_postvs.cpp index 7822e4097..eaaaea2eb 100644 --- a/renderdoc/driver/vulkan/vk_postvs.cpp +++ b/renderdoc/driver/vulkan/vk_postvs.cpp @@ -1828,6 +1828,16 @@ void VulkanReplay::InitPostVSBuffers(uint32_t eventId) compPipeInfo.stage.pName = PatchedMeshOutputEntryPoint; compPipeInfo.stage.stage = VK_SHADER_STAGE_COMPUTE_BIT; + // copy over specialization info + for(uint32_t s = 0; s < pipeCreateInfo.stageCount; s++) + { + if(pipeCreateInfo.pStages[s].stage == VK_SHADER_STAGE_VERTEX_BIT) + { + compPipeInfo.stage.pSpecializationInfo = pipeCreateInfo.pStages[s].pSpecializationInfo; + break; + } + } + // create new pipeline VkPipeline pipe; vkr = m_pDriver->vkCreateComputePipelines(m_Device, VK_NULL_HANDLE, 1, &compPipeInfo, NULL, &pipe);