From 1876b346fea647e8284a66bb6d62c38801035cff Mon Sep 17 00:00:00 2001 From: gdk Date: Sun, 13 Oct 2019 03:02:07 -0300 Subject: Initial work --- Ryujinx.Graphics.GAL/Blend/BlendDescriptor.cs | 32 +++++++++++++++++++++++++++ Ryujinx.Graphics.GAL/Blend/BlendFactor.cs | 25 +++++++++++++++++++++ Ryujinx.Graphics.GAL/Blend/BlendOp.cs | 11 +++++++++ 3 files changed, 68 insertions(+) create mode 100644 Ryujinx.Graphics.GAL/Blend/BlendDescriptor.cs create mode 100644 Ryujinx.Graphics.GAL/Blend/BlendFactor.cs create mode 100644 Ryujinx.Graphics.GAL/Blend/BlendOp.cs (limited to 'Ryujinx.Graphics.GAL/Blend') 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 + } +} -- cgit v1.2.3