Fixed: debug stats flickering on vulkan Mali devices

Insert a barrier between render-passes that use same attachements
#rb none
[CODEREVIEW] rolando.caloca

#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 6684333 via CL 6684334 via CL 6684405 via CL 6684408
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim) (v365-6733468)

[CL 6794516 by dmitriy dyomin in Dev-Anim branch]
This commit is contained in:
dmitriy dyomin
2019-06-03 08:26:39 -04:00
parent 8171c2a089
commit c411aba3f1

View File

@@ -312,6 +312,12 @@ void FTransitionAndLayoutManager::BeginRealRenderPass(FVulkanCommandListContext&
{
VulkanRHI::ImagePipelineBarrier(CmdBuffer->GetHandle(), Surface.Image, EImageLayoutBarrier::Undefined, EImageLayoutBarrier::ColorAttachment, SetupImageSubresourceRange());
}
else if (*Found == VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL && GetLoadAction(RPInfo.ColorRenderTargets[Index].Action) == ERenderTargetLoadAction::ELoad)
{
// make sure we have dependency between multiple render-passes that use the same attachment
// otherwise GPU can be execute them in any order
VulkanRHI::ImagePipelineBarrier(CmdBuffer->GetHandle(), Surface.Image, EImageLayoutBarrier::ColorAttachment, EImageLayoutBarrier::ColorAttachment, SetupImageSubresourceRange());
}
else
{
Context.RHITransitionResources(EResourceTransitionAccess::EWritable, &Texture, 1);