From 63872e6b285848e41b94eeca5676aede998b5f63 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sun, 28 Jan 2024 20:49:35 +1000 Subject: [PATCH] GS/Capture: Stop capture on VM shutdown --- pcsx2/GS/GS.cpp | 7 +++++++ pcsx2/VMManager.cpp | 1 + 2 files changed, 8 insertions(+) diff --git a/pcsx2/GS/GS.cpp b/pcsx2/GS/GS.cpp index 40ceeaed45..434721ef53 100644 --- a/pcsx2/GS/GS.cpp +++ b/pcsx2/GS/GS.cpp @@ -20,6 +20,7 @@ #include "GS/Renderers/Null/GSRendererNull.h" #include "GS/Renderers/HW/GSRendererHW.h" #include "GS/Renderers/HW/GSTextureReplacements.h" +#include "VMManager.h" #ifdef ENABLE_OPENGL #include "GS/Renderers/OpenGL/GSDeviceOGL.h" @@ -333,6 +334,9 @@ bool GSopen(const Pcsx2Config::GSOptions& config, GSRendererType renderer, u8* b void GSclose() { + if (GSCapture::IsCapturing()) + GSCapture::EndCapture(); + CloseGSRenderer(); CloseGSDevice(true); Host::ReleaseRenderWindow(); @@ -492,6 +496,9 @@ void GSGameChanged() { if (GSIsHardwareRenderer()) GSTextureReplacements::GameChanged(); + + if (!VMManager::HasValidVM() && GSCapture::IsCapturing()) + GSCapture::EndCapture(); } bool GSHasDisplayWindow() diff --git a/pcsx2/VMManager.cpp b/pcsx2/VMManager.cpp index a7f6be821e..c9aa7b09fe 100644 --- a/pcsx2/VMManager.cpp +++ b/pcsx2/VMManager.cpp @@ -1537,6 +1537,7 @@ void VMManager::Shutdown(bool save_resume_state) { MTGS::WaitGS(false, false, false); MTGS::ResetGS(true); + MTGS::GameChanged(); } else {