feat(audio): Add REV13 audio renderer support

- Implement compressor statistics collection and tracking
- Add explicit splitter volume reset functionality
- Implement REV13 audio device notification commands
- Update feature support system to revision 13
- Maintain backward compatibility with older revisions

Resolves REV13 audio renderer feature requirements with proper
Nintendo Switch development practices and SwitchBrew compatibility.

REF: a2c0035013
Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
Zephyron
2025-09-27 10:13:32 +10:00
parent 0001539f4a
commit 2fa3501ff4
13 changed files with 263 additions and 8 deletions

View File

@@ -13,7 +13,7 @@
#include "common/polyfill_ranges.h"
namespace AudioCore {
constexpr u32 CurrentRevision = 11;
constexpr u32 CurrentRevision = 13;
enum class SupportTags {
CommandProcessingTimeEstimatorVersion4,
@@ -44,6 +44,8 @@ enum class SupportTags {
DelayChannelMappingChange,
ReverbChannelMappingChange,
I3dl2ReverbChannelMappingChange,
CompressorStatistics,
SplitterPrevVolumeReset,
// Not a real tag, just here to get the count.
Size
@@ -87,6 +89,8 @@ constexpr bool CheckFeatureSupported(SupportTags tag, u32 user_revision) {
{SupportTags::DelayChannelMappingChange, 11},
{SupportTags::ReverbChannelMappingChange, 11},
{SupportTags::I3dl2ReverbChannelMappingChange, 11},
{SupportTags::CompressorStatistics, 13},
{SupportTags::SplitterPrevVolumeReset, 13},
}};
const auto& feature =