diff options
Diffstat (limited to 'Ryujinx.Graphics.Shader/Translation/Translator.cs')
-rw-r--r-- | Ryujinx.Graphics.Shader/Translation/Translator.cs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.Shader/Translation/Translator.cs b/Ryujinx.Graphics.Shader/Translation/Translator.cs index a658697b..cef25350 100644 --- a/Ryujinx.Graphics.Shader/Translation/Translator.cs +++ b/Ryujinx.Graphics.Shader/Translation/Translator.cs @@ -232,6 +232,22 @@ namespace Ryujinx.Graphics.Shader.Translation usedAttributesPerPatch &= ~(1 << index); } + + if (config.NextUsesFixedFuncAttributes) + { + for (int i = 0; i < 4 + AttributeConsts.TexCoordCount; i++) + { + int index = config.GetFreeUserAttribute(isOutput: true, i); + if (index < 0) + { + break; + } + + InitializeOutput(context, AttributeConsts.UserAttributeBase + index * 16, perPatch: false); + + config.SetOutputUserAttributeFixedFunc(index); + } + } } private static void InitializeOutput(EmitterContext context, int baseAttr, bool perPatch) |