message: Fetch implicit barriers for CmdEndRenderPass before resetting state
diff: @@ -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());
  