diff --git a/Ryujinx.Graphics.Gpu/State/GpuState.cs b/Ryujinx.Graphics.Gpu/State/GpuState.cs index 677fed6603..70c4ed614a 100644 --- a/Ryujinx.Graphics.Gpu/State/GpuState.cs +++ b/Ryujinx.Graphics.Gpu/State/GpuState.cs @@ -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];