aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);