Просмотр исходного кода

Fix PSL and MRG flags on XMAD cbuf-reg shader instruction (#1520)

gdkchan 5 лет назад
Родитель
Сommit
3d294a9a6c
1 измененных файлов с 6 добавлено и 1 удалено
  1. 6 1
      Ryujinx.Graphics.Shader/Instructions/InstEmitAlu.cs

+ 6 - 1
Ryujinx.Graphics.Shader/Instructions/InstEmitAlu.cs

@@ -674,7 +674,12 @@ namespace Ryujinx.Graphics.Shader.Instructions
             bool productShiftLeft = false;
             bool merge            = false;
 
-            if (!(op is OpCodeAluRegCbuf))
+            if (op is OpCodeAluCbuf)
+            {
+                productShiftLeft = context.CurrOp.RawOpCode.Extract(55);
+                merge            = context.CurrOp.RawOpCode.Extract(56);
+            }
+            else if (!(op is OpCodeAluRegCbuf))
             {
                 productShiftLeft = context.CurrOp.RawOpCode.Extract(36);
                 merge            = context.CurrOp.RawOpCode.Extract(37);