diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2024-05-17 16:46:43 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-17 16:46:43 -0300 |
| commit | 4d84df94873a070f6f5c199438f957b24d8cf8a9 (patch) | |
| tree | 3e4b4cc9585526c63f3a9fdb3a150bfd721a5030 /src/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs | |
| parent | 9ec8b2c01a0b00f3a33d9a23b9f5ff3758520484 (diff) | |
Update audio renderer to REV12: Add support for splitter biquad filter (#6813)
* Update audio renderer to REV12: Add support for splitter biquad filter
* Formatting
* Official names
* Update BiquadFilterState size + other fixes
* Update tests
* Update comment for version 2
* Size test for SplitterDestinationVersion2
* Should use Volume1 if no ramp
Diffstat (limited to 'src/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs')
| -rw-r--r-- | src/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs b/src/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs index fe1dfc4b..32c7de6c 100644 --- a/src/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs +++ b/src/Ryujinx.Audio/Renderer/Server/BehaviourContext.cs @@ -45,7 +45,6 @@ namespace Ryujinx.Audio.Renderer.Server /// <see cref="Parameter.RendererInfoOutStatus"/> was added to supply the count of update done sent to the DSP. /// A new version of the command estimator was added to address timing changes caused by the voice changes. /// Additionally, the rendering limit percent was incremented to 80%. - /// /// </summary> /// <remarks>This was added in system update 6.0.0</remarks> public const int Revision5 = 5 << 24; @@ -102,9 +101,17 @@ namespace Ryujinx.Audio.Renderer.Server public const int Revision11 = 11 << 24; /// <summary> + /// REV12: + /// Two new commands were added to for biquad filtering and mixing (with optinal volume ramp) on the same command. + /// Splitter destinations can now specify up to two biquad filtering parameters, used for filtering the buffer before mixing. + /// </summary> + /// <remarks>This was added in system update 17.0.0</remarks> + public const int Revision12 = 12 << 24; + + /// <summary> /// Last revision supported by the implementation. /// </summary> - public const int LastRevision = Revision11; + public const int LastRevision = Revision12; /// <summary> /// Target revision magic supported by the implementation. @@ -354,7 +361,7 @@ namespace Ryujinx.Audio.Renderer.Server /// 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() + public bool UseMultiTapBiquadFilterProcessing() { return CheckFeatureSupported(UserRevision, BaseRevisionMagic + Revision10); } @@ -369,6 +376,15 @@ namespace Ryujinx.Audio.Renderer.Server } /// <summary> + /// Check if the audio renderer should support biquad filter on splitter. + /// </summary> + /// <returns>True if the audio renderer support biquad filter on splitter</returns> + public bool IsBiquadFilterParameterForSplitterEnabled() + { + return CheckFeatureSupported(UserRevision, BaseRevisionMagic + Revision12); + } + + /// <summary> /// Get the version of the <see cref="ICommandProcessingTimeEstimator"/>. /// </summary> /// <returns>The version of the <see cref="ICommandProcessingTimeEstimator"/>.</returns> |
