Place rsp.Step inside cached interpreter. Gains about 3 more fps

This commit is contained in:
2026-05-29 10:24:57 +02:00
parent bb97dcc23f
commit 2147195774
7 changed files with 4 additions and 166 deletions
-12
View File
@@ -315,9 +315,6 @@ void Mem::Write<u8>(u32 paddr, u32 val) {
bool is_imem = paddr & 0x1000;
auto &dest = is_imem ? mmio.rsp.imem : mmio.rsp.dmem;
paddr = (paddr & 0xFFF) & ~3;
if (is_imem) {
mmio.rsp.cachedState.EvictCachedBlock(paddr);
}
ircolib::WriteAccess<u32>(dest, paddr, val);
return;
}
@@ -368,9 +365,6 @@ void Mem::Write<u16>(u32 paddr, u32 val) {
bool is_imem = paddr & 0x1000;
auto &dest = is_imem ? mmio.rsp.imem : mmio.rsp.dmem;
paddr = (paddr & 0xFFF) & ~3;
if (is_imem) {
mmio.rsp.cachedState.EvictCachedBlock(paddr);
}
ircolib::WriteAccess<u32>(dest, paddr, val);
return;
}
@@ -419,9 +413,6 @@ void Mem::Write<u32>(const u32 paddr, const u32 val) {
if (ircolib::IsInsideRange(paddr, DMEM_REGION_START, RSP_MEM_REGION_END)) {
bool is_imem = paddr & 0x1000;
auto &dest = is_imem ? mmio.rsp.imem : mmio.rsp.dmem;
if (is_imem) {
mmio.rsp.cachedState.EvictCachedBlock(paddr & 0xfff);
}
ircolib::WriteAccess<u32>(dest, paddr & 0xfff, val);
return;
}
@@ -469,9 +460,6 @@ void Mem::Write(const u32 paddr, u64 val) {
if (ircolib::IsInsideRange(paddr, DMEM_REGION_START, RSP_MEM_REGION_END)) {
bool is_imem = paddr & 0x1000;
auto &dest = is_imem ? mmio.rsp.imem : mmio.rsp.dmem;
if (is_imem) {
mmio.rsp.cachedState.EvictCachedBlock(paddr & 0xfff);
}
val >>= 32;
ircolib::WriteAccess<u32>(dest, paddr & 0xfff, val);
return;