diff --git a/Ryujinx.Graphics.Gpu/Engine/Methods.cs b/Ryujinx.Graphics.Gpu/Engine/Methods.cs index f408561a2..9f27aec22 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Methods.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Methods.cs @@ -355,8 +355,8 @@ namespace Ryujinx.Graphics.Gpu.Engine int samplesInX = msaaMode.SamplesInX(); int samplesInY = msaaMode.SamplesInY(); - var extents = state.Get(MethodOffset.ViewportExtents, 0); - Size sizeHint = new Size(extents.X + extents.Width, extents.Y + extents.Height, 1); + var scissor = state.Get(MethodOffset.ScreenScissorState); + Size sizeHint = new Size(scissor.X + scissor.Width, scissor.Y + scissor.Height, 1); bool changedScale = false; diff --git a/Ryujinx.Graphics.Gpu/State/MethodOffset.cs b/Ryujinx.Graphics.Gpu/State/MethodOffset.cs index 8d2df79a2..3293ae8ec 100644 --- a/Ryujinx.Graphics.Gpu/State/MethodOffset.cs +++ b/Ryujinx.Graphics.Gpu/State/MethodOffset.cs @@ -45,6 +45,7 @@ namespace Ryujinx.Graphics.Gpu.State TextureBarrierTiled = 0x3df, RtColorMaskShared = 0x3e4, RtDepthStencilState = 0x3f8, + ScreenScissorState = 0x3fd, VertexAttribState = 0x458, RtControl = 0x487, RtDepthStencilSize = 0x48a, diff --git a/Ryujinx.Graphics.Gpu/State/ScreenScissorState.cs b/Ryujinx.Graphics.Gpu/State/ScreenScissorState.cs new file mode 100644 index 000000000..2fbf99344 --- /dev/null +++ b/Ryujinx.Graphics.Gpu/State/ScreenScissorState.cs @@ -0,0 +1,12 @@ +namespace Ryujinx.Graphics.Gpu.State +{ + struct ScreenScissorState + { +#pragma warning disable CS0649 + public ushort X; + public ushort Width; + public ushort Y; + public ushort Height; +#pragma warning restore CS0649 + } +}