From 0bec547b9dc11cb01c42db7f015cc47a0e649f6b Mon Sep 17 00:00:00 2001
From: ReinUsesLisp <reinuseslisp@airmail.cc>
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 4d91ff97ee..305fa37d8f 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 e0e769d486..d46f5089a5 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();