From 0cc981ec180b52d2ea6839cdde0764fd15458d91 Mon Sep 17 00:00:00 2001 From: Elad Ashkenazi Date: Fri, 30 Sep 2022 09:12:42 +0300 Subject: [PATCH] SPU: fix atomicity of inaccurate GETLLAR --- rpcs3/Emu/Cell/SPUThread.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpcs3/Emu/Cell/SPUThread.cpp b/rpcs3/Emu/Cell/SPUThread.cpp index 21f9b98f23..6ab1a89070 100644 --- a/rpcs3/Emu/Cell/SPUThread.cpp +++ b/rpcs3/Emu/Cell/SPUThread.cpp @@ -3451,7 +3451,7 @@ bool spu_thread::process_mfc_cmd() // Need to check twice for it to be accurate, the code is before and not after this check for: // 1. Reduce time between reservation accesses so TSX panelty would be lowered // 2. Increase the chance of change detection: if GETLLAR has been called again new data is probably wanted - if (!g_cfg.core.spu_accurate_getllar || (rtime == vm::reservation_acquire(addr) && cmp_rdata(rdata, data))) + if (rtime == vm::reservation_acquire(addr) && (!g_cfg.core.spu_accurate_getllar || cmp_rdata(rdata, data))) { if ([&]() -> bool {