diff --git a/renderdoc/driver/vulkan/vk_rendertexture.cpp b/renderdoc/driver/vulkan/vk_rendertexture.cpp index 7c5bba729..65a894155 100644 --- a/renderdoc/driver/vulkan/vk_rendertexture.cpp +++ b/renderdoc/driver/vulkan/vk_rendertexture.cpp @@ -157,7 +157,6 @@ bool VulkanReplay::RenderTextureInternal(TextureDisplay cfg, VkRenderPassBeginIn const bool f32render = (flags & eTexDisplay_32Render) != 0; VkDevice dev = m_pDriver->GetDev(); - VkCommandBuffer cmd = m_pDriver->GetNextCmd(); const VkDevDispatchTable *vt = ObjDisp(dev); ImageLayouts &layouts = m_pDriver->m_ImageLayouts[cfg.resourceId]; @@ -477,6 +476,8 @@ bool VulkanReplay::RenderTextureInternal(TextureDisplay cfg, VkRenderPassBeginIn vt->UpdateDescriptorSets(Unwrap(dev), (uint32_t)writeSets.size(), &writeSets[0], 0, NULL); + VkCommandBuffer cmd = m_pDriver->GetNextCmd(); + VkCommandBufferBeginInfo beginInfo = {VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO, NULL, VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT}; diff --git a/renderdoc/driver/vulkan/vk_replay.cpp b/renderdoc/driver/vulkan/vk_replay.cpp index bbd8671b8..bad19299a 100644 --- a/renderdoc/driver/vulkan/vk_replay.cpp +++ b/renderdoc/driver/vulkan/vk_replay.cpp @@ -2157,7 +2157,6 @@ bool VulkanReplay::GetMinMax(ResourceId texid, const Subresource &sub, CompType bool stencil, float *minval, float *maxval) { VkDevice dev = m_pDriver->GetDev(); - VkCommandBuffer cmd = m_pDriver->GetNextCmd(); const VkDevDispatchTable *vt = ObjDisp(dev); ImageLayouts &layouts = m_pDriver->m_ImageLayouts[texid]; @@ -2353,6 +2352,8 @@ bool VulkanReplay::GetMinMax(ResourceId texid, const Subresource &sub, CompType VkCommandBufferBeginInfo beginInfo = {VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO, NULL, VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT}; + VkCommandBuffer cmd = m_pDriver->GetNextCmd(); + vt->BeginCommandBuffer(Unwrap(cmd), &beginInfo); DoPipelineBarrier(cmd, setupBarriers.size(), setupBarriers.data()); @@ -2451,7 +2452,6 @@ bool VulkanReplay::GetHistogram(ResourceId texid, const Subresource &sub, CompTy return false; VkDevice dev = m_pDriver->GetDev(); - VkCommandBuffer cmd = m_pDriver->GetNextCmd(); const VkDevDispatchTable *vt = ObjDisp(dev); ImageLayouts &layouts = m_pDriver->m_ImageLayouts[texid]; @@ -2656,6 +2656,8 @@ bool VulkanReplay::GetHistogram(ResourceId texid, const Subresource &sub, CompTy VkCommandBufferBeginInfo beginInfo = {VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO, NULL, VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT}; + VkCommandBuffer cmd = m_pDriver->GetNextCmd(); + vt->BeginCommandBuffer(Unwrap(cmd), &beginInfo); rdcarray setupBarriers, cleanupBarriers;