VulkanRenderer: Fix VkRenderWindow subpass dependencies

This commit is contained in:
Jérôme Leclercq 2021-05-05 12:02:00 +02:00
parent 10aa7231b6
commit bfb93bc925
1 changed files with 13 additions and 21 deletions

View File

@ -434,7 +434,6 @@ namespace Nz
}; };
std::vector<RenderPass::SubpassDependency> subpassDependencies = { std::vector<RenderPass::SubpassDependency> subpassDependencies = {
{
{ {
RenderPass::ExternalSubpassIndex, RenderPass::ExternalSubpassIndex,
PipelineStage::ColorOutput, PipelineStage::ColorOutput,
@ -445,18 +444,6 @@ namespace Nz
MemoryAccess::ColorWrite, MemoryAccess::ColorWrite,
true //< tilable true //< tilable
},
{
0,
PipelineStage::ColorOutput,
MemoryAccess::ColorWrite,
RenderPass::ExternalSubpassIndex,
PipelineStage::BottomOfPipe,
MemoryAccess::MemoryRead,
true //< tilable
}
} }
}; };
@ -483,6 +470,11 @@ namespace Nz
1, 1,
TextureLayout::DepthStencilReadWrite 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)); m_renderPass.emplace(*m_device, std::move(attachments), std::move(subpasses), std::move(subpassDependencies));