diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2022-11-12 20:20:40 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-12 20:20:40 -0300 |
| commit | 9daf029f356898336de1ad0c63b6c36e261e4f9b (patch) | |
| tree | d8e6c2edffa5babbb1486801b081cd367cec5c4b /Ryujinx.Graphics.Shader/Translation | |
| parent | 51a27032f01826e0cec56c53da4359fd2c38c8f3 (diff) | |
Use vector transform feedback outputs if possible (#3832)
Diffstat (limited to 'Ryujinx.Graphics.Shader/Translation')
| -rw-r--r-- | Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs b/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs index c70ec16c..fcf35ce2 100644 --- a/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs +++ b/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs @@ -17,6 +17,7 @@ namespace Ryujinx.Graphics.Shader.Translation public ShaderStage Stage { get; } public bool GpPassthrough { get; } + public bool LastInPipeline { get; private set; } public bool LastInVertexPipeline { get; private set; } public int ThreadsPerInputPrimitive { get; } @@ -143,6 +144,7 @@ namespace Ryujinx.Graphics.Shader.Translation OmapSampleMask = header.OmapSampleMask; OmapDepth = header.OmapDepth; TransformFeedbackEnabled = gpuAccessor.QueryTransformFeedbackEnabled(); + LastInPipeline = true; LastInVertexPipeline = header.Stage < ShaderStage.Fragment; } @@ -306,6 +308,8 @@ namespace Ryujinx.Graphics.Shader.Translation config._perPatchAttributeLocations = locationsMap; } + LastInPipeline = false; + // We don't consider geometry shaders using the geometry shader passthrough feature // as being the last because when this feature is used, it can't actually modify any of the outputs, // so the stage that comes before it is the last one that can do modifications. |
