aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Gpu/Engine/Methods.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2019-12-07 01:54:28 -0300
committerThog <thog@protonmail.com>2020-01-09 02:13:00 +0100
commit7ce5584f9e0d86f17ea4fc781483f60cfa288340 (patch)
tree1fe59d43bbd7a84687f6ad65156704718eeb852c /Ryujinx.Graphics.Gpu/Engine/Methods.cs
parent17fb11ddb98e94aaf494eaf6002ab149c5d54000 (diff)
Support depth clip mode and disable shader fast math optimization on NVIDIA as a workaround for compiler bugs (?)
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Engine/Methods.cs')
-rw-r--r--Ryujinx.Graphics.Gpu/Engine/Methods.cs6
1 files changed, 5 insertions, 1 deletions
diff --git a/Ryujinx.Graphics.Gpu/Engine/Methods.cs b/Ryujinx.Graphics.Gpu/Engine/Methods.cs
index 29360cf9..0fa3514f 100644
--- a/Ryujinx.Graphics.Gpu/Engine/Methods.cs
+++ b/Ryujinx.Graphics.Gpu/Engine/Methods.cs
@@ -102,7 +102,7 @@ namespace Ryujinx.Graphics.Gpu.Engine
UpdateDepthTestState(state);
}
- if (state.QueryModified(MethodOffset.ViewportTransform, MethodOffset.ViewportExtents))
+ if (state.QueryModified(MethodOffset.DepthMode, MethodOffset.ViewportTransform, MethodOffset.ViewportExtents))
{
UpdateViewportTransform(state);
}
@@ -294,6 +294,10 @@ namespace Ryujinx.Graphics.Gpu.Engine
private void UpdateViewportTransform(GpuState state)
{
+ DepthMode depthMode = state.Get<DepthMode>(MethodOffset.DepthMode);
+
+ _context.Renderer.Pipeline.SetDepthMode(depthMode);
+
bool transformEnable = GetViewportTransformEnable(state);
bool flipY = (state.Get<int>(MethodOffset.YControl) & 1) != 0;