From 47a62e826fe15fce9b7e33f5aa8a04807fe3d172 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Wed, 19 Sep 2018 22:02:11 -0300 Subject: Implement DepthWriteMask and add R16G16 (#425) --- Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs') diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs index cf856a15..20e92ff2 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs @@ -85,6 +85,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL CullFace = GalCullFace.Back, DepthTestEnabled = false, + DepthWriteEnabled = true, DepthFunc = GalComparisonOp.Less, StencilTestEnabled = false, @@ -138,19 +139,19 @@ namespace Ryujinx.Graphics.Gal.OpenGL //Note: Uncomment SetFrontFace and SetCullFace when flipping issues are solved - //if (New.FrontFace != O.FrontFace) + //if (New.FrontFace != Old.FrontFace) //{ // GL.FrontFace(OGLEnumConverter.GetFrontFace(New.FrontFace)); //} - //if (New.CullFaceEnabled != O.CullFaceEnabled) + //if (New.CullFaceEnabled != Old.CullFaceEnabled) //{ // Enable(EnableCap.CullFace, New.CullFaceEnabled); //} //if (New.CullFaceEnabled) //{ - // if (New.CullFace != O.CullFace) + // if (New.CullFace != Old.CullFace) // { // GL.CullFace(OGLEnumConverter.GetCullFace(New.CullFace)); // } @@ -161,6 +162,13 @@ namespace Ryujinx.Graphics.Gal.OpenGL Enable(EnableCap.DepthTest, New.DepthTestEnabled); } + if (New.DepthWriteEnabled != Old.DepthWriteEnabled) + { + Rasterizer.DepthWriteEnabled = New.DepthWriteEnabled; + + GL.DepthMask(New.DepthWriteEnabled); + } + if (New.DepthTestEnabled) { if (New.DepthFunc != Old.DepthFunc) -- cgit v1.2.3