diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index a165881f0..46ad85637 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -4344,21 +4344,10 @@ namespace dxvk { void DxvkContext::commitGraphicsPostBarriers() { - bool fs = m_state.gp.flags.test(DxvkGraphicsPipelineFlag::HasFsStorageDescriptors); - bool vs = m_state.gp.flags.test(DxvkGraphicsPipelineFlag::HasVsStorageDescriptors); - - if (vs) { - // External subpass dependencies serve as full memory - // and execution barriers, so we can use this to allow - // inter-stage synchronization. - this->spillRenderPass(); - } else if (fs) { - this->emitMemoryBarrier( - VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, - VK_ACCESS_SHADER_WRITE_BIT, - VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, - VK_ACCESS_SHADER_READ_BIT); - } + // External subpass dependencies serve as full memory + // and execution barriers, so we can use this to allow + // inter-stage synchronization. + this->spillRenderPass(); } diff --git a/src/dxvk/dxvk_renderpass.cpp b/src/dxvk/dxvk_renderpass.cpp index b770a87b2..8c5f5a559 100644 --- a/src/dxvk/dxvk_renderpass.cpp +++ b/src/dxvk/dxvk_renderpass.cpp @@ -151,17 +151,6 @@ namespace dxvk { VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT, 0 }; } - if (ops.barrier.srcStages & ( - VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | - VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT | - VK_PIPELINE_STAGE_ALL_COMMANDS_BIT)) { - subpassDeps[subpassDepCount++] = { 0, 0, - VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, - VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, - VK_ACCESS_SHADER_WRITE_BIT, - VK_ACCESS_SHADER_READ_BIT, 0 }; - } - if (ops.barrier.srcStages && ops.barrier.dstStages) { subpassDeps[subpassDepCount++] = { 0, VK_SUBPASS_EXTERNAL,