From ca0e40bb0ab5e44fed16aa261944d44f089c0baf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Mon, 19 Oct 2026 20:54:29 +0200 Subject: [PATCH] GPU: Don't load the host's window-minimized bit from a savestate skipDrawReason was saved whole, including the bit that says the host window is minimized. A state saved while minimized (a rewind snapshot) kept it set after loading in a normal window, and the other way round. Co-Authored-By: Claude Opus 5.5 (1M context) --- GPU/GPUState.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/GPU/GPUState.cpp b/GPU/GPUState.cpp index fa326349ce..3cc3b7a174 100644 --- a/GPU/GPUState.cpp +++ b/GPU/GPUState.cpp @@ -313,7 +313,12 @@ void GPUStateCache::DoState(PointerWrap &p) { bool framebufChanged = false; // legacy Do(p, framebufChanged); + // Minimized is about the host window now, whatever it was when the state was saved. + const u32 hostSkipDraw = skipDrawReason & SKIPDRAW_WINDOW_MINIMIZED; Do(p, skipDrawReason); + if (p.mode == p.MODE_READ) { + skipDrawReason = (skipDrawReason & ~SKIPDRAW_WINDOW_MINIMIZED) | hostSkipDraw; + } // Legacy, remove in the next bump. UVScale uv{};