From 872aa2b358af0fc5ab0b7b1296d5d79f12877eee Mon Sep 17 00:00:00 2001 From: kd-11 Date: Tue, 6 Jun 2023 15:31:27 +0300 Subject: [PATCH] vk: Improved OOM handling - Don't aggressively delete surfaces unless we're really crashing - Release barrier resources before destroying the surface in case of fatal crash --- rpcs3/Emu/RSX/VK/VKRenderTargets.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/VK/VKRenderTargets.cpp b/rpcs3/Emu/RSX/VK/VKRenderTargets.cpp index 6df1cde1bd..cfcd4fd742 100644 --- a/rpcs3/Emu/RSX/VK/VKRenderTargets.cpp +++ b/rpcs3/Emu/RSX/VK/VKRenderTargets.cpp @@ -207,10 +207,11 @@ namespace vk case rsx::problem_severity::low: return (rtt->unused_check_count() >= 2); case rsx::problem_severity::moderate: - return (rtt->unused_check_count() >= 1); case rsx::problem_severity::severe: + return (rtt->unused_check_count() >= 1); case rsx::problem_severity::fatal: // We're almost dead anyway. Remove forcefully. + rtt->clear_rw_barrier(); vk::get_resource_manager()->dispose(rtt); return true; default: