From 42229ca089a3f8afc5661f450bdc7b6e772894c5 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 31 Oct 2018 15:05:09 +0000 Subject: [PATCH] Don't include BeginRenderPass in quad overdraw pass events --- renderdoc/driver/vulkan/vk_overlay.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/renderdoc/driver/vulkan/vk_overlay.cpp b/renderdoc/driver/vulkan/vk_overlay.cpp index c240c15bb..676278bd3 100644 --- a/renderdoc/driver/vulkan/vk_overlay.cpp +++ b/renderdoc/driver/vulkan/vk_overlay.cpp @@ -1624,6 +1624,16 @@ ResourceId VulkanReplay::RenderOverlay(ResourceId texid, CompType typeHint, Debu events.push_back(eventId); + // if we're rendering the whole pass, and the first draw is a BeginRenderPass, don't include + // it in the list. We want to start by replaying into the renderpass so that we have the + // correct state being applied. + if(overlay == DebugOverlay::QuadOverdrawPass) + { + const DrawcallDescription *draw = m_pDriver->GetDrawcall(events[0]); + if(draw->flags & DrawFlags::BeginPass) + events.erase(events.begin()); + } + VkImage quadImg; VkDeviceMemory quadImgMem; VkImageView quadImgView;