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
This commit is contained in:
gdkchan
2021-09-28 20:55:12 -03:00
committed by GitHub
parent 312be74861
commit fd7567a6b5
11 changed files with 85 additions and 16 deletions

View File

@@ -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)

View File

@@ -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
}
}

View File

@@ -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;