From 4960ab85f81f48553b7217261f4181e31d812a10 Mon Sep 17 00:00:00 2001 From: mageven <62494521+mageven@users.noreply.github.com> Date: Fri, 17 Apr 2020 06:46:49 +0530 Subject: Implement Depth Clamping (#1120) * Implement Depth Clamping and add misc enums * Fix formatting --- Ryujinx.Graphics.OpenGL/Pipeline.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'Ryujinx.Graphics.OpenGL') diff --git a/Ryujinx.Graphics.OpenGL/Pipeline.cs b/Ryujinx.Graphics.OpenGL/Pipeline.cs index aef3383b..e32b5b85 100644 --- a/Ryujinx.Graphics.OpenGL/Pipeline.cs +++ b/Ryujinx.Graphics.OpenGL/Pipeline.cs @@ -546,6 +546,21 @@ namespace Ryujinx.Graphics.OpenGL // GL.PolygonOffsetClamp(factor, units, clamp); } + public void SetDepthClamp(bool clampNear, bool clampFar) + { + // TODO: Use GL_AMD_depth_clamp_separate or similar if available? + // Currently enables clamping if either is set. + bool clamp = clampNear || clampFar; + + if (!clamp) + { + GL.Disable(EnableCap.DepthClamp); + return; + } + + GL.Enable(EnableCap.DepthClamp); + } + public void SetDepthMode(DepthMode mode) { ClipDepthMode depthMode = mode.Convert(); -- cgit v1.2.3