aboutsummaryrefslogtreecommitdiffstats
path: root/alc/context.cpp
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2023-05-01 14:46:26 -0700
committerChris Robinson <[email protected]>2023-05-01 14:46:26 -0700
commit89f67ad6f9878ecfb48b49ce0dd69b9ecb065d0b (patch)
tree0a20a4dcd51bde9620fbc44b5a2938e3e64bb0ab /alc/context.cpp
parentbd8c13d7883cb0a570f724885c7a55ad687dada6 (diff)
Use a 64-bit value for tracking ID filters
Diffstat (limited to 'alc/context.cpp')
-rw-r--r--alc/context.cpp23
1 files changed, 9 insertions, 14 deletions
diff --git a/alc/context.cpp b/alc/context.cpp
index bb4930ee..7d10a91d 100644
--- a/alc/context.cpp
+++ b/alc/context.cpp
@@ -369,21 +369,16 @@ void ALCcontext::sendDebugMessage(DebugSource source, DebugType type, ALuint id,
throw std::runtime_error{"Unexpected debug severity value "+std::to_string(al::to_underlying(severity))};
};
- auto iditer = mDebugIdFilters.find(id);
- if(iditer != mDebugIdFilters.end())
- {
- const uint filter{(1u<<(DebugSourceBase+al::to_underlying(source)))
- | (1u<<(DebugTypeBase+al::to_underlying(type)))};
-
- auto iter = std::lower_bound(iditer->second.cbegin(), iditer->second.cend(), filter);
- if(iter != iditer->second.cend() && *iter == filter)
- return;
- }
-
- const uint filter{(1u<<(DebugSourceBase+al::to_underlying(source)))
- | (1u<<(DebugTypeBase+al::to_underlying(type)))
- | (1u<<(DebugSeverityBase+al::to_underlying(severity)))};
+ const uint64_t idfilter{(1_u64 << (DebugSourceBase+al::to_underlying(source)))
+ | (1_u64 << (DebugTypeBase+al::to_underlying(type)))
+ | (uint64_t{id} << 32)};
+ auto iditer = std::lower_bound(mDebugIdFilters.cbegin(), mDebugIdFilters.cend(), idfilter);
+ if(iditer != mDebugIdFilters.cend() && *iditer == idfilter)
+ return;
+ const uint filter{(1u << (DebugSourceBase+al::to_underlying(source)))
+ | (1u << (DebugTypeBase+al::to_underlying(type)))
+ | (1u << (DebugSeverityBase+al::to_underlying(severity)))};
auto iter = std::lower_bound(mDebugFilters.cbegin(), mDebugFilters.cend(), filter);
if(iter != mDebugFilters.cend() && *iter == filter)
return;