mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-08-06 02:08:28 +02:00
Ignore exit flag on branch delay slot (#899)
This commit is contained in:
@@ -58,6 +58,8 @@ namespace Ryujinx.Graphics.Gpu
|
||||
|
||||
private int _pipeOp;
|
||||
|
||||
private bool _ignoreExitFlag;
|
||||
|
||||
private int _pc;
|
||||
|
||||
/// <summary>
|
||||
@@ -232,12 +234,19 @@ namespace Ryujinx.Graphics.Gpu
|
||||
{
|
||||
FetchOpCode(mme);
|
||||
}
|
||||
else
|
||||
{
|
||||
// The delay slot instruction exit flag should be ignored.
|
||||
_ignoreExitFlag = true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
bool exit = (_opCode & 0x80) != 0;
|
||||
bool exit = (_opCode & 0x80) != 0 && !_ignoreExitFlag;
|
||||
|
||||
_ignoreExitFlag = false;
|
||||
|
||||
return !exit;
|
||||
}
|
||||
|
Reference in New Issue
Block a user