aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs
diff options
context:
space:
mode:
authorMary <me@thog.eu>2021-09-19 12:29:19 +0200
committerGitHub <noreply@github.com>2021-09-19 12:29:19 +0200
commite17eb7bfafdd95084baea8e9f3dc77ee3f755347 (patch)
tree4982e2593a279c9e2c4906ead4d1764a9ddadb54 /Ryujinx.Audio/Renderer/Server/BehaviourContext.cs
parentfe9d5a1981cfe43c4535b7473064c9858addb3b5 (diff)
amadeus: Update to REV10 (#2654)
* amadeus: Update to REV10 This implements all the changes made with REV10 on 13.0.0. * Address Ack's comment * Address gdkchan's comment
Diffstat (limited to 'Ryujinx.Audio/Renderer/Server/BehaviourContext.cs')
-rw-r--r--Ryujinx.Audio/Renderer/Server/BehaviourContext.cs26
1 files changed, 25 insertions, 1 deletions
diff --git a/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs b/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs
index ed1f402e..d3a65b72 100644
--- a/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs
+++ b/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs
@@ -98,9 +98,19 @@ namespace Ryujinx.Audio.Renderer.Server
public const int Revision9 = 9 << 24;
/// <summary>
+ /// REV10:
+ /// Added Bluetooth audio device support and removed the unused "GetAudioSystemMasterVolumeSetting" audio device API.
+ /// A new effect was added: Capture. This effect allows the client side to capture audio buffers of a mix.
+ /// A new command was added for double biquad filters on voices. This is implemented using a direct form 1 (instead of the usual direct form 2).
+ /// A new version of the command estimator was added to support the new commands.
+ /// </summary>
+ /// <remarks>This was added in system update 13.0.0</remarks>
+ public const int Revision10 = 10 << 24;
+
+ /// <summary>
/// Last revision supported by the implementation.
/// </summary>
- public const int LastRevision = Revision9;
+ public const int LastRevision = Revision10;
/// <summary>
/// Target revision magic supported by the implementation.
@@ -348,11 +358,25 @@ namespace Ryujinx.Audio.Renderer.Server
}
/// <summary>
+ /// Check if the audio renderer should use an optimized Biquad Filter (Direct Form 1) in case of two biquad filters are defined on a voice.
+ /// </summary>
+ /// <returns>True if the audio renderer should use the optimization.</returns>
+ public bool IsBiquadFilterGroupedOptimizationSupported()
+ {
+ return CheckFeatureSupported(UserRevision, BaseRevisionMagic + Revision10);
+ }
+
+ /// <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 + Revision10))
+ {
+ return 4;
+ }
+
if (CheckFeatureSupported(UserRevision, BaseRevisionMagic + Revision8))
{
return 3;