diff options
| author | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-30 11:40:50 -0400 |
|---|---|---|
| committer | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-30 11:40:59 -0400 |
| commit | cdce22cd06ce4965a861a05d32d74dee612f26bf (patch) | |
| tree | 4085d2aebd6e02fa3a4b098726ba17504d6f8ca2 | |
| parent | f362528c0447c491bfe00c0bdd5d8c245396a24c (diff) | |
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.
| -rw-r--r-- | src/audio_core/audio_render_manager.cpp | 2 | ||||
| -rw-r--r-- | src/audio_core/common/feature_support.h | 4 |
2 files changed, 5 insertions, 1 deletions
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 |
