aboutsummaryrefslogtreecommitdiffstats
path: root/al/buffer.h
diff options
context:
space:
mode:
authorChris Robinson <chris.kcat@gmail.com>2020-04-04 01:52:29 -0700
committerChris Robinson <chris.kcat@gmail.com>2020-04-04 01:52:29 -0700
commitfc906c97f52fd13549dfdfae229d0dc6d60a2865 (patch)
tree278b33097cd082f85442fe785579e6b78969e652 /al/buffer.h
parent902f5a0dd267e0849e93e863a24a0a350d1696f9 (diff)
Track a buffer's ambisonic order
Diffstat (limited to 'al/buffer.h')
-rw-r--r--al/buffer.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/al/buffer.h b/al/buffer.h
index 44ada667..2e98e927 100644
--- a/al/buffer.h
+++ b/al/buffer.h
@@ -79,6 +79,8 @@ struct ALbuffer {
ALenum AmbiLayout{AL_FUMA_SOFT};
ALenum AmbiScaling{AL_FUMA_SOFT};
+ /* AmbiOrder is only updated when loading new data. */
+ ALuint AmbiOrder{0};
LPALBUFFERCALLBACKTYPESOFT Callback{nullptr};
void *UserData{nullptr};
@@ -88,6 +90,7 @@ struct ALbuffer {
ALuint UnpackAlign{0};
ALuint PackAlign{0};
+ ALuint UnpackAmbiOrder{1};
ALbitfieldSOFT MappedAccess{0u};
ALsizei MappedOffset{0};
@@ -100,7 +103,8 @@ struct ALbuffer {
ALuint id{0};
inline ALuint bytesFromFmt() const noexcept { return BytesFromFmt(mFmtType); }
- inline ALuint channelsFromFmt() const noexcept { return ChannelsFromFmt(mFmtChannels, 1); }
+ inline ALuint channelsFromFmt() const noexcept
+ { return ChannelsFromFmt(mFmtChannels, AmbiOrder); }
inline ALuint frameSizeFromFmt() const noexcept { return channelsFromFmt() * bytesFromFmt(); }
DISABLE_ALLOC()