[dxvk] Fix render target readback barrier

Dynamic rendering does not allow barriers within a render
pass instance, so we have to actually stop rendering.
This commit is contained in:
Philip Rebohle 2022-07-03 01:16:56 +02:00
parent e8f3d9b040
commit 605fef10b4
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
1 changed files with 8 additions and 7 deletions

View File

@ -1417,13 +1417,14 @@ namespace dxvk {
void DxvkContext::emitRenderTargetReadbackBarrier() {
if (m_flags.test(DxvkContextFlag::GpRenderPassBound)) {
emitMemoryBarrier(VK_DEPENDENCY_BY_REGION_BIT,
VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,
VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,
VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,
VK_ACCESS_SHADER_READ_BIT);
}
if (m_flags.test(DxvkContextFlag::GpRenderPassBound))
this->spillRenderPass(true);
emitMemoryBarrier(0,
VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,
VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,
VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,
VK_ACCESS_SHADER_READ_BIT);
}