aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.OpenGL/Pipeline.cs
diff options
context:
space:
mode:
authorriperiperi <rhy3756547@hotmail.com>2020-07-10 18:23:15 +0100
committerGitHub <noreply@github.com>2020-07-10 14:23:15 -0300
commitf224769c493e80ab2bd9a674be697461749e0b94 (patch)
tree7cf61d4b96a0ceaf87d7877be63a5b2abc2543df /Ryujinx.Graphics.OpenGL/Pipeline.cs
parent189c0c9c726b3a700272831cd5cf10b2fc817cc2 (diff)
Implement Logical Operation registers and functionality (#1380)
* Implement Logical Operation registers and functionality. * Address Feedback 1
Diffstat (limited to 'Ryujinx.Graphics.OpenGL/Pipeline.cs')
-rw-r--r--Ryujinx.Graphics.OpenGL/Pipeline.cs14
1 files changed, 14 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.OpenGL/Pipeline.cs b/Ryujinx.Graphics.OpenGL/Pipeline.cs
index 62e5394e..9623c826 100644
--- a/Ryujinx.Graphics.OpenGL/Pipeline.cs
+++ b/Ryujinx.Graphics.OpenGL/Pipeline.cs
@@ -547,6 +547,20 @@ namespace Ryujinx.Graphics.OpenGL
GL.Enable(IndexedEnableCap.Blend, index);
}
+ public void SetLogicOpState(bool enable, LogicalOp op)
+ {
+ if (enable)
+ {
+ GL.Enable(EnableCap.ColorLogicOp);
+
+ GL.LogicOp((LogicOp)op.Convert());
+ }
+ else
+ {
+ GL.Disable(EnableCap.ColorLogicOp);
+ }
+ }
+
public void SetDepthBias(PolygonModeMask enables, float factor, float units, float clamp)
{
if ((enables & PolygonModeMask.Point) != 0)