From db69ade7e7a7d460fef8893d8bb5c1922fa8ba64 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Fri, 26 Feb 2021 12:58:00 +0100 Subject: [PATCH] [dxvk] Include fragment shader stage in render pass barrier as necessary If we have readable depth, we need to make sure that the fragment shader can actually, well, read the image. --- src/dxvk/dxvk_renderpass.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/dxvk/dxvk_renderpass.cpp b/src/dxvk/dxvk_renderpass.cpp index 2e22bbb2..1d74e423 100644 --- a/src/dxvk/dxvk_renderpass.cpp +++ b/src/dxvk/dxvk_renderpass.cpp @@ -162,6 +162,11 @@ namespace dxvk { if (m_format.depth.layout != VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL) renderAccess |= VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT; + + if (m_format.depth.layout != VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL) { + renderStages |= VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; + renderAccess |= VK_ACCESS_SHADER_READ_BIT; + } } for (uint32_t i = 0; i < MaxNumRenderTargets; i++) {