Эх сурвалжийг харах

Fix shader image load/store array index register (#1637)

* Fix shader image load/store array index register

* Y should come before the array index
gdkchan 5 жил өмнө
parent
commit
973a615d40

+ 2 - 6
Ryujinx.Graphics.Shader/Instructions/InstEmitTexture.cs

@@ -40,8 +40,6 @@ namespace Ryujinx.Graphics.Shader.Instructions
                 return context.Copy(Register(raIndex++, RegisterType.Gpr));
                 return context.Copy(Register(raIndex++, RegisterType.Gpr));
             }
             }
 
 
-            Operand arrayIndex = type.HasFlag(SamplerType.Array) ? Ra() : null;
-
             List<Operand> sourcesList = new List<Operand>();
             List<Operand> sourcesList = new List<Operand>();
 
 
             if (op.IsBindless)
             if (op.IsBindless)
@@ -66,7 +64,7 @@ namespace Ryujinx.Graphics.Shader.Instructions
 
 
             if (type.HasFlag(SamplerType.Array))
             if (type.HasFlag(SamplerType.Array))
             {
             {
-                sourcesList.Add(arrayIndex);
+                sourcesList.Add(Ra());
 
 
                 type |= SamplerType.Array;
                 type |= SamplerType.Array;
             }
             }
@@ -193,8 +191,6 @@ namespace Ryujinx.Graphics.Shader.Instructions
                 return context.Copy(Register(rbIndex++, RegisterType.Gpr));
                 return context.Copy(Register(rbIndex++, RegisterType.Gpr));
             }
             }
 
 
-            Operand arrayIndex = type.HasFlag(SamplerType.Array) ? Ra() : null;
-
             List<Operand> sourcesList = new List<Operand>();
             List<Operand> sourcesList = new List<Operand>();
 
 
             if (op.IsBindless)
             if (op.IsBindless)
@@ -219,7 +215,7 @@ namespace Ryujinx.Graphics.Shader.Instructions
 
 
             if (type.HasFlag(SamplerType.Array))
             if (type.HasFlag(SamplerType.Array))
             {
             {
-                sourcesList.Add(arrayIndex);
+                sourcesList.Add(Ra());
 
 
                 type |= SamplerType.Array;
                 type |= SamplerType.Array;
             }
             }