mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-09-24 06:36:08 +00:00
Fetch implicit barriers for CmdEndRenderPass before resetting state
This commit is contained in:
@@ -1282,6 +1282,8 @@ bool WrappedVulkan::Serialise_vkCmdEndRenderPass(SerialiserType &ser, VkCommandB
|
||||
{
|
||||
commandBuffer = RerecordCmdBuf(m_LastCmdBufferID);
|
||||
|
||||
std::vector<VkImageMemoryBarrier> imgBarriers = GetImplicitRenderPassBarriers(~0U);
|
||||
|
||||
// always track this, for WrappedVulkan::IsDrawInRenderPass()
|
||||
m_BakedCmdBufferInfo[m_LastCmdBufferID].state.renderPass = ResourceId();
|
||||
m_BakedCmdBufferInfo[m_LastCmdBufferID].state.framebuffer = ResourceId();
|
||||
@@ -1293,8 +1295,6 @@ bool WrappedVulkan::Serialise_vkCmdEndRenderPass(SerialiserType &ser, VkCommandB
|
||||
|
||||
ObjDisp(commandBuffer)->CmdEndRenderPass(Unwrap(commandBuffer));
|
||||
|
||||
std::vector<VkImageMemoryBarrier> imgBarriers = GetImplicitRenderPassBarriers(~0U);
|
||||
|
||||
ResourceId cmd = GetResID(commandBuffer);
|
||||
GetResourceManager()->RecordBarriers(m_BakedCmdBufferInfo[cmd].imgbarriers, m_ImageLayouts,
|
||||
(uint32_t)imgBarriers.size(), imgBarriers.data());
|
||||
@@ -1664,6 +1664,8 @@ bool WrappedVulkan::Serialise_vkCmdEndRenderPass2KHR(SerialiserType &ser,
|
||||
{
|
||||
commandBuffer = RerecordCmdBuf(m_LastCmdBufferID);
|
||||
|
||||
std::vector<VkImageMemoryBarrier> imgBarriers = GetImplicitRenderPassBarriers(~0U);
|
||||
|
||||
// always track this, for WrappedVulkan::IsDrawInRenderPass()
|
||||
m_BakedCmdBufferInfo[m_LastCmdBufferID].state.renderPass = ResourceId();
|
||||
m_BakedCmdBufferInfo[m_LastCmdBufferID].state.framebuffer = ResourceId();
|
||||
@@ -1675,8 +1677,6 @@ bool WrappedVulkan::Serialise_vkCmdEndRenderPass2KHR(SerialiserType &ser,
|
||||
|
||||
ObjDisp(commandBuffer)->CmdEndRenderPass2KHR(Unwrap(commandBuffer), &unwrappedEndInfo);
|
||||
|
||||
std::vector<VkImageMemoryBarrier> imgBarriers = GetImplicitRenderPassBarriers(~0U);
|
||||
|
||||
ResourceId cmd = GetResID(commandBuffer);
|
||||
GetResourceManager()->RecordBarriers(m_BakedCmdBufferInfo[cmd].imgbarriers, m_ImageLayouts,
|
||||
(uint32_t)imgBarriers.size(), imgBarriers.data());
|
||||
|
||||
Reference in New Issue
Block a user