mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-13 07:14:49 +00:00
SPU GETLLAR: Don't use loop detection for TSX
This commit is contained in:
parent
b18dcd7660
commit
0e6937a359
@ -1785,20 +1785,10 @@ bool spu_thread::process_mfc_cmd()
|
|||||||
const u32 addr = ch_mfc_cmd.eal & -128;
|
const u32 addr = ch_mfc_cmd.eal & -128;
|
||||||
const auto& data = vm::_ref<decltype(rdata)>(addr);
|
const auto& data = vm::_ref<decltype(rdata)>(addr);
|
||||||
|
|
||||||
if (addr == raddr && g_cfg.core.spu_loop_detection && rtime == vm::reservation_acquire(addr, 128) && cmp_rdata(rdata, data))
|
if (addr == raddr && !g_use_rtm && g_cfg.core.spu_loop_detection && rtime == vm::reservation_acquire(addr, 128) && cmp_rdata(rdata, data))
|
||||||
{
|
{
|
||||||
if (g_use_rtm)
|
|
||||||
{
|
|
||||||
state += cpu_flag::wait;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Spinning, might as well yield cpu resources
|
// Spinning, might as well yield cpu resources
|
||||||
std::this_thread::yield();
|
std::this_thread::yield();
|
||||||
|
|
||||||
if (test_stopped())
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
auto& dst = _ref<decltype(rdata)>(ch_mfc_cmd.lsa & 0x3ff80);
|
auto& dst = _ref<decltype(rdata)>(ch_mfc_cmd.lsa & 0x3ff80);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user