From cdce22cd06ce4965a861a05d32d74dee612f26bf Mon Sep 17 00:00:00 2001 From: Takoroka <137927095+Takoroka@users.noreply.github.com> Date: Fri, 30 Oct 2026 11:40:50 -0400 Subject: audio_core: accept audio renderer revision 16 Switch 2 SDKs report audio renderer revision 16 ("REv@"; Mario Kart World's reports 15): Nintendo Switch Sports Resort's GetWorkBufferSize failed with InvalidRevision and the title aborted (2153-1537). Accept revision 16 and run it with revision 15's features, and log a rejected revision with its number. --- src/audio_core/audio_render_manager.cpp | 2 ++ src/audio_core/common/feature_support.h | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src/audio_core') diff --git a/src/audio_core/audio_render_manager.cpp b/src/audio_core/audio_render_manager.cpp index 8c4e74c4be..8083b92287 100644 --- a/src/audio_core/audio_render_manager.cpp +++ b/src/audio_core/audio_render_manager.cpp @@ -33,6 +33,8 @@ SystemManager& Manager::GetSystemManager() { Result Manager::GetWorkBufferSize(const AudioRendererParameterInternal& params, u64& out_count) const { if (!CheckValidRevision(params.revision)) { + LOG_ERROR(Service_Audio, "Audio renderer revision {:#x} ({}) is newer than {}", + params.revision, GetRevisionNum(params.revision), MaxAcceptedRevision); return Service::Audio::ResultInvalidRevision; } diff --git a/src/audio_core/common/feature_support.h b/src/audio_core/common/feature_support.h index 4585be45ef..1a6bfef527 100644 --- a/src/audio_core/common/feature_support.h +++ b/src/audio_core/common/feature_support.h @@ -17,6 +17,8 @@ namespace AudioCore { constexpr u32 CurrentRevision = 15; +/// Newest revision accepted: Switch 2 SDKs ask for 16 ("REv@"), run with revision 15's features. +constexpr u32 MaxAcceptedRevision = 16; enum class SupportTags { CommandProcessingTimeEstimatorVersion4, @@ -112,7 +114,7 @@ constexpr bool CheckFeatureSupported(SupportTags tag, u32 user_revision) { } constexpr bool CheckValidRevision(u32 user_revision) { - return GetRevisionNum(user_revision) <= CurrentRevision; + return GetRevisionNum(user_revision) <= MaxAcceptedRevision; }; } // namespace AudioCore -- cgit v1.2.3