mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-08-02 22:30:39 +00:00
Merge branch 'master' into myfix
This commit is contained in:
commit
239937123d
1 changed files with 17 additions and 1 deletions
|
@ -3898,7 +3898,23 @@ bool spu_thread::do_putllc(const spu_mfc_cmd& args)
|
||||||
{
|
{
|
||||||
if (raddr)
|
if (raddr)
|
||||||
{
|
{
|
||||||
vm::reservation_notifier_notify(addr);
|
if (raddr != spurs_addr || pc != 0x11e4)
|
||||||
|
{
|
||||||
|
vm::reservation_notifier_notify(addr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
const u32 thread_bit_mask = (1u << index);
|
||||||
|
constexpr usz SPU_IDLE = 0x73;
|
||||||
|
|
||||||
|
const bool switched_from_running_to_idle = (static_cast<u8>(rdata[SPU_IDLE]) & thread_bit_mask) == 0 && (_ref<u8>(0x100 + SPU_IDLE) & thread_bit_mask) != 0;
|
||||||
|
|
||||||
|
if (switched_from_running_to_idle)
|
||||||
|
{
|
||||||
|
vm::reservation_notifier_notify(addr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
raddr = 0;
|
raddr = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue