diff options
Diffstat (limited to 'al')
-rw-r--r-- | al/auxeffectslot.cpp | 4 | ||||
-rw-r--r-- | al/auxeffectslot.h | 4 | ||||
-rw-r--r-- | al/listener.cpp | 2 | ||||
-rw-r--r-- | al/listener.h | 9 |
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; |