aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--al/debug.cpp159
-rw-r--r--al/state.cpp34
-rw-r--r--alc/alc.cpp70
-rw-r--r--alc/context.cpp2
-rw-r--r--alc/context.h2
-rw-r--r--alc/inprogext.h88
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