Place rsp.Step inside cached interpreter. Gains about 3 more fps
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user