فهرست منبع

Fix FADD32I check for Ra negation

gdkchan 6 سال پیش
والد
کامیت
6407729a1d
1فایلهای تغییر یافته به همراه5 افزوده شده و 5 حذف شده
  1. 5 5
      Ryujinx.Graphics.Shader/Instructions/InstEmitHelper.cs

+ 5 - 5
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);