From 6407729a1df737305860fa396456b86b403dc06e Mon Sep 17 00:00:00 2001 From: gdkchan Date: Mon, 6 Jan 2020 18:48:21 -0300 Subject: [PATCH] Fix FADD32I check for Ra negation --- Ryujinx.Graphics.Shader/Instructions/InstEmitHelper.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Ryujinx.Graphics.Shader/Instructions/InstEmitHelper.cs b/Ryujinx.Graphics.Shader/Instructions/InstEmitHelper.cs index 13035427..4bf9303c 100644 --- a/Ryujinx.Graphics.Shader/Instructions/InstEmitHelper.cs +++ b/Ryujinx.Graphics.Shader/Instructions/InstEmitHelper.cs @@ -104,7 +104,11 @@ namespace Ryujinx.Graphics.Shader.Instructions bool absoluteA = false, negateA = false; - if (isAdd || op is IOpCodeCbuf || op is IOpCodeImm) + if (op is OpCodeAluImm32 && isAdd) + { + negateA = op.RawOpCode.Extract(56); + } + else if (isAdd || op is IOpCodeCbuf || op is IOpCodeImm) { negateA = op.RawOpCode.Extract(43); absoluteA = op.RawOpCode.Extract(44); @@ -113,10 +117,6 @@ namespace Ryujinx.Graphics.Shader.Instructions { absoluteA = op.RawOpCode.Extract(44); } - else if (op is OpCodeAluImm32 && isAdd) - { - negateA = op.RawOpCode.Extract(56); - } FPHalfSwizzle swizzle = (FPHalfSwizzle)op.RawOpCode.Extract(47, 2);