diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2021-01-29 00:38:51 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-29 14:38:51 +1100 |
| commit | f93089a64f9586863e8a261af932d125e78230df (patch) | |
| tree | 9899a0075441cbaa620d2dbf7609909c2d8b0bde /Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs | |
| parent | 9c2f851d3946a2b789e8c00432c60c8d690299a7 (diff) | |
Implement geometry shader passthrough (#1961)
* Implement geometry shader passthrough
* Cache version change
Diffstat (limited to 'Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs')
| -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 637ce8fe..b1fd6470 100644 --- a/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs +++ b/Ryujinx.Graphics.Shader/Translation/ShaderConfig.cs @@ -6,6 +6,8 @@ namespace Ryujinx.Graphics.Shader.Translation { public ShaderStage Stage { get; } + public bool GpPassthrough { get; } + public OutputTopology OutputTopology { get; } public int MaxOutputVertices { get; } @@ -33,6 +35,7 @@ namespace Ryujinx.Graphics.Shader.Translation public ShaderConfig(IGpuAccessor gpuAccessor, TranslationFlags flags, TranslationCounts counts) { Stage = ShaderStage.Compute; + GpPassthrough = false; OutputTopology = OutputTopology.PointList; MaxOutputVertices = 0; LocalMemorySize = 0; @@ -51,6 +54,7 @@ namespace Ryujinx.Graphics.Shader.Translation public ShaderConfig(ShaderHeader header, IGpuAccessor gpuAccessor, TranslationFlags flags, TranslationCounts counts) { Stage = header.Stage; + GpPassthrough = header.Stage == ShaderStage.Geometry && header.GpPassthrough; OutputTopology = header.OutputTopology; MaxOutputVertices = header.MaxOutputVertexCount; LocalMemorySize = header.ShaderLocalMemoryLowSize + header.ShaderLocalMemoryHighSize; |
