aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.GAL/Blend
diff options
context:
space:
mode:
authorgdk <gab.dark.100@gmail.com>2019-10-13 03:02:07 -0300
committerThog <thog@protonmail.com>2020-01-09 02:13:00 +0100
commit1876b346fea647e8284a66bb6d62c38801035cff (patch)
tree6eeff094298cda84d1613dc5ec0691e51d7b35f1 /Ryujinx.Graphics.GAL/Blend
parentf617fb542a0e3d36012d77a4b5acbde7b08902f2 (diff)
Initial work
Diffstat (limited to 'Ryujinx.Graphics.GAL/Blend')
-rw-r--r--Ryujinx.Graphics.GAL/Blend/BlendDescriptor.cs32
-rw-r--r--Ryujinx.Graphics.GAL/Blend/BlendFactor.cs25
-rw-r--r--Ryujinx.Graphics.GAL/Blend/BlendOp.cs11
3 files changed, 68 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.GAL/Blend/BlendDescriptor.cs b/Ryujinx.Graphics.GAL/Blend/BlendDescriptor.cs
new file mode 100644
index 00000000..d7ef8004
--- /dev/null
+++ b/Ryujinx.Graphics.GAL/Blend/BlendDescriptor.cs
@@ -0,0 +1,32 @@
+namespace Ryujinx.Graphics.GAL.Blend
+{
+ public struct BlendDescriptor
+ {
+ public bool Enable { get; }
+
+ public BlendOp ColorOp { get; }
+ public BlendFactor ColorSrcFactor { get; }
+ public BlendFactor ColorDstFactor { get; }
+ public BlendOp AlphaOp { get; }
+ public BlendFactor AlphaSrcFactor { get; }
+ public BlendFactor AlphaDstFactor { get; }
+
+ public BlendDescriptor(
+ bool enable,
+ BlendOp colorOp,
+ BlendFactor colorSrcFactor,
+ BlendFactor colorDstFactor,
+ BlendOp alphaOp,
+ BlendFactor alphaSrcFactor,
+ BlendFactor alphaDstFactor)
+ {
+ Enable = enable;
+ ColorOp = colorOp;
+ ColorSrcFactor = colorSrcFactor;
+ ColorDstFactor = colorDstFactor;
+ AlphaOp = alphaOp;
+ AlphaSrcFactor = alphaSrcFactor;
+ AlphaDstFactor = alphaDstFactor;
+ }
+ }
+}
diff --git a/Ryujinx.Graphics.GAL/Blend/BlendFactor.cs b/Ryujinx.Graphics.GAL/Blend/BlendFactor.cs
new file mode 100644
index 00000000..0eda08a7
--- /dev/null
+++ b/Ryujinx.Graphics.GAL/Blend/BlendFactor.cs
@@ -0,0 +1,25 @@
+namespace Ryujinx.Graphics.GAL.Blend
+{
+ public enum BlendFactor
+ {
+ Zero = 1,
+ One,
+ SrcColor,
+ OneMinusSrcColor,
+ SrcAlpha,
+ OneMinusSrcAlpha,
+ DstAlpha,
+ OneMinusDstAlpha,
+ DstColor,
+ OneMinusDstColor,
+ SrcAlphaSaturate,
+ Src1Color = 0x10,
+ OneMinusSrc1Color,
+ Src1Alpha,
+ OneMinusSrc1Alpha,
+ ConstantColor = 0xc001,
+ OneMinusConstantColor,
+ ConstantAlpha,
+ OneMinusConstantAlpha
+ }
+} \ No newline at end of file
diff --git a/Ryujinx.Graphics.GAL/Blend/BlendOp.cs b/Ryujinx.Graphics.GAL/Blend/BlendOp.cs
new file mode 100644
index 00000000..51a0062d
--- /dev/null
+++ b/Ryujinx.Graphics.GAL/Blend/BlendOp.cs
@@ -0,0 +1,11 @@
+namespace Ryujinx.Graphics.GAL.Blend
+{
+ public enum BlendOp
+ {
+ Add = 1,
+ Subtract,
+ ReverseSubtract,
+ Minimum,
+ Maximum
+ }
+}