From f224769c493e80ab2bd9a674be697461749e0b94 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Fri, 10 Jul 2020 18:23:15 +0100 Subject: Implement Logical Operation registers and functionality (#1380) * Implement Logical Operation registers and functionality. * Address Feedback 1 --- Ryujinx.Graphics.GAL/IPipeline.cs | 2 ++ Ryujinx.Graphics.GAL/LogicalOp.cs | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 Ryujinx.Graphics.GAL/LogicalOp.cs (limited to 'Ryujinx.Graphics.GAL') diff --git a/Ryujinx.Graphics.GAL/IPipeline.cs b/Ryujinx.Graphics.GAL/IPipeline.cs index e365529b..3eb778e0 100644 --- a/Ryujinx.Graphics.GAL/IPipeline.cs +++ b/Ryujinx.Graphics.GAL/IPipeline.cs @@ -42,6 +42,8 @@ namespace Ryujinx.Graphics.GAL void SetImage(int index, ShaderStage stage, ITexture texture); + void SetLogicOpState(bool enable, LogicalOp op); + void SetOrigin(Origin origin); void SetPointSize(float size); diff --git a/Ryujinx.Graphics.GAL/LogicalOp.cs b/Ryujinx.Graphics.GAL/LogicalOp.cs new file mode 100644 index 00000000..848215d0 --- /dev/null +++ b/Ryujinx.Graphics.GAL/LogicalOp.cs @@ -0,0 +1,22 @@ +namespace Ryujinx.Graphics.GAL +{ + public enum LogicalOp + { + Clear = 0x1500, + And = 0x1501, + AndReverse = 0x1502, + Copy = 0x1503, + AndInverted = 0x1504, + Noop = 0x1505, + Xor = 0x1506, + Or = 0x1507, + Nor = 0x1508, + Equiv = 0x1509, + Invert = 0x150A, + OrReverse = 0x150B, + CopyInverted = 0x150C, + OrInverted = 0x150D, + Nand = 0x150E, + Set = 0x150F + } +} -- cgit v1.2.3