aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Audio/Renderer/Server/BehaviourContext.cs')
-rw-r--r--Ryujinx.Audio/Renderer/Server/BehaviourContext.cs24
1 files changed, 23 insertions, 1 deletions
diff --git a/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs b/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs
index d3a65b72..cf9cda0b 100644
--- a/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs
+++ b/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs
@@ -108,9 +108,17 @@ namespace Ryujinx.Audio.Renderer.Server
public const int Revision10 = 10 << 24;
/// <summary>
+ /// REV11:
+ /// The "legacy" effects (Delay, Reverb and Reverb 3D) were updated to match the standard channel mapping used by the audio renderer.
+ /// A new version of the command estimator was added to address timing changes caused by the legacy effects changes.
+ /// </summary>
+ /// <remarks>This was added in system update 14.0.0</remarks>
+ public const int Revision11 = 11 << 24;
+
+ /// <summary>
/// Last revision supported by the implementation.
/// </summary>
- public const int LastRevision = Revision10;
+ public const int LastRevision = Revision11;
/// <summary>
/// Target revision magic supported by the implementation.
@@ -367,11 +375,25 @@ namespace Ryujinx.Audio.Renderer.Server
}
/// <summary>
+ /// Check if the audio renderer should support new channel resource mapping for 5.1 on Delay, Reverb and Reverb 3D effects.
+ /// </summary>
+ /// <returns>True if the audio renderer support new channel resource mapping for 5.1.</returns>
+ public bool IsNewEffectChannelMappingSupported()
+ {
+ return CheckFeatureSupported(UserRevision, BaseRevisionMagic + Revision11);
+ }
+
+ /// <summary>
/// Get the version of the <see cref="ICommandProcessingTimeEstimator"/>.
/// </summary>
/// <returns>The version of the <see cref="ICommandProcessingTimeEstimator"/>.</returns>
public int GetCommandProcessingTimeEstimatorVersion()
{
+ if (CheckFeatureSupported(UserRevision, BaseRevisionMagic + Revision11))
+ {
+ return 5;
+ }
+
if (CheckFeatureSupported(UserRevision, BaseRevisionMagic + Revision10))
{
return 4;