diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2021-09-28 20:55:12 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-29 01:55:12 +0200 |
| commit | fd7567a6b56fcb82a52b85097582fc0a67038457 (patch) | |
| tree | 175c9992d0cca4c05b80857d66af4bbdce09cba7 /Ryujinx.Graphics.Shader/Translation | |
| parent | 312be74861dae16311f4376e32195f8a4fd372c6 (diff) | |
Only make render target 2D textures layered if needed (#2646)
* Only make render target 2D textures layered if needed
* Shader cache version bump
* Ensure topology is updated on channel swap
Diffstat (limited to 'Ryujinx.Graphics.Shader/Translation')
| -rw-r--r-- | Ryujinx.Graphics.Shader/Translation/EmitterContext.cs | 5 | ||||
| -rw-r--r-- | Ryujinx.Graphics.Shader/Translation/FeatureFlags.cs | 7 | ||||
| -rw-r--r-- | Ryujinx.Graphics.Shader/Translation/Translator.cs | 1 |
3 files changed, 10 insertions, 3 deletions
diff --git a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs index 5cdd5c0a..c96b75a5 100644 --- a/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs +++ b/Ryujinx.Graphics.Shader/Translation/EmitterContext.cs @@ -121,6 +121,11 @@ namespace Ryujinx.Graphics.Shader.Translation break; } } + + if (Config.Stage != ShaderStage.Fragment && attribute == AttributeConsts.Layer) + { + Config.SetUsedFeature(FeatureFlags.RtLayer); + } } public void MarkLabel(Operand label) diff --git a/Ryujinx.Graphics.Shader/Translation/FeatureFlags.cs b/Ryujinx.Graphics.Shader/Translation/FeatureFlags.cs index 1636afd3..f602ea64 100644 --- a/Ryujinx.Graphics.Shader/Translation/FeatureFlags.cs +++ b/Ryujinx.Graphics.Shader/Translation/FeatureFlags.cs @@ -17,8 +17,9 @@ namespace Ryujinx.Graphics.Shader.Translation Bindless = 1 << 2, InstanceId = 1 << 3, - CbIndexing = 1 << 4, - IaIndexing = 1 << 5, - OaIndexing = 1 << 6 + RtLayer = 1 << 4, + CbIndexing = 1 << 5, + IaIndexing = 1 << 6, + OaIndexing = 1 << 7 } } diff --git a/Ryujinx.Graphics.Shader/Translation/Translator.cs b/Ryujinx.Graphics.Shader/Translation/Translator.cs index f1e92d7c..1abf19d7 100644 --- a/Ryujinx.Graphics.Shader/Translation/Translator.cs +++ b/Ryujinx.Graphics.Shader/Translation/Translator.cs @@ -106,6 +106,7 @@ namespace Ryujinx.Graphics.Shader.Translation config.GetTextureDescriptors(), config.GetImageDescriptors(), config.UsedFeatures.HasFlag(FeatureFlags.InstanceId), + config.UsedFeatures.HasFlag(FeatureFlags.RtLayer), config.ClipDistancesWritten); return program; |
