diff options
-rw-r--r-- | al/debug.cpp | 159 | ||||
-rw-r--r-- | al/state.cpp | 34 | ||||
-rw-r--r-- | alc/alc.cpp | 70 | ||||
-rw-r--r-- | alc/context.cpp | 2 | ||||
-rw-r--r-- | alc/context.h | 2 | ||||
-rw-r--r-- | alc/inprogext.h | 88 |
6 files changed, 199 insertions, 156 deletions
diff --git a/al/debug.cpp b/al/debug.cpp index 2dd0e7c7..f584da99 100644 --- a/al/debug.cpp +++ b/al/debug.cpp @@ -39,11 +39,11 @@ constexpr al::optional<DebugSource> GetDebugSource(ALenum source) noexcept { switch(source) { - case AL_DEBUG_SOURCE_API_SOFT: return DebugSource::API; - case AL_DEBUG_SOURCE_AUDIO_SYSTEM_SOFT: return DebugSource::System; - case AL_DEBUG_SOURCE_THIRD_PARTY_SOFT: return DebugSource::ThirdParty; - case AL_DEBUG_SOURCE_APPLICATION_SOFT: return DebugSource::Application; - case AL_DEBUG_SOURCE_OTHER_SOFT: return DebugSource::Other; + case AL_DEBUG_SOURCE_API_EXT: return DebugSource::API; + case AL_DEBUG_SOURCE_AUDIO_SYSTEM_EXT: return DebugSource::System; + case AL_DEBUG_SOURCE_THIRD_PARTY_EXT: return DebugSource::ThirdParty; + case AL_DEBUG_SOURCE_APPLICATION_EXT: return DebugSource::Application; + case AL_DEBUG_SOURCE_OTHER_EXT: return DebugSource::Other; } return al::nullopt; } @@ -52,15 +52,15 @@ constexpr al::optional<DebugType> GetDebugType(ALenum type) noexcept { switch(type) { - case AL_DEBUG_TYPE_ERROR_SOFT: return DebugType::Error; - case AL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_SOFT: return DebugType::DeprecatedBehavior; - case AL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_SOFT: return DebugType::UndefinedBehavior; - case AL_DEBUG_TYPE_PORTABILITY_SOFT: return DebugType::Portability; - case AL_DEBUG_TYPE_PERFORMANCE_SOFT: return DebugType::Performance; - case AL_DEBUG_TYPE_MARKER_SOFT: return DebugType::Marker; - case AL_DEBUG_TYPE_PUSH_GROUP_SOFT: return DebugType::PushGroup; - case AL_DEBUG_TYPE_POP_GROUP_SOFT: return DebugType::PopGroup; - case AL_DEBUG_TYPE_OTHER_SOFT: return DebugType::Other; + case AL_DEBUG_TYPE_ERROR_EXT: return DebugType::Error; + case AL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_EXT: return DebugType::DeprecatedBehavior; + case AL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_EXT: return DebugType::UndefinedBehavior; + case AL_DEBUG_TYPE_PORTABILITY_EXT: return DebugType::Portability; + case AL_DEBUG_TYPE_PERFORMANCE_EXT: return DebugType::Performance; + case AL_DEBUG_TYPE_MARKER_EXT: return DebugType::Marker; + case AL_DEBUG_TYPE_PUSH_GROUP_EXT: return DebugType::PushGroup; + case AL_DEBUG_TYPE_POP_GROUP_EXT: return DebugType::PopGroup; + case AL_DEBUG_TYPE_OTHER_EXT: return DebugType::Other; } return al::nullopt; } @@ -69,10 +69,10 @@ constexpr al::optional<DebugSeverity> GetDebugSeverity(ALenum severity) noexcept { switch(severity) { - case AL_DEBUG_SEVERITY_HIGH_SOFT: return DebugSeverity::High; - case AL_DEBUG_SEVERITY_MEDIUM_SOFT: return DebugSeverity::Medium; - case AL_DEBUG_SEVERITY_LOW_SOFT: return DebugSeverity::Low; - case AL_DEBUG_SEVERITY_NOTIFICATION_SOFT: return DebugSeverity::Notification; + case AL_DEBUG_SEVERITY_HIGH_EXT: return DebugSeverity::High; + case AL_DEBUG_SEVERITY_MEDIUM_EXT: return DebugSeverity::Medium; + case AL_DEBUG_SEVERITY_LOW_EXT: return DebugSeverity::Low; + case AL_DEBUG_SEVERITY_NOTIFICATION_EXT: return DebugSeverity::Notification; } return al::nullopt; } @@ -82,11 +82,11 @@ ALenum GetDebugSourceEnum(DebugSource source) { switch(source) { - case DebugSource::API: return AL_DEBUG_SOURCE_API_SOFT; - case DebugSource::System: return AL_DEBUG_SOURCE_AUDIO_SYSTEM_SOFT; - case DebugSource::ThirdParty: return AL_DEBUG_SOURCE_THIRD_PARTY_SOFT; - case DebugSource::Application: return AL_DEBUG_SOURCE_APPLICATION_SOFT; - case DebugSource::Other: return AL_DEBUG_SOURCE_OTHER_SOFT; + case DebugSource::API: return AL_DEBUG_SOURCE_API_EXT; + case DebugSource::System: return AL_DEBUG_SOURCE_AUDIO_SYSTEM_EXT; + case DebugSource::ThirdParty: return AL_DEBUG_SOURCE_THIRD_PARTY_EXT; + case DebugSource::Application: return AL_DEBUG_SOURCE_APPLICATION_EXT; + case DebugSource::Other: return AL_DEBUG_SOURCE_OTHER_EXT; } throw std::runtime_error{"Unexpected debug source value "+std::to_string(al::to_underlying(source))}; } @@ -95,15 +95,15 @@ ALenum GetDebugTypeEnum(DebugType type) { switch(type) { - case DebugType::Error: return AL_DEBUG_TYPE_ERROR_SOFT; - case DebugType::DeprecatedBehavior: return AL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_SOFT; - case DebugType::UndefinedBehavior: return AL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_SOFT; - case DebugType::Portability: return AL_DEBUG_TYPE_PORTABILITY_SOFT; - case DebugType::Performance: return AL_DEBUG_TYPE_PERFORMANCE_SOFT; - case DebugType::Marker: return AL_DEBUG_TYPE_MARKER_SOFT; - case DebugType::PushGroup: return AL_DEBUG_TYPE_PUSH_GROUP_SOFT; - case DebugType::PopGroup: return AL_DEBUG_TYPE_POP_GROUP_SOFT; - case DebugType::Other: return AL_DEBUG_TYPE_OTHER_SOFT; + case DebugType::Error: return AL_DEBUG_TYPE_ERROR_EXT; + case DebugType::DeprecatedBehavior: return AL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_EXT; + case DebugType::UndefinedBehavior: return AL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_EXT; + case DebugType::Portability: return AL_DEBUG_TYPE_PORTABILITY_EXT; + case DebugType::Performance: return AL_DEBUG_TYPE_PERFORMANCE_EXT; + case DebugType::Marker: return AL_DEBUG_TYPE_MARKER_EXT; + case DebugType::PushGroup: return AL_DEBUG_TYPE_PUSH_GROUP_EXT; + case DebugType::PopGroup: return AL_DEBUG_TYPE_POP_GROUP_EXT; + case DebugType::Other: return AL_DEBUG_TYPE_OTHER_EXT; } throw std::runtime_error{"Unexpected debug type value "+std::to_string(al::to_underlying(type))}; } @@ -112,14 +112,57 @@ ALenum GetDebugSeverityEnum(DebugSeverity severity) { switch(severity) { - case DebugSeverity::High: return AL_DEBUG_SEVERITY_HIGH_SOFT; - case DebugSeverity::Medium: return AL_DEBUG_SEVERITY_MEDIUM_SOFT; - case DebugSeverity::Low: return AL_DEBUG_SEVERITY_LOW_SOFT; - case DebugSeverity::Notification: return AL_DEBUG_SEVERITY_NOTIFICATION_SOFT; + case DebugSeverity::High: return AL_DEBUG_SEVERITY_HIGH_EXT; + case DebugSeverity::Medium: return AL_DEBUG_SEVERITY_MEDIUM_EXT; + case DebugSeverity::Low: return AL_DEBUG_SEVERITY_LOW_EXT; + case DebugSeverity::Notification: return AL_DEBUG_SEVERITY_NOTIFICATION_EXT; } throw std::runtime_error{"Unexpected debug severity value "+std::to_string(al::to_underlying(severity))}; } + +const char *GetDebugSourceName(DebugSource source) +{ + switch(source) + { + case DebugSource::API: return "API"; + case DebugSource::System: return "Audio System"; + case DebugSource::ThirdParty: return "Third Party"; + case DebugSource::Application: return "Application"; + case DebugSource::Other: return "Other"; + } + return "<invalid source>"; +} + +const char *GetDebugTypeName(DebugType type) +{ + switch(type) + { + case DebugType::Error: return "Error"; + case DebugType::DeprecatedBehavior: return "Deprecated Behavior"; + case DebugType::UndefinedBehavior: return "Undefined Behavior"; + case DebugType::Portability: return "Portability"; + case DebugType::Performance: return "Performance"; + case DebugType::Marker: return "Marker"; + case DebugType::PushGroup: return "Push Group"; + case DebugType::PopGroup: return "Pop Group"; + case DebugType::Other: return "Other"; + } + return "<invalid type>"; +} + +const char *GetDebugSeverityName(DebugSeverity severity) +{ + switch(severity) + { + case DebugSeverity::High: return "High"; + case DebugSeverity::Medium: return "Medium"; + case DebugSeverity::Low: return "Low"; + case DebugSeverity::Notification: return "Notification"; + } + return "<invalid severity>"; +} + } // namespace @@ -178,18 +221,18 @@ void ALCcontext::sendDebugMessage(std::unique_lock<std::mutex> &debuglock, Debug mDebugLog.emplace_back(source, type, id, severity, message); else UNLIKELY ERR("Debug message log overflow. Lost message:\n" - " Source: 0x%04x\n" - " Type: 0x%04x\n" + " Source: %s\n" + " Type: %s\n" " ID: %u\n" - " Severity: 0x%04x\n" + " Severity: %s\n" " Message: \"%s\"\n", - GetDebugSourceEnum(source), GetDebugTypeEnum(type), id, - GetDebugSeverityEnum(severity), message); + GetDebugSourceName(source), GetDebugTypeName(type), id, + GetDebugSeverityName(severity), message); } } -FORCE_ALIGN void AL_APIENTRY alDebugMessageCallbackSOFT(ALDEBUGPROCSOFT callback, void *userParam) noexcept +FORCE_ALIGN void AL_APIENTRY alDebugMessageCallbackEXT(ALDEBUGPROCEXT callback, void *userParam) noexcept { ContextRef context{GetContextRef()}; if(!context) UNLIKELY return; @@ -199,7 +242,7 @@ FORCE_ALIGN void AL_APIENTRY alDebugMessageCallbackSOFT(ALDEBUGPROCSOFT callback context->mDebugParam = userParam; } -FORCE_ALIGN void AL_APIENTRY alDebugMessageInsertSOFT(ALenum source, ALenum type, ALuint id, +FORCE_ALIGN void AL_APIENTRY alDebugMessageInsertEXT(ALenum source, ALenum type, ALuint id, ALenum severity, ALsizei length, const ALchar *message) noexcept { ContextRef context{GetContextRef()}; @@ -238,7 +281,7 @@ FORCE_ALIGN void AL_APIENTRY alDebugMessageInsertSOFT(ALenum source, ALenum type } -FORCE_ALIGN void AL_APIENTRY alDebugMessageControlSOFT(ALenum source, ALenum type, ALenum severity, +FORCE_ALIGN void AL_APIENTRY alDebugMessageControlEXT(ALenum source, ALenum type, ALenum severity, ALsizei count, const ALuint *ids, ALboolean enable) noexcept { ContextRef context{GetContextRef()}; @@ -248,15 +291,15 @@ FORCE_ALIGN void AL_APIENTRY alDebugMessageControlSOFT(ALenum source, ALenum typ { if(!ids) return context->setError(AL_INVALID_VALUE, "IDs is null with non-0 count"); - if(source == AL_DONT_CARE_SOFT) + if(source == AL_DONT_CARE_EXT) return context->setError(AL_INVALID_OPERATION, - "Debug source cannot be AL_DONT_CARE_SOFT with IDs"); - if(type == AL_DONT_CARE_SOFT) + "Debug source cannot be AL_DONT_CARE_EXT with IDs"); + if(type == AL_DONT_CARE_EXT) return context->setError(AL_INVALID_OPERATION, - "Debug type cannot be AL_DONT_CARE_SOFT with IDs"); - if(severity != AL_DONT_CARE_SOFT) + "Debug type cannot be AL_DONT_CARE_EXT with IDs"); + if(severity != AL_DONT_CARE_EXT) return context->setError(AL_INVALID_OPERATION, - "Debug severity must be AL_DONT_CARE_SOFT with IDs"); + "Debug severity must be AL_DONT_CARE_EXT with IDs"); } if(enable != AL_TRUE && enable != AL_FALSE) @@ -266,7 +309,7 @@ FORCE_ALIGN void AL_APIENTRY alDebugMessageControlSOFT(ALenum source, ALenum typ static constexpr auto Values = make_array<uint,ElemCount>(); al::span<const uint> srcIndices{al::as_span(Values).subspan<DebugSourceBase,DebugSourceCount>()}; - if(source != AL_DONT_CARE_SOFT) + if(source != AL_DONT_CARE_EXT) { auto dsource = GetDebugSource(source); if(!dsource) @@ -275,7 +318,7 @@ FORCE_ALIGN void AL_APIENTRY alDebugMessageControlSOFT(ALenum source, ALenum typ } al::span<const uint> typeIndices{al::as_span(Values).subspan<DebugTypeBase,DebugTypeCount>()}; - if(type != AL_DONT_CARE_SOFT) + if(type != AL_DONT_CARE_EXT) { auto dtype = GetDebugType(type); if(!dtype) @@ -284,7 +327,7 @@ FORCE_ALIGN void AL_APIENTRY alDebugMessageControlSOFT(ALenum source, ALenum typ } al::span<const uint> svrIndices{al::as_span(Values).subspan<DebugSeverityBase,DebugSeverityCount>()}; - if(severity != AL_DONT_CARE_SOFT) + if(severity != AL_DONT_CARE_EXT) { auto dseverity = GetDebugSeverity(severity); if(!dseverity) @@ -336,7 +379,7 @@ FORCE_ALIGN void AL_APIENTRY alDebugMessageControlSOFT(ALenum source, ALenum typ } -FORCE_ALIGN void AL_APIENTRY alPushDebugGroupSOFT(ALenum source, ALuint id, ALsizei length, const ALchar *message) noexcept +FORCE_ALIGN void AL_APIENTRY alPushDebugGroupEXT(ALenum source, ALuint id, ALsizei length, const ALchar *message) noexcept { ContextRef context{GetContextRef()}; if(!context) UNLIKELY return; @@ -363,7 +406,7 @@ FORCE_ALIGN void AL_APIENTRY alPushDebugGroupSOFT(ALenum source, ALuint id, ALsi if(context->mDebugGroups.size() >= MaxDebugGroupDepth) { debuglock.unlock(); - return context->setError(AL_STACK_OVERFLOW_SOFT, "Pushing too many debug groups"); + return context->setError(AL_STACK_OVERFLOW_EXT, "Pushing too many debug groups"); } context->mDebugGroups.emplace_back(*dsource, id, message); @@ -378,7 +421,7 @@ FORCE_ALIGN void AL_APIENTRY alPushDebugGroupSOFT(ALenum source, ALuint id, ALsi newback.mMessage.data()); } -FORCE_ALIGN void AL_APIENTRY alPopDebugGroupSOFT(void) noexcept +FORCE_ALIGN void AL_APIENTRY alPopDebugGroupEXT(void) noexcept { ContextRef context{GetContextRef()}; if(!context) UNLIKELY return; @@ -387,7 +430,7 @@ FORCE_ALIGN void AL_APIENTRY alPopDebugGroupSOFT(void) noexcept if(context->mDebugGroups.size() <= 1) { debuglock.unlock(); - return context->setError(AL_STACK_UNDERFLOW_SOFT, + return context->setError(AL_STACK_UNDERFLOW_EXT, "Attempting to pop the default debug group"); } @@ -402,7 +445,7 @@ FORCE_ALIGN void AL_APIENTRY alPopDebugGroupSOFT(void) noexcept } -FORCE_ALIGN ALuint AL_APIENTRY alGetDebugMessageLogSOFT(ALuint count, ALsizei logBufSize, +FORCE_ALIGN ALuint AL_APIENTRY alGetDebugMessageLogEXT(ALuint count, ALsizei logBufSize, ALenum *sources, ALenum *types, ALuint *ids, ALenum *severities, ALsizei *lengths, ALchar *logBuf) noexcept { diff --git a/al/state.cpp b/al/state.cpp index 7f75268f..71c9b703 100644 --- a/al/state.cpp +++ b/al/state.cpp @@ -145,11 +145,11 @@ enum PropertyValue : ALenum { GainLimit = AL_GAIN_LIMIT_SOFT, NumResamplers = AL_NUM_RESAMPLERS_SOFT, DefaultResampler = AL_DEFAULT_RESAMPLER_SOFT, - DebugLoggedMessages = AL_DEBUG_LOGGED_MESSAGES_SOFT, - DebugNextLoggedMessageLength = AL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_SOFT, - MaxDebugMessageLength = AL_MAX_DEBUG_MESSAGE_LENGTH_SOFT, - MaxDebugLoggedMessages = AL_MAX_DEBUG_LOGGED_MESSAGES_SOFT, - MaxDebugGroupDepth = AL_MAX_DEBUG_GROUP_STACK_DEPTH_SOFT, + DebugLoggedMessages = AL_DEBUG_LOGGED_MESSAGES_EXT, + DebugNextLoggedMessageLength = AL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_EXT, + MaxDebugMessageLength = AL_MAX_DEBUG_MESSAGE_LENGTH_EXT, + MaxDebugLoggedMessages = AL_MAX_DEBUG_LOGGED_MESSAGES_EXT, + MaxDebugGroupDepth = AL_MAX_DEBUG_GROUP_STACK_DEPTH_EXT, #ifdef ALSOFT_EAX EaxRamSize = AL_EAX_RAM_SIZE, EaxRamFree = AL_EAX_RAM_FREE, @@ -214,14 +214,14 @@ void GetValue(ALCcontext *context, ALenum pname, T *values) *values = cast_value(al::to_underlying(ResamplerDefault)); return; - case AL_DEBUG_LOGGED_MESSAGES_SOFT: + case AL_DEBUG_LOGGED_MESSAGES_EXT: { std::lock_guard<std::mutex> _{context->mDebugCbLock}; *values = cast_value(context->mDebugLog.size()); return; } - case AL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_SOFT: + case AL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_EXT: { std::lock_guard<std::mutex> _{context->mDebugCbLock}; *values = cast_value(context->mDebugLog.empty() ? size_t{0} @@ -229,15 +229,15 @@ void GetValue(ALCcontext *context, ALenum pname, T *values) return; } - case AL_MAX_DEBUG_MESSAGE_LENGTH_SOFT: + case AL_MAX_DEBUG_MESSAGE_LENGTH_EXT: *values = cast_value(MaxDebugMessageLength); return; - case AL_MAX_DEBUG_LOGGED_MESSAGES_SOFT: + case AL_MAX_DEBUG_LOGGED_MESSAGES_EXT: *values = cast_value(MaxDebugLoggedMessages); return; - case AL_MAX_DEBUG_GROUP_STACK_DEPTH_SOFT: + case AL_MAX_DEBUG_GROUP_STACK_DEPTH_EXT: *values = cast_value(MaxDebugGroupDepth); return; @@ -310,7 +310,7 @@ START_API_FUNC } break; - case AL_DEBUG_OUTPUT_SOFT: + case AL_DEBUG_OUTPUT_EXT: context->mDebugEnabled = true; break; @@ -340,7 +340,7 @@ START_API_FUNC } break; - case AL_DEBUG_OUTPUT_SOFT: + case AL_DEBUG_OUTPUT_EXT: context->mDebugEnabled = false; break; @@ -368,7 +368,7 @@ START_API_FUNC value = context->mSourceDistanceModel ? AL_TRUE : AL_FALSE; break; - case AL_DEBUG_OUTPUT_SOFT: + case AL_DEBUG_OUTPUT_EXT: value = context->mDebugEnabled ? AL_TRUE : AL_FALSE; break; @@ -517,11 +517,11 @@ START_API_FUNC *values = context->mEventParam; break; - case AL_DEBUG_CALLBACK_FUNCTION_SOFT: + case AL_DEBUG_CALLBACK_FUNCTION_EXT: *values = reinterpret_cast<void*>(context->mDebugCb); break; - case AL_DEBUG_CALLBACK_USER_PARAM_SOFT: + case AL_DEBUG_CALLBACK_USER_PARAM_EXT: *values = context->mDebugParam; break; @@ -580,11 +580,11 @@ START_API_FUNC value = alErrOutOfMemory; break; - case AL_STACK_OVERFLOW_SOFT: + case AL_STACK_OVERFLOW_EXT: value = alStackOverflow; break; - case AL_STACK_UNDERFLOW_SOFT: + case AL_STACK_UNDERFLOW_EXT: value = alStackUnderflow; break; diff --git a/alc/alc.cpp b/alc/alc.cpp index 50982ed2..de5bc232 100644 --- a/alc/alc.cpp +++ b/alc/alc.cpp @@ -461,12 +461,12 @@ const struct { DECL(alBufferDataStatic), - DECL(alDebugMessageCallbackSOFT), - DECL(alDebugMessageInsertSOFT), - DECL(alDebugMessageControlSOFT), - DECL(alPushDebugGroupSOFT), - DECL(alPopDebugGroupSOFT), - DECL(alGetDebugMessageLogSOFT), + DECL(alDebugMessageCallbackEXT), + DECL(alDebugMessageInsertEXT), + DECL(alDebugMessageControlEXT), + DECL(alPushDebugGroupEXT), + DECL(alPopDebugGroupEXT), + DECL(alGetDebugMessageLogEXT), #ifdef ALSOFT_EAX }, eaxFunctions[] = { DECL(EAXGet), @@ -923,35 +923,35 @@ constexpr struct { DECL(AL_FORMAT_UHJ4CHN_MULAW_SOFT), DECL(AL_FORMAT_UHJ4CHN_ALAW_SOFT), - DECL(AL_DONT_CARE_SOFT), - DECL(AL_DEBUG_OUTPUT_SOFT), - DECL(AL_DEBUG_CALLBACK_FUNCTION_SOFT), - DECL(AL_DEBUG_CALLBACK_USER_PARAM_SOFT), - DECL(AL_DEBUG_SOURCE_API_SOFT), - DECL(AL_DEBUG_SOURCE_AUDIO_SYSTEM_SOFT), - DECL(AL_DEBUG_SOURCE_THIRD_PARTY_SOFT), - DECL(AL_DEBUG_SOURCE_APPLICATION_SOFT), - DECL(AL_DEBUG_SOURCE_OTHER_SOFT), - DECL(AL_DEBUG_TYPE_ERROR_SOFT), - DECL(AL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_SOFT), - DECL(AL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_SOFT), - DECL(AL_DEBUG_TYPE_PORTABILITY_SOFT), - DECL(AL_DEBUG_TYPE_PERFORMANCE_SOFT), - DECL(AL_DEBUG_TYPE_MARKER_SOFT), - DECL(AL_DEBUG_TYPE_PUSH_GROUP_SOFT), - DECL(AL_DEBUG_TYPE_POP_GROUP_SOFT), - DECL(AL_DEBUG_TYPE_OTHER_SOFT), - DECL(AL_DEBUG_SEVERITY_HIGH_SOFT), - DECL(AL_DEBUG_SEVERITY_MEDIUM_SOFT), - DECL(AL_DEBUG_SEVERITY_LOW_SOFT), - DECL(AL_DEBUG_SEVERITY_NOTIFICATION_SOFT), - DECL(AL_DEBUG_LOGGED_MESSAGES_SOFT), - DECL(AL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_SOFT), - DECL(AL_MAX_DEBUG_MESSAGE_LENGTH_SOFT), - DECL(AL_MAX_DEBUG_LOGGED_MESSAGES_SOFT), - DECL(AL_MAX_DEBUG_GROUP_STACK_DEPTH_SOFT), - DECL(AL_STACK_OVERFLOW_SOFT), - DECL(AL_STACK_UNDERFLOW_SOFT), + DECL(AL_DONT_CARE_EXT), + DECL(AL_DEBUG_OUTPUT_EXT), + DECL(AL_DEBUG_CALLBACK_FUNCTION_EXT), + DECL(AL_DEBUG_CALLBACK_USER_PARAM_EXT), + DECL(AL_DEBUG_SOURCE_API_EXT), + DECL(AL_DEBUG_SOURCE_AUDIO_SYSTEM_EXT), + DECL(AL_DEBUG_SOURCE_THIRD_PARTY_EXT), + DECL(AL_DEBUG_SOURCE_APPLICATION_EXT), + DECL(AL_DEBUG_SOURCE_OTHER_EXT), + DECL(AL_DEBUG_TYPE_ERROR_EXT), + DECL(AL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_EXT), + DECL(AL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_EXT), + DECL(AL_DEBUG_TYPE_PORTABILITY_EXT), + DECL(AL_DEBUG_TYPE_PERFORMANCE_EXT), + DECL(AL_DEBUG_TYPE_MARKER_EXT), + DECL(AL_DEBUG_TYPE_PUSH_GROUP_EXT), + DECL(AL_DEBUG_TYPE_POP_GROUP_EXT), + DECL(AL_DEBUG_TYPE_OTHER_EXT), + DECL(AL_DEBUG_SEVERITY_HIGH_EXT), + DECL(AL_DEBUG_SEVERITY_MEDIUM_EXT), + DECL(AL_DEBUG_SEVERITY_LOW_EXT), + DECL(AL_DEBUG_SEVERITY_NOTIFICATION_EXT), + DECL(AL_DEBUG_LOGGED_MESSAGES_EXT), + DECL(AL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_EXT), + DECL(AL_MAX_DEBUG_MESSAGE_LENGTH_EXT), + DECL(AL_MAX_DEBUG_LOGGED_MESSAGES_EXT), + DECL(AL_MAX_DEBUG_GROUP_STACK_DEPTH_EXT), + DECL(AL_STACK_OVERFLOW_EXT), + DECL(AL_STACK_UNDERFLOW_EXT), DECL(AL_STOP_SOURCES_ON_DISCONNECT_SOFT), diff --git a/alc/context.cpp b/alc/context.cpp index 0c8253fb..6a2f57ca 100644 --- a/alc/context.cpp +++ b/alc/context.cpp @@ -51,6 +51,7 @@ using voidp = void*; constexpr ALchar alExtList[] = "AL_EXT_ALAW " "AL_EXT_BFORMAT " + "AL_EXTX_DEBUG " "AL_EXT_DOUBLE " "AL_EXT_EXPONENT_DISTANCE " "AL_EXT_FLOAT32 " @@ -72,7 +73,6 @@ constexpr ALchar alExtList[] = "AL_SOFT_buffer_length_query " "AL_SOFT_callback_buffer " "AL_SOFTX_convolution_reverb " - "AL_SOFTX_debug " "AL_SOFT_deferred_updates " "AL_SOFT_direct_channels " "AL_SOFT_direct_channels_remix " diff --git a/alc/context.h b/alc/context.h index d74bc8d1..9381db04 100644 --- a/alc/context.h +++ b/alc/context.h @@ -118,7 +118,7 @@ struct ALCcontext : public al::intrusive_ref<ALCcontext>, ContextBase { void *mEventParam{nullptr}; std::mutex mDebugCbLock; - ALDEBUGPROCSOFT mDebugCb{}; + ALDEBUGPROCEXT mDebugCb{}; void *mDebugParam{nullptr}; std::vector<DebugGroup> mDebugGroups; std::deque<DebugLogEntry> mDebugLog; diff --git a/alc/inprogext.h b/alc/inprogext.h index 7f9d7766..9db3b65b 100644 --- a/alc/inprogext.h +++ b/alc/inprogext.h @@ -54,52 +54,52 @@ AL_API void AL_APIENTRY alAuxiliaryEffectSlotStopvSOFT(ALsizei n, const ALuint * #define AL_STOP_SOURCES_ON_DISCONNECT_SOFT 0x19AB #endif -#ifndef AL_SOFT_debug -#define AL_SOFT_debug -#define AL_DONT_CARE_SOFT 0x0002 -#define AL_DEBUG_OUTPUT_SOFT 0x19B2 -#define AL_DEBUG_CALLBACK_FUNCTION_SOFT 0x19B3 -#define AL_DEBUG_CALLBACK_USER_PARAM_SOFT 0x19B4 -#define AL_DEBUG_SOURCE_API_SOFT 0x19B5 -#define AL_DEBUG_SOURCE_AUDIO_SYSTEM_SOFT 0x19B6 -#define AL_DEBUG_SOURCE_THIRD_PARTY_SOFT 0x19B7 -#define AL_DEBUG_SOURCE_APPLICATION_SOFT 0x19B8 -#define AL_DEBUG_SOURCE_OTHER_SOFT 0x19B9 -#define AL_DEBUG_TYPE_ERROR_SOFT 0x19BA -#define AL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_SOFT 0x19BB -#define AL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_SOFT 0x19BC -#define AL_DEBUG_TYPE_PORTABILITY_SOFT 0x19BD -#define AL_DEBUG_TYPE_PERFORMANCE_SOFT 0x19BE -#define AL_DEBUG_TYPE_MARKER_SOFT 0x19BF -#define AL_DEBUG_TYPE_PUSH_GROUP_SOFT 0x19C0 -#define AL_DEBUG_TYPE_POP_GROUP_SOFT 0x19C1 -#define AL_DEBUG_TYPE_OTHER_SOFT 0x19C2 -#define AL_DEBUG_SEVERITY_HIGH_SOFT 0x19C3 -#define AL_DEBUG_SEVERITY_MEDIUM_SOFT 0x19C4 -#define AL_DEBUG_SEVERITY_LOW_SOFT 0x19C5 -#define AL_DEBUG_SEVERITY_NOTIFICATION_SOFT 0x19C6 -#define AL_DEBUG_LOGGED_MESSAGES_SOFT 0x19C7 -#define AL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_SOFT 0x19C8 -#define AL_MAX_DEBUG_MESSAGE_LENGTH_SOFT 0x19C9 -#define AL_MAX_DEBUG_LOGGED_MESSAGES_SOFT 0x19CA -#define AL_MAX_DEBUG_GROUP_STACK_DEPTH_SOFT 0x19CB -#define AL_STACK_OVERFLOW_SOFT 0x19CC -#define AL_STACK_UNDERFLOW_SOFT 0x19CD +#ifndef AL_EXT_DEBUG +#define AL_EXT_DEBUG +#define AL_DONT_CARE_EXT 0x0002 +#define AL_DEBUG_OUTPUT_EXT 0x19B2 +#define AL_DEBUG_CALLBACK_FUNCTION_EXT 0x19B3 +#define AL_DEBUG_CALLBACK_USER_PARAM_EXT 0x19B4 +#define AL_DEBUG_SOURCE_API_EXT 0x19B5 +#define AL_DEBUG_SOURCE_AUDIO_SYSTEM_EXT 0x19B6 +#define AL_DEBUG_SOURCE_THIRD_PARTY_EXT 0x19B7 +#define AL_DEBUG_SOURCE_APPLICATION_EXT 0x19B8 +#define AL_DEBUG_SOURCE_OTHER_EXT 0x19B9 +#define AL_DEBUG_TYPE_ERROR_EXT 0x19BA +#define AL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_EXT 0x19BB +#define AL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_EXT 0x19BC +#define AL_DEBUG_TYPE_PORTABILITY_EXT 0x19BD +#define AL_DEBUG_TYPE_PERFORMANCE_EXT 0x19BE +#define AL_DEBUG_TYPE_MARKER_EXT 0x19BF +#define AL_DEBUG_TYPE_PUSH_GROUP_EXT 0x19C0 +#define AL_DEBUG_TYPE_POP_GROUP_EXT 0x19C1 +#define AL_DEBUG_TYPE_OTHER_EXT 0x19C2 +#define AL_DEBUG_SEVERITY_HIGH_EXT 0x19C3 +#define AL_DEBUG_SEVERITY_MEDIUM_EXT 0x19C4 +#define AL_DEBUG_SEVERITY_LOW_EXT 0x19C5 +#define AL_DEBUG_SEVERITY_NOTIFICATION_EXT 0x19C6 +#define AL_DEBUG_LOGGED_MESSAGES_EXT 0x19C7 +#define AL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_EXT 0x19C8 +#define AL_MAX_DEBUG_MESSAGE_LENGTH_EXT 0x19C9 +#define AL_MAX_DEBUG_LOGGED_MESSAGES_EXT 0x19CA +#define AL_MAX_DEBUG_GROUP_STACK_DEPTH_EXT 0x19CB +#define AL_STACK_OVERFLOW_EXT 0x19CC +#define AL_STACK_UNDERFLOW_EXT 0x19CD -typedef void (AL_APIENTRY*ALDEBUGPROCSOFT)(ALenum source, ALenum type, ALuint id, ALenum severity, ALsizei length, const ALchar *message, void *userParam); -typedef void (AL_APIENTRY*LPALDEBUGMESSAGECALLBACKSOFT)(ALDEBUGPROCSOFT callback, void *userParam); -typedef void (AL_APIENTRY*LPALDEBUGMESSAGEINSERTSOFT)(ALenum source, ALenum type, ALuint id, ALenum severity, ALsizei length, const ALchar *message); -typedef void (AL_APIENTRY*LPALDEBUGMESSAGECONTROLSOFT)(ALenum source, ALenum type, ALenum severity, ALsizei count, const ALuint *ids, ALboolean enable); -typedef void (AL_APIENTRY*LPALPUSHDEBUGGROUPSOFT)(ALenum source, ALuint id, ALsizei length, const ALchar *message); -typedef void (AL_APIENTRY*LPALPOPDEBUGGROUPSOFT)(void); -typedef ALuint (AL_APIENTRY*LPALGETDEBUGMESSAGELOGSOFT)(ALuint count, ALsizei logBufSize, ALenum *sources, ALenum *types, ALuint *ids, ALenum *severities, ALsizei *lengths, ALchar *logBuf); +typedef void (AL_APIENTRY*ALDEBUGPROCEXT)(ALenum source, ALenum type, ALuint id, ALenum severity, ALsizei length, const ALchar *message, void *userParam); +typedef void (AL_APIENTRY*LPALDEBUGMESSAGECALLBACKEXT)(ALDEBUGPROCEXT callback, void *userParam); +typedef void (AL_APIENTRY*LPALDEBUGMESSAGEINSERTEXT)(ALenum source, ALenum type, ALuint id, ALenum severity, ALsizei length, const ALchar *message); +typedef void (AL_APIENTRY*LPALDEBUGMESSAGECONTROLEXT)(ALenum source, ALenum type, ALenum severity, ALsizei count, const ALuint *ids, ALboolean enable); +typedef void (AL_APIENTRY*LPALPUSHDEBUGGROUPEXT)(ALenum source, ALuint id, ALsizei length, const ALchar *message); +typedef void (AL_APIENTRY*LPALPOPDEBUGGROUPEXT)(void); +typedef ALuint (AL_APIENTRY*LPALGETDEBUGMESSAGELOGEXT)(ALuint count, ALsizei logBufSize, ALenum *sources, ALenum *types, ALuint *ids, ALenum *severities, ALsizei *lengths, ALchar *logBuf); #ifdef AL_ALEXT_PROTOTYPES -void AL_APIENTRY alDebugMessageCallbackSOFT(ALDEBUGPROCSOFT callback, void *userParam) noexcept; -void AL_APIENTRY alDebugMessageInsertSOFT(ALenum source, ALenum type, ALuint id, ALenum severity, ALsizei length, const ALchar *message) noexcept; -void AL_APIENTRY alDebugMessageControlSOFT(ALenum source, ALenum type, ALenum severity, ALsizei count, const ALuint *ids, ALboolean enable) noexcept; -void AL_APIENTRY alPushDebugGroupSOFT(ALenum source, ALuint id, ALsizei length, const ALchar *message) noexcept; -void AL_APIENTRY alPopDebugGroupSOFT(void) noexcept; -ALuint AL_APIENTRY alGetDebugMessageLogSOFT(ALuint count, ALsizei logBufSize, ALenum *sources, ALenum *types, ALuint *ids, ALenum *severities, ALsizei *lengths, ALchar *logBuf) noexcept; +void AL_APIENTRY alDebugMessageCallbackEXT(ALDEBUGPROCEXT callback, void *userParam) noexcept; +void AL_APIENTRY alDebugMessageInsertEXT(ALenum source, ALenum type, ALuint id, ALenum severity, ALsizei length, const ALchar *message) noexcept; +void AL_APIENTRY alDebugMessageControlEXT(ALenum source, ALenum type, ALenum severity, ALsizei count, const ALuint *ids, ALboolean enable) noexcept; +void AL_APIENTRY alPushDebugGroupEXT(ALenum source, ALuint id, ALsizei length, const ALchar *message) noexcept; +void AL_APIENTRY alPopDebugGroupEXT(void) noexcept; +ALuint AL_APIENTRY alGetDebugMessageLogEXT(ALuint count, ALsizei logBufSize, ALenum *sources, ALenum *types, ALuint *ids, ALenum *severities, ALsizei *lengths, ALchar *logBuf) noexcept; #endif #endif |