From 5b44a2709b75c00a536fa65ce3acb9117bf07760 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Wed, 14 Jan 2026 17:03:00 +1300 Subject: [PATCH] Use m_BakedCmdBufferInfo to test for push constant descriptor --- renderdoc/driver/vulkan/vk_replay.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/renderdoc/driver/vulkan/vk_replay.cpp b/renderdoc/driver/vulkan/vk_replay.cpp index d2022c79c..950a9715f 100644 --- a/renderdoc/driver/vulkan/vk_replay.cpp +++ b/renderdoc/driver/vulkan/vk_replay.cpp @@ -1059,7 +1059,7 @@ void VulkanReplay::GetBufferData(ResourceId buff, uint64_t offset, uint64_t len, } // push constants 'descriptor' stored in a command buffer - if(WrappedVkCommandBuffer::IsAlloc(GetResourceManager()->GetResource(buff))) + if(m_pDriver->m_BakedCmdBufferInfo.find(buff) != m_pDriver->m_BakedCmdBufferInfo.end()) { inlineData.assign(m_pDriver->m_RenderState.pushconsts, m_pDriver->m_RenderState.pushConstSize); useInlineData = true; @@ -2582,7 +2582,7 @@ rdcarray VulkanReplay::GetDescriptors(ResourceId descriptorStore, } // push constants 'descriptor' stored in a command buffer - if(WrappedVkCommandBuffer::IsAlloc(rm->GetResource(descriptorStore))) + if(m_pDriver->m_BakedCmdBufferInfo.find(descriptorStore) != m_pDriver->m_BakedCmdBufferInfo.end()) { const VulkanRenderState &state = m_pDriver->m_RenderState; @@ -2738,7 +2738,7 @@ rdcarray VulkanReplay::GetSamplerDescriptors(ResourceId descr } // push constants 'descriptor' stored in a command buffer - if(WrappedVkCommandBuffer::IsAlloc(GetResourceManager()->GetResource(descriptorStore))) + if(m_pDriver->m_BakedCmdBufferInfo.find(descriptorStore) != m_pDriver->m_BakedCmdBufferInfo.end()) { // not sampler data return ret; @@ -3012,10 +3012,8 @@ rdcarray VulkanReplay::GetDescriptorLocations( return ret; } - VulkanResourceManager *rm = m_pDriver->GetResourceManager(); - // push constants 'descriptor' stored in a command buffer - if(WrappedVkCommandBuffer::IsAlloc(rm->GetResource(descriptorStore))) + if(m_pDriver->m_BakedCmdBufferInfo.find(descriptorStore) != m_pDriver->m_BakedCmdBufferInfo.end()) { // should only be one descriptor referred here, but just munge them all to be the same for(DescriptorLogicalLocation &d : ret)