From 2ab4051140b787e4e03cb8741e6e77b513350e77 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 26 Jan 2021 13:24:23 +0000 Subject: [PATCH] Don't access graphics pipeline info when doing compute feedback * This would crash if there's no renderpass set. --- renderdoc/driver/vulkan/vk_bindless_feedback.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/renderdoc/driver/vulkan/vk_bindless_feedback.cpp b/renderdoc/driver/vulkan/vk_bindless_feedback.cpp index 335f9305c..b09f47751 100644 --- a/renderdoc/driver/vulkan/vk_bindless_feedback.cpp +++ b/renderdoc/driver/vulkan/vk_bindless_feedback.cpp @@ -636,13 +636,17 @@ void VulkanReplay::FetchShaderFeedback(uint32_t eventId) // get pipeline create info if(result.compute) + { m_pDriver->GetShaderCache()->MakeComputePipelineInfo(computeInfo, state.compute.pipeline); + } else + { m_pDriver->GetShaderCache()->MakeGraphicsPipelineInfo(graphicsInfo, state.graphics.pipeline); - graphicsInfo.renderPass = - creationInfo.m_RenderPass[GetResID(graphicsInfo.renderPass)].loadRPs[graphicsInfo.subpass]; - graphicsInfo.subpass = 0; + graphicsInfo.renderPass = + creationInfo.m_RenderPass[GetResID(graphicsInfo.renderPass)].loadRPs[graphicsInfo.subpass]; + graphicsInfo.subpass = 0; + } if(feedbackStorageSize > m_BindlessFeedback.FeedbackBuffer.sz) {