diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2020-04-01 22:24:55 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-02 12:24:55 +1100 |
| commit | 5b5239ab5b452f991d9fc4f8ad1f9a2880b8bad1 (patch) | |
| tree | 61337203f57f2e17eb0e8d3da382cdfa5facac8a /Ryujinx.Graphics.Gpu/Shader | |
| parent | 45c7424f7c151f72a915b8dbc8d4ddb5b287ea8b (diff) | |
Remove output interpolation qualifier (#1070)
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Shader')
| -rw-r--r-- | Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs index fc4bf778..7ad00f32 100644 --- a/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs +++ b/Ryujinx.Graphics.Gpu/Shader/ShaderCache.cs @@ -145,8 +145,6 @@ namespace Ryujinx.Graphics.Gpu.Shader gpShaders.Shaders[3] = TranslateGraphicsShader(state, ShaderStage.Geometry, addresses.Geometry); gpShaders.Shaders[4] = TranslateGraphicsShader(state, ShaderStage.Fragment, addresses.Fragment); - BackpropQualifiers(gpShaders); - List<IShader> hostShaders = new List<IShader>(); for (int stage = 0; stage < gpShaders.Shaders.Length; stage++) @@ -376,45 +374,6 @@ namespace Ryujinx.Graphics.Gpu.Shader } /// <summary> - /// Performs backwards propagation of interpolation qualifiers or later shader stages input, - /// to ealier shader stages output. - /// This is required by older versions of OpenGL (pre-4.3). - /// </summary> - /// <param name="program">Graphics shader cached code</param> - private void BackpropQualifiers(GraphicsShader program) - { - ShaderProgram fragmentShader = program.Shaders[4]?.Program; - - bool isFirst = true; - - for (int stage = 3; stage >= 0; stage--) - { - if (program.Shaders[stage] == null) - { - continue; - } - - // We need to iterate backwards, since we do name replacement, - // and it would otherwise replace a subset of the longer names. - for (int attr = 31; attr >= 0; attr--) - { - string iq = fragmentShader?.Info.InterpolationQualifiers[attr].ToGlslQualifier() ?? string.Empty; - - if (isFirst && !string.IsNullOrEmpty(iq)) - { - program.Shaders[stage].Program.Replace($"{DefineNames.OutQualifierPrefixName}{attr}", iq); - } - else - { - program.Shaders[stage].Program.Replace($"{DefineNames.OutQualifierPrefixName}{attr} ", string.Empty); - } - } - - isFirst = false; - } - } - - /// <summary> /// Gets the primitive topology for the current draw. /// This is required by geometry shaders. /// </summary> |
