mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-17 17:11:23 +00:00
SPU: Fix not acuiring reservation locks on DMA with more than one cache line (Accurate DMA)
This commit is contained in:
parent
baf96b3eb6
commit
c7a185d4e7
@ -1348,7 +1348,7 @@ void spu_thread::do_dma_transfer(const spu_mfc_cmd& args)
|
||||
if ((!g_use_rtm && !is_get) || g_cfg.core.spu_accurate_dma) [[unlikely]]
|
||||
{
|
||||
for (u32 size = args.size, size0; is_get;
|
||||
size -= size0, dst += size0, src += size0)
|
||||
size -= size0, dst += size0, src += size0, eal += size0)
|
||||
{
|
||||
size0 = std::min<u32>(128 - (eal & 127), std::min<u32>(size, 128));
|
||||
|
||||
@ -1470,8 +1470,7 @@ void spu_thread::do_dma_transfer(const spu_mfc_cmd& args)
|
||||
{
|
||||
if (g_cfg.core.spu_accurate_dma)
|
||||
{
|
||||
for (u32 size0;;
|
||||
size -= size0, dst += size0, src += size0)
|
||||
for (u32 size0;; size -= size0, dst += size0, src += size0, eal += size0)
|
||||
{
|
||||
size0 = std::min<u32>(128 - (eal & 127), std::min<u32>(size, 128));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user