Refactoring (#6143)

Prefer vm::ptr<>::ptr over vm::get_addr.
    Prefer vm::_ptr/base over vm::g_base_addr with offset.
    Added methods atomic_t<>::bts and atomic_t<>::btr .
    Removed obsolute rsx:🧵:Read/WriteIO32 methods.
    Removed wrong check in semaphore_release.
    Added handling for PUTRx commands for RawSPU MFC proxy.
    Prefer overloaded methods of v128 instead of _mm_... in VPKSHUS ppu interpreter precise.
    Fixed more potential overflows that may result in wrong behaviour.
    Added io/size alignment check for sys_rsx_context_iounmap.
    Added rsx::constants::local_mem_base which represents RSX local memory base address.
    Removed obsolute rsx:🧵:main_mem_addr/ioSize/ioAddress members.
This commit is contained in:
Eladash 2019-06-29 01:27:49 +03:00 committed by Ivan
parent e043412be4
commit 1ee7b91646
20 changed files with 64 additions and 81 deletions

View file

@ -124,10 +124,7 @@ namespace rsx
res &= -128;
}
if (addr >> 28 != 0x4)
{
vm::reservation_notifier(addr, 4).notify_all();
}
vm::reservation_notifier(addr, 4).notify_all();
}
}
@ -1222,8 +1219,8 @@ namespace rsx
const auto read_address = get_address(src_offset, src_dma);
rsx->read_barrier(read_address, in_pitch * (line_count - 1) + line_length);
u8 *dst = (u8*)vm::base(get_address(dst_offset, dst_dma));
const u8 *src = (u8*)vm::base(read_address);
u8 *dst = vm::_ptr<u8>(get_address(dst_offset, dst_dma));
const u8 *src = vm::_ptr<u8>(read_address);
if (in_pitch == out_pitch && out_pitch == line_length)
{