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

(Graphics.Shader): Handle EmitSuatom constant dests and EmitSuld zero dest reg. (#5504)

* (Graphics.Shader): Handle EmitSuatom constant dests.

* Proper fix for EmitSuatom; fix EmitSuld.
Domenico V 2 лет назад
Родитель
Сommit
86931cc3f1
1 измененных файлов с 6 добавлено и 1 удалено
  1. 6 1
      src/Ryujinx.Graphics.Shader/Instructions/InstEmitSurface.cs

+ 6 - 1
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);