diff options
author | gdkchan <gab.dark.100@gmail.com> | 2023-04-05 00:25:19 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-05 05:25:19 +0200 |
commit | c532118d94dea0bbafff7b92000c1a25cd4e021d (patch) | |
tree | e381eb2b7ca638d6c550eae8557da11325d5ba44 /Ryujinx.Graphics.OpenGL/Pipeline.cs | |
parent | 52d6f2e656c21c3e6693df93a3f09cd2e6a4e40e (diff) |
Use index fragment shader output when dual source blend is enabled (#4404)1.1.696
* Use index fragment shader output when dual source blend is enabled
* Shader cache version bump
* Actually set DualSourceBlendEnabled to true
* Fix XML doc
---------
Co-authored-by: Ac_K <Acoustik666@gmail.com>
Diffstat (limited to 'Ryujinx.Graphics.OpenGL/Pipeline.cs')
-rw-r--r-- | Ryujinx.Graphics.OpenGL/Pipeline.cs | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/Ryujinx.Graphics.OpenGL/Pipeline.cs b/Ryujinx.Graphics.OpenGL/Pipeline.cs index 62996bd0..6b6d0289 100644 --- a/Ryujinx.Graphics.OpenGL/Pipeline.cs +++ b/Ryujinx.Graphics.OpenGL/Pipeline.cs @@ -833,31 +833,13 @@ namespace Ryujinx.Graphics.OpenGL (BlendingFactorSrc)blend.AlphaSrcFactor.Convert(), (BlendingFactorDest)blend.AlphaDstFactor.Convert()); - static bool IsDualSource(BlendFactor factor) - { - switch (factor) - { - case BlendFactor.Src1Color: - case BlendFactor.Src1ColorGl: - case BlendFactor.Src1Alpha: - case BlendFactor.Src1AlphaGl: - case BlendFactor.OneMinusSrc1Color: - case BlendFactor.OneMinusSrc1ColorGl: - case BlendFactor.OneMinusSrc1Alpha: - case BlendFactor.OneMinusSrc1AlphaGl: - return true; - } - - return false; - } - EnsureFramebuffer(); _framebuffer.SetDualSourceBlend( - IsDualSource(blend.ColorSrcFactor) || - IsDualSource(blend.ColorDstFactor) || - IsDualSource(blend.AlphaSrcFactor) || - IsDualSource(blend.AlphaDstFactor)); + blend.ColorSrcFactor.IsDualSource() || + blend.ColorDstFactor.IsDualSource() || + blend.AlphaSrcFactor.IsDualSource() || + blend.AlphaDstFactor.IsDualSource()); if (_blendConstant != blend.BlendConstant) { |