From b6fbbba06bf2f7173b182d26dd80f3cc49c2f322 Mon Sep 17 00:00:00 2001 From: samfromdeath Date: Thu, 21 Feb 2019 18:06:13 +1100 Subject: [PATCH] check in --- Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs | 23 +++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs index deccd890f7..0f259a8a17 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLPipeline.cs @@ -341,25 +341,30 @@ namespace Ryujinx.Graphics.Gal.OpenGL { if (New.ColorMaskCommon != Old.ColorMaskCommon || !New.ColorMasks[0].Equals(Old.ColorMasks[0])) { + var newColorMask = New.ColorMasks[0]; GL.ColorMask( - New.ColorMasks[0].Red, - New.ColorMasks[0].Green, - New.ColorMasks[0].Blue, - New.ColorMasks[0].Alpha); + newColorMask.Red, + newColorMask.Green, + newColorMask.Blue, + newColorMask.Alpha); } } else { + ColorMaskState newMaskState; + for (int Index = 0; Index < GalPipelineState.RenderTargetsCount; Index++) { - if (!New.ColorMasks[Index].Equals(Old.ColorMasks[Index])) + var newColorMask = New.ColorMasks[Index]; + var oldColorMask = New.ColorMasks[Index]; + if (!(newMaskState = New.ColorMasks[Index]).Equals(Old.ColorMasks[Index])) { GL.ColorMask( Index, - New.ColorMasks[Index].Red, - New.ColorMasks[Index].Green, - New.ColorMasks[Index].Blue, - New.ColorMasks[Index].Alpha); + newMaskState.Red, + newMaskState.Green, + newMaskState.Blue, + newMaskState.Alpha); } } }