aboutsummaryrefslogtreecommitdiffstats
path: root/al
diff options
context:
space:
mode:
Diffstat (limited to 'al')
-rw-r--r--al/auxeffectslot.cpp4
-rw-r--r--al/auxeffectslot.h4
-rw-r--r--al/listener.cpp2
-rw-r--r--al/listener.h9
4 files changed, 10 insertions, 9 deletions
diff --git a/al/auxeffectslot.cpp b/al/auxeffectslot.cpp
index a0b8840f..e2dccb4d 100644
--- a/al/auxeffectslot.cpp
+++ b/al/auxeffectslot.cpp
@@ -706,7 +706,7 @@ ALeffectslot::~ALeffectslot()
DecrementRef(Target->ref);
Target = nullptr;
- ALeffectslotProps *props{Update.load()};
+ ALeffectslotProps *props{Params.Update.load()};
if(props)
{
if(props->State) props->State->release();
@@ -750,7 +750,7 @@ void UpdateEffectSlotProps(ALeffectslot *slot, ALCcontext *context)
props->State = slot->Effect.State;
/* Set the new container for updating internal parameters. */
- props = slot->Update.exchange(props, std::memory_order_acq_rel);
+ props = slot->Params.Update.exchange(props, std::memory_order_acq_rel);
if(props)
{
/* If there was an unused update container, put it back in the
diff --git a/al/auxeffectslot.h b/al/auxeffectslot.h
index 369638a0..9acb6d6b 100644
--- a/al/auxeffectslot.h
+++ b/al/auxeffectslot.h
@@ -51,9 +51,9 @@ struct ALeffectslot {
RefCount ref{0u};
- std::atomic<ALeffectslotProps*> Update{nullptr};
-
struct {
+ std::atomic<ALeffectslotProps*> Update{nullptr};
+
ALfloat Gain{1.0f};
ALboolean AuxSendAuto{AL_TRUE};
ALeffectslot *Target{nullptr};
diff --git a/al/listener.cpp b/al/listener.cpp
index 402d8a27..7a14a9ba 100644
--- a/al/listener.cpp
+++ b/al/listener.cpp
@@ -441,7 +441,7 @@ void UpdateListenerProps(ALCcontext *context)
props->MetersPerUnit = listener.mMetersPerUnit;
/* Set the new container for updating internal parameters. */
- props = listener.Update.exchange(props, std::memory_order_acq_rel);
+ props = listener.Params.Update.exchange(props, std::memory_order_acq_rel);
if(props)
{
/* If there was an unused update container, put it back in the
diff --git a/al/listener.h b/al/listener.h
index 1b440bca..318ab024 100644
--- a/al/listener.h
+++ b/al/listener.h
@@ -37,11 +37,12 @@ struct ALlistener {
std::atomic_flag PropsClean;
- /* Pointer to the most recent property values that are awaiting an update.
- */
- std::atomic<ALlistenerProps*> Update{nullptr};
-
struct {
+ /* Pointer to the most recent property values that are awaiting an
+ * update.
+ */
+ std::atomic<ALlistenerProps*> Update{nullptr};
+
alu::Matrix Matrix;
alu::Vector Velocity;