aboutsummaryrefslogtreecommitdiff
path: root/src/audio_core
diff options
context:
space:
mode:
authorTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-30 11:40:50 -0400
committerTakoroka <137927095+Takoroka@users.noreply.github.com>2026-10-30 11:40:59 -0400
commitcdce22cd06ce4965a861a05d32d74dee612f26bf (patch)
tree4085d2aebd6e02fa3a4b098726ba17504d6f8ca2 /src/audio_core
parentf362528c0447c491bfe00c0bdd5d8c245396a24c (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.
Diffstat (limited to 'src/audio_core')
-rw-r--r--src/audio_core/audio_render_manager.cpp2
-rw-r--r--src/audio_core/common/feature_support.h4
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