diff options
Diffstat (limited to 'Ryujinx.Graphics.Gpu')
| -rw-r--r-- | Ryujinx.Graphics.Gpu/Engine/Methods.cs | 19 | ||||
| -rw-r--r-- | Ryujinx.Graphics.Gpu/State/MethodOffset.cs | 3 |
2 files changed, 21 insertions, 1 deletions
diff --git a/Ryujinx.Graphics.Gpu/Engine/Methods.cs b/Ryujinx.Graphics.Gpu/Engine/Methods.cs index 39b3d13c..96741cd6 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Methods.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Methods.cs @@ -223,12 +223,17 @@ namespace Ryujinx.Graphics.Gpu.Engine UpdateTexturePoolState(state); } - // Input assembler state. + // Rasterizer state. if (state.QueryModified(MethodOffset.VertexAttribState)) { UpdateVertexAttribState(state); } + if (state.QueryModified(MethodOffset.LineWidthSmooth, MethodOffset.LineSmoothEnable)) + { + UpdateLineState(state); + } + if (state.QueryModified(MethodOffset.PointSize, MethodOffset.VertexProgramPointSize, MethodOffset.PointSpriteEnable, @@ -717,6 +722,18 @@ namespace Ryujinx.Graphics.Gpu.Engine } /// <summary> + /// Updates host line width based on guest GPU state. + /// </summary> + /// <param name="state">Current GPU state</param> + private void UpdateLineState(GpuState state) + { + float width = state.Get<float>(MethodOffset.LineWidthSmooth); + bool smooth = state.Get<Boolean32>(MethodOffset.LineSmoothEnable); + + _context.Renderer.Pipeline.SetLineParameters(width, smooth); + } + + /// <summary> /// Updates host point size based on guest GPU state. /// </summary> /// <param name="state">Current GPU state</param> diff --git a/Ryujinx.Graphics.Gpu/State/MethodOffset.cs b/Ryujinx.Graphics.Gpu/State/MethodOffset.cs index 4504e6b1..1ddef95c 100644 --- a/Ryujinx.Graphics.Gpu/State/MethodOffset.cs +++ b/Ryujinx.Graphics.Gpu/State/MethodOffset.cs @@ -67,6 +67,8 @@ namespace Ryujinx.Graphics.Gpu.State BlendEnable = 0x4d8, StencilTestState = 0x4e0, YControl = 0x4eb, + LineWidthSmooth = 0x4ec, + LineWidthAliased = 0x4ed, FirstVertex = 0x50d, FirstInstance = 0x50e, ClipDistanceEnable = 0x544, @@ -77,6 +79,7 @@ namespace Ryujinx.Graphics.Gpu.State ConditionState = 0x554, SamplerPoolState = 0x557, DepthBiasFactor = 0x55b, + LineSmoothEnable = 0x55c, TexturePoolState = 0x55d, StencilBackTestState = 0x565, DepthBiasUnits = 0x56f, |
