From 237c3ce1284aba8474f213e3d8446f6120eba2af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Sun, 16 Apr 2023 00:02:16 +0200 Subject: [PATCH] Apply the fix to avoid jit clearing for rewind savestates to all platforms Silly oversight made in commit 718cb9e . --- Core/MIPS/ARM/ArmJit.cpp | 4 +++- Core/MIPS/ARM64/Arm64Jit.cpp | 4 +++- Core/MIPS/MIPS/MipsJit.cpp | 4 +++- Core/MIPS/fake/FakeJit.cpp | 4 +++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Core/MIPS/ARM/ArmJit.cpp b/Core/MIPS/ARM/ArmJit.cpp index a1124d571290..cf1a1de41df8 100644 --- a/Core/MIPS/ARM/ArmJit.cpp +++ b/Core/MIPS/ARM/ArmJit.cpp @@ -135,7 +135,9 @@ void ArmJit::DoState(PointerWrap &p) Do(p, js.startDefaultPrefix); if (s >= 2) { Do(p, js.hasSetRounding); - js.lastSetRounding = 0; + if (p.mode == PointerWrap::MODE_READ) { + js.lastSetRounding = 0; + } } else { js.hasSetRounding = 1; } diff --git a/Core/MIPS/ARM64/Arm64Jit.cpp b/Core/MIPS/ARM64/Arm64Jit.cpp index ec11bd3f99ce..1186928dc41d 100644 --- a/Core/MIPS/ARM64/Arm64Jit.cpp +++ b/Core/MIPS/ARM64/Arm64Jit.cpp @@ -131,7 +131,9 @@ void Arm64Jit::DoState(PointerWrap &p) { Do(p, js.startDefaultPrefix); if (s >= 2) { Do(p, js.hasSetRounding); - js.lastSetRounding = 0; + if (p.mode == PointerWrap::MODE_READ) { + js.lastSetRounding = 0; + } } else { js.hasSetRounding = 1; } diff --git a/Core/MIPS/MIPS/MipsJit.cpp b/Core/MIPS/MIPS/MipsJit.cpp index 2b263773c8af..eef7938668a2 100644 --- a/Core/MIPS/MIPS/MipsJit.cpp +++ b/Core/MIPS/MIPS/MipsJit.cpp @@ -60,7 +60,9 @@ void MipsJit::DoState(PointerWrap &p) Do(p, js.startDefaultPrefix); if (s >= 2) { Do(p, js.hasSetRounding); - js.lastSetRounding = 0; + if (p.mode == PointerWrap::MODE_READ) { + js.lastSetRounding = 0; + } } else { js.hasSetRounding = 1; } diff --git a/Core/MIPS/fake/FakeJit.cpp b/Core/MIPS/fake/FakeJit.cpp index 860b385699b7..f833526a66c3 100644 --- a/Core/MIPS/fake/FakeJit.cpp +++ b/Core/MIPS/fake/FakeJit.cpp @@ -55,7 +55,9 @@ void FakeJit::DoState(PointerWrap &p) { Do(p, js.startDefaultPrefix); if (s >= 2) { Do(p, js.hasSetRounding); - js.lastSetRounding = 0; + if (p.mode == PointerWrap::MODE_READ) { + js.lastSetRounding = 0; + } } else { js.hasSetRounding = 1; }