From 675c9a7945e047b2426eedb6f62179bef8a2c4b7 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Wed, 12 May 2021 01:27:50 +0300 Subject: [PATCH] vk: Ensure MSAA surfaces are in RW state before attempting to transfer data. --- rpcs3/Emu/RSX/VK/VKRenderTargets.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/rpcs3/Emu/RSX/VK/VKRenderTargets.cpp b/rpcs3/Emu/RSX/VK/VKRenderTargets.cpp index 65c72ee06f..062325647b 100644 --- a/rpcs3/Emu/RSX/VK/VKRenderTargets.cpp +++ b/rpcs3/Emu/RSX/VK/VKRenderTargets.cpp @@ -530,6 +530,18 @@ namespace vk resolve(cmd); } + if (samples() > 1) + { + // Ensure a writable surface exists for this surface + get_resolve_target_safe(cmd); + } + + if (src_texture->samples() > 1) + { + // Ensure a readable surface exists for the source + src_texture->get_resolve_target_safe(cmd); + } + hw_blitter.scale_image( cmd, src_texture->get_surface(rsx::surface_access::transfer_read),