aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2020-01-06 18:48:21 -0300
committerThog <thog@protonmail.com>2020-01-09 02:13:00 +0100
commit6407729a1df737305860fa396456b86b403dc06e (patch)
treed9c5229e3344286e6912c500686701693fa955c7
parente3c919f0867f11545e72a54b808c218c1a779ff1 (diff)
Fix FADD32I check for Ra negation
-rw-r--r--Ryujinx.Graphics.Shader/Instructions/InstEmitHelper.cs10
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);