From e4abd3dc5a5e6c443dc52923f7e33c30f99361e9 Mon Sep 17 00:00:00 2001 From: Eladash Date: Sat, 5 Sep 2020 20:16:03 +0300 Subject: [PATCH] SPU: Do not ignore pending PUT tranfers just becase GET may not be cache-line atomic This is not the proper way to emulate non-atomic GET tranfers, as it makes it seems as if PUT atomic tranfers arent atomic. (TODO) Incomplete GET cache line accesses still do not verify data though. --- rpcs3/Emu/Cell/SPUThread.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rpcs3/Emu/Cell/SPUThread.cpp b/rpcs3/Emu/Cell/SPUThread.cpp index efc6850469..4d764f94f7 100644 --- a/rpcs3/Emu/Cell/SPUThread.cpp +++ b/rpcs3/Emu/Cell/SPUThread.cpp @@ -1370,8 +1370,7 @@ void spu_thread::do_dma_transfer(const spu_mfc_cmd& args) { const u64 time0 = vm::reservation_acquire(eal, size0); - // Ignore DMA lock bit on incomplete cache line accesses - if (time0 & (127 - (size0 != 128 ? vm::dma_lockb : 0))) + if (time0 & 127) { continue; }