From 0bec547b9dc11cb01c42db7f015cc47a0e649f6b Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Fri, 6 Jul 2018 23:40:12 -0300 Subject: [PATCH] Disable front facing and face culling to avoid regression (#226) * Disable tests for framebuffer blitting --- Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs | 29 ++++++++++++++++++- Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs | 5 ++-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs index 4d91ff97..305fa37d 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLFrameBuffer.cs @@ -239,7 +239,19 @@ namespace Ryujinx.Graphics.Gal.OpenGL { EnsureInitialized(); - bool AlphaBlendEnable = GL.GetInteger(GetPName.Blend) != 0; + //bool CullFaceEnable = GL.IsEnabled(EnableCap.CullFace); + + bool DepthTestEnable = GL.IsEnabled(EnableCap.DepthTest); + + bool StencilTestEnable = GL.IsEnabled(EnableCap.StencilTest); + + bool AlphaBlendEnable = GL.IsEnabled(EnableCap.Blend); + + //GL.Disable(EnableCap.CullFace); + + GL.Disable(EnableCap.DepthTest); + + GL.Disable(EnableCap.StencilTest); GL.Disable(EnableCap.Blend); @@ -268,6 +280,21 @@ namespace Ryujinx.Graphics.Gal.OpenGL GL.UseProgram(CurrentProgram); + //if (CullFaceEnable) + //{ + // GL.Enable(EnableCap.CullFace); + //} + + if (DepthTestEnable) + { + GL.Enable(EnableCap.DepthTest); + } + + if (StencilTestEnable) + { + GL.Enable(EnableCap.StencilTest); + } + if (AlphaBlendEnable) { GL.Enable(EnableCap.Blend); diff --git a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs index e0e769d4..d46f5089 100644 --- a/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs +++ b/Ryujinx.HLE/Gpu/Engines/NvGpuEngine3d.cs @@ -79,8 +79,9 @@ namespace Ryujinx.HLE.Gpu.Engines Gpu.Renderer.Shader.BindProgram(); - SetFrontFace(); - SetCullFace(); + //Note: Uncomment SetFrontFace SetCullFace when flipping issues are solved + //SetFrontFace(); + //SetCullFace(); SetDepth(); SetStencil(); SetAlphaBlending();