From 2801e5471468036ed45150ecbb67849ca9525c92 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 5 Jun 2020 16:02:06 +0100 Subject: [PATCH] Skip pixel shader debugging if no shader is bound --- renderdoc/driver/vulkan/vk_shaderdebug.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/vulkan/vk_shaderdebug.cpp b/renderdoc/driver/vulkan/vk_shaderdebug.cpp index 0dfa06e42..8b64d2fcb 100644 --- a/renderdoc/driver/vulkan/vk_shaderdebug.cpp +++ b/renderdoc/driver/vulkan/vk_shaderdebug.cpp @@ -3607,10 +3607,17 @@ ShaderDebugTrace *VulkanReplay::DebugPixel(uint32_t eventId, uint32_t x, uint32_ return new ShaderDebugTrace(); } + const VulkanCreationInfo::Pipeline &pipe = c.m_Pipeline[state.graphics.pipeline]; + + if(pipe.shaders[4].module == ResourceId()) + { + RDCLOG("No pixel shader bound at draw"); + return new ShaderDebugTrace(); + } + // get ourselves in pristine state before this draw (without any side effects it may have had) m_pDriver->ReplayLog(0, eventId, eReplay_WithoutDraw); - const VulkanCreationInfo::Pipeline &pipe = c.m_Pipeline[state.graphics.pipeline]; VulkanCreationInfo::ShaderModule &shader = c.m_ShaderModule[pipe.shaders[4].module]; rdcstr entryPoint = pipe.shaders[4].entryPoint; const rdcarray &spec = pipe.shaders[4].specialization;