diff options
author | Chris Robinson <[email protected]> | 2023-05-03 10:42:32 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2023-05-03 12:18:42 -0700 |
commit | ce588ea5a3c3ee6c7fce64ec501a03ebaca373d4 (patch) | |
tree | 56bdc75dc41cc4d59b88f086c974bd7a648dbc2a /al/debug.cpp | |
parent | 90b0840d62a123e946e81f514bbe331897da8838 (diff) |
Implement a context debug flag
Setting the debug flag at context creation enables more debug messages for the
created context, and enables debug messages by default.
Diffstat (limited to 'al/debug.cpp')
-rw-r--r-- | al/debug.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/al/debug.cpp b/al/debug.cpp index fa16ff73..786fcd1f 100644 --- a/al/debug.cpp +++ b/al/debug.cpp @@ -248,6 +248,9 @@ FORCE_ALIGN void AL_APIENTRY alDebugMessageInsertEXT(ALenum source, ALenum type, ContextRef context{GetContextRef()}; if(!context) UNLIKELY return; + if(!context->mContextFlags.test(ContextFlags::DebugBit)) + return; + if(!message) return context->setError(AL_INVALID_VALUE, "Null message pointer"); @@ -416,9 +419,10 @@ FORCE_ALIGN void AL_APIENTRY alPushDebugGroupEXT(ALenum source, ALuint id, ALsiz newback.mFilters = oldback.mFilters; newback.mIdFilters = oldback.mIdFilters; - context->sendDebugMessage(debuglock, newback.mSource, DebugType::PushGroup, newback.mId, - DebugSeverity::Notification, static_cast<ALsizei>(newback.mMessage.size()), - newback.mMessage.data()); + if(context->mContextFlags.test(ContextFlags::DebugBit)) + context->sendDebugMessage(debuglock, newback.mSource, DebugType::PushGroup, newback.mId, + DebugSeverity::Notification, static_cast<ALsizei>(newback.mMessage.size()), + newback.mMessage.data()); } FORCE_ALIGN void AL_APIENTRY alPopDebugGroupEXT(void) noexcept @@ -440,8 +444,9 @@ FORCE_ALIGN void AL_APIENTRY alPopDebugGroupEXT(void) noexcept std::string message{std::move(debug.mMessage)}; context->mDebugGroups.pop_back(); - context->sendDebugMessage(debuglock, source, DebugType::PopGroup, id, - DebugSeverity::Notification, static_cast<ALsizei>(message.size()), message.data()); + if(context->mContextFlags.test(ContextFlags::DebugBit)) + context->sendDebugMessage(debuglock, source, DebugType::PopGroup, id, + DebugSeverity::Notification, static_cast<ALsizei>(message.size()), message.data()); } |