diff options
author | Domenico V <35856442+LDj3SNuD@users.noreply.github.com> | 2023-07-31 03:31:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-30 22:31:57 -0300 |
commit | 86931cc3f1f781f8849651e658a222ca821040fa (patch) | |
tree | ab4d43aa5a9eaa661dddea3a7a33b38c8ffc7e30 | |
parent | 2be8b6ea4527239fff1b2fdf9dc7ce1346b173e6 (diff) |
(Graphics.Shader): Handle EmitSuatom constant dests and EmitSuld zero dest reg. (#5504)1.1.972
* (Graphics.Shader): Handle EmitSuatom constant dests.
* Proper fix for EmitSuatom; fix EmitSuld.
-rw-r--r-- | src/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs b/src/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs index 0b929307..6bf7de7f 100644 --- a/src/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs +++ b/src/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs @@ -218,7 +218,7 @@ namespace Ryujinx.Graphics.Shader.Instructions return context.Copy(Register(srcB++, RegisterType.Gpr)); } - Operand d = dest != RegisterConsts.RegisterZeroIndex ? Register(dest, RegisterType.Gpr) : null; + Operand d = Register(dest, RegisterType.Gpr); List<Operand> sourcesList = new(); @@ -304,6 +304,11 @@ namespace Ryujinx.Graphics.Shader.Instructions bool byteAddress, bool isBindless) { + if (srcB == RegisterConsts.RegisterZeroIndex) + { + return; + } + context.Config.SetUsedFeature(FeatureFlags.IntegerSampling); SamplerType type = ConvertSamplerType(dimensions); |