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

* Fix shader image load/store array index register

* Y should come before the array index
This commit is contained in:
gdkchan 2020-10-25 14:51:26 -03:00 committed by GitHub
parent 2f16491712
commit 973a615d40
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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;
} }