diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index 1bcd77b083..b7758cd150 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -1628,11 +1628,11 @@ static bool ppu_store_reservation(ppu_thread& ppu, u32 addr, u64 reg_value) if (cmp_rdata(ppu.rdata, super_data)) { data.release(reg_value); - res.release(rtime + 128); + res += 64; return true; } - res.release(rtime); + res -= 64; return false; }(); diff --git a/rpcs3/Emu/Cell/SPUThread.cpp b/rpcs3/Emu/Cell/SPUThread.cpp index 612cd54496..491946ecda 100644 --- a/rpcs3/Emu/Cell/SPUThread.cpp +++ b/rpcs3/Emu/Cell/SPUThread.cpp @@ -2029,11 +2029,11 @@ bool spu_thread::do_putllc(const spu_mfc_cmd& args) if (cmp_rdata(rdata, super_data)) { mov_rdata(super_data, to_write); - res.release(rtime + 128); + res += 64; return true; } - res.release(rtime); + res -= 64; return false; }(); @@ -2102,7 +2102,7 @@ void do_cell_atomic_128_store(u32 addr, const void* to_write) // TODO: vm::check_addr vm::writer_lock lock(addr); mov_rdata(super_data, *static_cast(to_write)); - res.release(time0 + 128); + res += 64; } if (render) render->unpause(); diff --git a/rpcs3/Emu/RSX/rsx_methods.cpp b/rpcs3/Emu/RSX/rsx_methods.cpp index 1f0318ea52..991a045f1d 100644 --- a/rpcs3/Emu/RSX/rsx_methods.cpp +++ b/rpcs3/Emu/RSX/rsx_methods.cpp @@ -158,7 +158,7 @@ namespace rsx if (res) { - res += 127; + res += 64; } vm::reservation_notifier(addr, 4).notify_all();