forked from Mirror/Ryujinx
Fix shadow RAM affecting MME methods (#1168)
This commit is contained in:
parent
3dfa4232f8
commit
10a2b9dca3
1 changed files with 12 additions and 8 deletions
|
@ -77,15 +77,19 @@ namespace Ryujinx.Graphics.Gpu.State
|
|||
{
|
||||
int value = meth.Argument;
|
||||
|
||||
// TODO: Figure out what TrackWithFilter does, compared to Track.
|
||||
if (shadowCtrl == ShadowRamControl.Track ||
|
||||
shadowCtrl == ShadowRamControl.TrackWithFilter)
|
||||
// Methods < 0x80 shouldn't be affected by shadow RAM at all.
|
||||
if (meth.Method >= 0x80)
|
||||
{
|
||||
_shadow[meth.Method] = value;
|
||||
}
|
||||
else if (shadowCtrl == ShadowRamControl.Replay)
|
||||
{
|
||||
value = _shadow[meth.Method];
|
||||
// TODO: Figure out what TrackWithFilter does, compared to Track.
|
||||
if (shadowCtrl == ShadowRamControl.Track ||
|
||||
shadowCtrl == ShadowRamControl.TrackWithFilter)
|
||||
{
|
||||
_shadow[meth.Method] = value;
|
||||
}
|
||||
else if (shadowCtrl == ShadowRamControl.Replay)
|
||||
{
|
||||
value = _shadow[meth.Method];
|
||||
}
|
||||
}
|
||||
|
||||
Register register = _registers[meth.Method];
|
||||
|
|
Loading…
Reference in a new issue