diff --git a/rpcs3/Emu/RSX/GL/GLGSRender.cpp b/rpcs3/Emu/RSX/GL/GLGSRender.cpp index 291be348cd..da6d48bf0c 100644 --- a/rpcs3/Emu/RSX/GL/GLGSRender.cpp +++ b/rpcs3/Emu/RSX/GL/GLGSRender.cpp @@ -473,14 +473,13 @@ void GLGSRender::end() if (g_cfg.video.strict_rendering_mode) { - if (ds->old_contents != nullptr) + if (ds && ds->old_contents != nullptr) copy_rtt_contents(ds); for (auto &rtt : m_rtts.m_bound_render_targets) { - if (std::get<0>(rtt) != 0) + if (auto surface = std::get<1>(rtt)) { - auto surface = std::get<1>(rtt); if (surface->old_contents != nullptr) copy_rtt_contents(surface); } diff --git a/rpcs3/Emu/RSX/VK/VKGSRender.cpp b/rpcs3/Emu/RSX/VK/VKGSRender.cpp index 64f3641325..cc6da419e8 100644 --- a/rpcs3/Emu/RSX/VK/VKGSRender.cpp +++ b/rpcs3/Emu/RSX/VK/VKGSRender.cpp @@ -1383,10 +1383,8 @@ void VKGSRender::end() //Prepare surfaces if needed for (auto &rtt : m_rtts.m_bound_render_targets) { - if (std::get<0>(rtt) != 0) + if (auto surface = std::get<1>(rtt)) { - auto surface = std::get<1>(rtt); - if (surface->old_contents != nullptr) copy_rtt_contents(surface); }