aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.OpenGL/EnumConversion.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/EnumConversion.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/EnumConversion.cs')
-rw-r--r--Ryujinx.Graphics.OpenGL/EnumConversion.cs43
1 files changed, 43 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.OpenGL/EnumConversion.cs b/Ryujinx.Graphics.OpenGL/EnumConversion.cs
index aebe54fa..a4bd39cc 100644
--- a/Ryujinx.Graphics.OpenGL/EnumConversion.cs
+++ b/Ryujinx.Graphics.OpenGL/EnumConversion.cs
@@ -443,5 +443,48 @@ namespace Ryujinx.Graphics.OpenGL
return NvViewportSwizzle.ViewportSwizzlePositiveXNv;
}
+
+ public static All Convert(this LogicalOp op)
+ {
+ switch (op)
+ {
+ case LogicalOp.Clear:
+ return All.Clear;
+ case LogicalOp.And:
+ return All.And;
+ case LogicalOp.AndReverse:
+ return All.AndReverse;
+ case LogicalOp.Copy:
+ return All.Copy;
+ case LogicalOp.AndInverted:
+ return All.AndInverted;
+ case LogicalOp.Noop:
+ return All.Noop;
+ case LogicalOp.Xor:
+ return All.Xor;
+ case LogicalOp.Or:
+ return All.Or;
+ case LogicalOp.Nor:
+ return All.Nor;
+ case LogicalOp.Equiv:
+ return All.Equiv;
+ case LogicalOp.Invert:
+ return All.Invert;
+ case LogicalOp.OrReverse:
+ return All.OrReverse;
+ case LogicalOp.CopyInverted:
+ return All.CopyInverted;
+ case LogicalOp.OrInverted:
+ return All.OrInverted;
+ case LogicalOp.Nand:
+ return All.Nand;
+ case LogicalOp.Set:
+ return All.Set;
+ }
+
+ Logger.PrintDebug(LogClass.Gpu, $"Invalid {nameof(LogicalOp)} enum value: {op}.");
+
+ return All.Never;
+ }
}
}