diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2020-01-06 18:48:21 -0300 |
|---|---|---|
| committer | Thog <thog@protonmail.com> | 2020-01-09 02:13:00 +0100 |
| commit | 6407729a1df737305860fa396456b86b403dc06e (patch) | |
| tree | d9c5229e3344286e6912c500686701693fa955c7 | |
| parent | e3c919f0867f11545e72a54b808c218c1a779ff1 (diff) | |
Fix FADD32I check for Ra negation
| -rw-r--r-- | Ryujinx.Graphics.Shader/Instructions/InstEmitHelper.cs | 10 |
1 files 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); |
