From bfb93bc925ef5510ab6e9b10f1835781e4210c83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Wed, 5 May 2021 12:02:00 +0200 Subject: [PATCH] VulkanRenderer: Fix VkRenderWindow subpass dependencies --- src/Nazara/VulkanRenderer/VkRenderWindow.cpp | 34 ++++++++------------ 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/src/Nazara/VulkanRenderer/VkRenderWindow.cpp b/src/Nazara/VulkanRenderer/VkRenderWindow.cpp index dc09ac429..22bb9b918 100644 --- a/src/Nazara/VulkanRenderer/VkRenderWindow.cpp +++ b/src/Nazara/VulkanRenderer/VkRenderWindow.cpp @@ -435,28 +435,15 @@ namespace Nz std::vector subpassDependencies = { { - { - RenderPass::ExternalSubpassIndex, - PipelineStage::ColorOutput, - {}, + RenderPass::ExternalSubpassIndex, + PipelineStage::ColorOutput, + {}, - 0, - PipelineStage::ColorOutput, - MemoryAccess::ColorWrite, + 0, + PipelineStage::ColorOutput, + MemoryAccess::ColorWrite, - true //< tilable - }, - { - 0, - PipelineStage::ColorOutput, - MemoryAccess::ColorWrite, - - RenderPass::ExternalSubpassIndex, - PipelineStage::BottomOfPipe, - MemoryAccess::MemoryRead, - - true //< tilable - } + true //< tilable } }; @@ -477,12 +464,17 @@ namespace Nz AttachmentStoreOp::Discard, TextureLayout::Undefined, TextureLayout::DepthStencilReadWrite - }); + }); subpasses.front().depthStencilAttachment = RenderPass::AttachmentReference{ 1, TextureLayout::DepthStencilReadWrite }; + + auto& subpassDependency = subpassDependencies.front(); + subpassDependency.fromStages |= PipelineStage::FragmentTestsEarly; + subpassDependency.toStages |= PipelineStage::FragmentTestsEarly; + subpassDependency.toAccessFlags |= MemoryAccess::DepthStencilWrite; } m_renderPass.emplace(*m_device, std::move(attachments), std::move(subpasses), std::move(subpassDependencies));