Browse Source

Fix default value for unwritten shader outputs (#2412)

* Fix shader default output values

* Shader cache version bump
gdkchan 4 years ago
parent
commit
493648df31

+ 1 - 1
Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs

@@ -36,7 +36,7 @@ namespace Ryujinx.Graphics.Gpu.Shader
         /// <summary>
         /// Version of the codegen (to be changed when codegen or guest format change).
         /// </summary>
-        private const ulong ShaderCodeGenVersion = 2404;
+        private const ulong ShaderCodeGenVersion = 2412;
 
         // Progress reporting helpers
         private volatile int _shaderCount;

+ 5 - 5
Ryujinx.Graphics.Shader/CodeGen/Glsl/GlslGenerator.cs

@@ -76,14 +76,14 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl
 
                         if ((context.Config.Flags & TranslationFlags.Feedback) != 0)
                         {
-                            context.AppendLine($"{DefaultNames.OAttributePrefix}{attr}_x = 0;");
-                            context.AppendLine($"{DefaultNames.OAttributePrefix}{attr}_y = 0;");
-                            context.AppendLine($"{DefaultNames.OAttributePrefix}{attr}_z = 0;");
-                            context.AppendLine($"{DefaultNames.OAttributePrefix}{attr}_w = 0;");
+                            context.AppendLine($"{DefaultNames.OAttributePrefix}{attr}_x = 0.0;");
+                            context.AppendLine($"{DefaultNames.OAttributePrefix}{attr}_y = 0.0;");
+                            context.AppendLine($"{DefaultNames.OAttributePrefix}{attr}_z = 0.0;");
+                            context.AppendLine($"{DefaultNames.OAttributePrefix}{attr}_w = 1.0;");
                         }
                         else
                         {
-                            context.AppendLine($"{DefaultNames.OAttributePrefix}{attr} = vec4(0);");
+                            context.AppendLine($"{DefaultNames.OAttributePrefix}{attr} = vec4(0.0, 0.0, 0.0, 1.0);");
                         }
                     }
                 }