1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2025-02-01 04:51:49 +01:00

Fixup for cpu_flag::temp

Wrong check_state() result was triggering assertion.
This commit is contained in:
Nekotekina 2020-10-26 01:16:16 +03:00
parent d344701fd5
commit f1e66085cd
3 changed files with 5 additions and 4 deletions

View File

@ -34,6 +34,7 @@ void fmt_class_string<cpu_flag>::format(std::string& out, u64 arg)
case cpu_flag::stop: return "STOP"; case cpu_flag::stop: return "STOP";
case cpu_flag::exit: return "EXIT"; case cpu_flag::exit: return "EXIT";
case cpu_flag::wait: return "w"; case cpu_flag::wait: return "w";
case cpu_flag::temp: return "t";
case cpu_flag::pause: return "p"; case cpu_flag::pause: return "p";
case cpu_flag::suspend: return "s"; case cpu_flag::suspend: return "s";
case cpu_flag::ret: return "ret"; case cpu_flag::ret: return "ret";
@ -589,7 +590,7 @@ bool cpu_thread::check_state() noexcept
store = true; store = true;
} }
retval = !cpu_can_stop; retval = false;
} }
else else
{ {
@ -599,7 +600,7 @@ bool cpu_thread::check_state() noexcept
store = true; store = true;
} }
retval = true; retval = cpu_can_stop;
} }
if (cpu_can_stop && flags & cpu_flag::dbg_step) if (cpu_can_stop && flags & cpu_flag::dbg_step)

View File

@ -1221,7 +1221,7 @@ static T ppu_load_acquire_reservation(ppu_thread& ppu, u32 addr)
{ {
ppu.state += cpu_flag::wait + cpu_flag::temp; ppu.state += cpu_flag::wait + cpu_flag::temp;
std::this_thread::yield(); std::this_thread::yield();
ppu.check_state(); verify(HERE), !ppu.check_state();
} }
}()) }())
{ {

View File

@ -271,7 +271,7 @@ namespace spu
busy_wait(count); busy_wait(count);
} }
spu.check_state(); verify(HERE), !spu.check_state();
} }
atomic_instruction_table[pc_offset]++; atomic_instruction_table[pc_offset]++;