aboutsummaryrefslogtreecommitdiffstats
path: root/al
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2020-10-13 01:21:44 -0700
committerChris Robinson <[email protected]>2020-10-13 01:21:44 -0700
commit303ca3af72aa7aecc25d94690f3886085c5c6e5b (patch)
tree05c0a6626b7884a76d181c8972d04f69800c2ece /al
parent45ff10fb4d847662ec7d1048f7e740c0ca55cf27 (diff)
Use inline functions for popcnt and ctz instead of macros
Diffstat (limited to 'al')
-rw-r--r--al/auxeffectslot.cpp6
-rw-r--r--al/buffer.cpp7
-rw-r--r--al/effect.cpp7
-rw-r--r--al/filter.cpp7
-rw-r--r--al/source.cpp7
5 files changed, 15 insertions, 19 deletions
diff --git a/al/auxeffectslot.cpp b/al/auxeffectslot.cpp
index 00dce6c4..74005aaa 100644
--- a/al/auxeffectslot.cpp
+++ b/al/auxeffectslot.cpp
@@ -177,7 +177,7 @@ bool EnsureEffectSlots(ALCcontext *context, size_t needed)
size_t count{std::accumulate(context->mEffectSlotList.cbegin(),
context->mEffectSlotList.cend(), size_t{0},
[](size_t cur, const EffectSlotSubList &sublist) noexcept -> size_t
- { return cur + static_cast<ALuint>(POPCNT64(sublist.FreeMask)); }
+ { return cur + static_cast<ALuint>(PopCount(sublist.FreeMask)); }
)};
while(needed > count)
@@ -207,7 +207,7 @@ ALeffectslot *AllocEffectSlot(ALCcontext *context)
{ return entry.FreeMask != 0; }
);
auto lidx = static_cast<ALuint>(std::distance(context->mEffectSlotList.begin(), sublist));
- auto slidx = static_cast<ALuint>(CTZ64(sublist->FreeMask));
+ auto slidx = static_cast<ALuint>(CountTrailingZeros(sublist->FreeMask));
ALeffectslot *slot{::new (sublist->EffectSlots + slidx) ALeffectslot{}};
if(ALenum err{slot->init()})
@@ -942,7 +942,7 @@ EffectSlotSubList::~EffectSlotSubList()
uint64_t usemask{~FreeMask};
while(usemask)
{
- ALsizei idx{CTZ64(usemask)};
+ const ALsizei idx{CountTrailingZeros(usemask)};
al::destroy_at(EffectSlots+idx);
usemask &= ~(1_u64 << idx);
}
diff --git a/al/buffer.cpp b/al/buffer.cpp
index f43c756f..524fb81c 100644
--- a/al/buffer.cpp
+++ b/al/buffer.cpp
@@ -286,8 +286,7 @@ bool EnsureBuffers(ALCdevice *device, size_t needed)
{
size_t count{std::accumulate(device->BufferList.cbegin(), device->BufferList.cend(), size_t{0},
[](size_t cur, const BufferSubList &sublist) noexcept -> size_t
- { return cur + static_cast<ALuint>(POPCNT64(sublist.FreeMask)); }
- )};
+ { return cur + static_cast<ALuint>(PopCount(sublist.FreeMask)); })};
while(needed > count)
{
@@ -316,7 +315,7 @@ ALbuffer *AllocBuffer(ALCdevice *device)
);
auto lidx = static_cast<ALuint>(std::distance(device->BufferList.begin(), sublist));
- auto slidx = static_cast<ALuint>(CTZ64(sublist->FreeMask));
+ auto slidx = static_cast<ALuint>(CountTrailingZeros(sublist->FreeMask));
ALbuffer *buffer{::new (sublist->Buffers + slidx) ALbuffer{}};
@@ -1582,7 +1581,7 @@ BufferSubList::~BufferSubList()
uint64_t usemask{~FreeMask};
while(usemask)
{
- ALsizei idx{CTZ64(usemask)};
+ const ALsizei idx{CountTrailingZeros(usemask)};
al::destroy_at(Buffers+idx);
usemask &= ~(1_u64 << idx);
}
diff --git a/al/effect.cpp b/al/effect.cpp
index 350d0e69..a90adf3c 100644
--- a/al/effect.cpp
+++ b/al/effect.cpp
@@ -145,8 +145,7 @@ bool EnsureEffects(ALCdevice *device, size_t needed)
{
size_t count{std::accumulate(device->EffectList.cbegin(), device->EffectList.cend(), size_t{0},
[](size_t cur, const EffectSubList &sublist) noexcept -> size_t
- { return cur + static_cast<ALuint>(POPCNT64(sublist.FreeMask)); }
- )};
+ { return cur + static_cast<ALuint>(PopCount(sublist.FreeMask)); })};
while(needed > count)
{
@@ -174,7 +173,7 @@ ALeffect *AllocEffect(ALCdevice *device)
{ return entry.FreeMask != 0; }
);
auto lidx = static_cast<ALuint>(std::distance(device->EffectList.begin(), sublist));
- auto slidx = static_cast<ALuint>(CTZ64(sublist->FreeMask));
+ auto slidx = static_cast<ALuint>(CountTrailingZeros(sublist->FreeMask));
ALeffect *effect{::new (sublist->Effects + slidx) ALeffect{}};
InitEffectParams(effect, AL_EFFECT_NULL);
@@ -534,7 +533,7 @@ EffectSubList::~EffectSubList()
uint64_t usemask{~FreeMask};
while(usemask)
{
- ALsizei idx = CTZ64(usemask);
+ const ALsizei idx{CountTrailingZeros(usemask)};
al::destroy_at(Effects+idx);
usemask &= ~(1_u64 << idx);
}
diff --git a/al/filter.cpp b/al/filter.cpp
index 19d972e9..447bea7a 100644
--- a/al/filter.cpp
+++ b/al/filter.cpp
@@ -321,8 +321,7 @@ bool EnsureFilters(ALCdevice *device, size_t needed)
{
size_t count{std::accumulate(device->FilterList.cbegin(), device->FilterList.cend(), size_t{0},
[](size_t cur, const FilterSubList &sublist) noexcept -> size_t
- { return cur + static_cast<ALuint>(POPCNT64(sublist.FreeMask)); }
- )};
+ { return cur + static_cast<ALuint>(PopCount(sublist.FreeMask)); })};
while(needed > count)
{
@@ -351,7 +350,7 @@ ALfilter *AllocFilter(ALCdevice *device)
{ return entry.FreeMask != 0; }
);
auto lidx = static_cast<ALuint>(std::distance(device->FilterList.begin(), sublist));
- auto slidx = static_cast<ALuint>(CTZ64(sublist->FreeMask));
+ auto slidx = static_cast<ALuint>(CountTrailingZeros(sublist->FreeMask));
ALfilter *filter{::new(sublist->Filters + slidx) ALfilter{}};
InitFilterParams(filter, AL_FILTER_NULL);
@@ -702,7 +701,7 @@ FilterSubList::~FilterSubList()
uint64_t usemask{~FreeMask};
while(usemask)
{
- ALsizei idx = CTZ64(usemask);
+ const ALsizei idx{CountTrailingZeros(usemask)};
al::destroy_at(Filters+idx);
usemask &= ~(1_u64 << idx);
}
diff --git a/al/source.cpp b/al/source.cpp
index 9771fec7..c16b77e6 100644
--- a/al/source.cpp
+++ b/al/source.cpp
@@ -683,8 +683,7 @@ bool EnsureSources(ALCcontext *context, size_t needed)
size_t count{std::accumulate(context->mSourceList.cbegin(), context->mSourceList.cend(),
size_t{0},
[](size_t cur, const SourceSubList &sublist) noexcept -> size_t
- { return cur + static_cast<ALuint>(POPCNT64(sublist.FreeMask)); }
- )};
+ { return cur + static_cast<ALuint>(PopCount(sublist.FreeMask)); })};
while(needed > count)
{
@@ -712,7 +711,7 @@ ALsource *AllocSource(ALCcontext *context)
{ return entry.FreeMask != 0; }
);
auto lidx = static_cast<ALuint>(std::distance(context->mSourceList.begin(), sublist));
- auto slidx = static_cast<ALuint>(CTZ64(sublist->FreeMask));
+ auto slidx = static_cast<ALuint>(CountTrailingZeros(sublist->FreeMask));
ALsource *source{::new(sublist->Sources + slidx) ALsource{}};
@@ -3410,7 +3409,7 @@ SourceSubList::~SourceSubList()
uint64_t usemask{~FreeMask};
while(usemask)
{
- ALsizei idx{CTZ64(usemask)};
+ const ALsizei idx{CountTrailingZeros(usemask)};
al::destroy_at(Sources+idx);
usemask &= ~(1_u64 << idx);
}