aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/mixer_sse.c
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/mixer_sse.c')
-rw-r--r--Alc/mixer_sse.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/Alc/mixer_sse.c b/Alc/mixer_sse.c
index c4e1fdf5..64fd1c12 100644
--- a/Alc/mixer_sse.c
+++ b/Alc/mixer_sse.c
@@ -148,8 +148,8 @@ void MixDirect_SSE(ALfloat (*restrict OutBuffer)[BUFFERSIZE], const ALfloat *dat
for(c = 0;c < MaxChannels;c++)
{
ALuint pos = 0;
- DrySend = Gains->Current[c];
- Step = Gains->Step[c];
+ DrySend = Gains[c].Current;
+ Step = Gains[c].Step;
if(Step != 1.0f && Counter > 0)
{
/* Mix with applying gain steps in aligned multiples of 4. */
@@ -179,8 +179,8 @@ void MixDirect_SSE(ALfloat (*restrict OutBuffer)[BUFFERSIZE], const ALfloat *dat
DrySend *= Step;
}
if(pos == Counter)
- DrySend = Gains->Target[c];
- Gains->Current[c] = DrySend;
+ DrySend = Gains[c].Target;
+ Gains[c].Current = DrySend;
/* Mix until pos is aligned with 4 or the mix is done. */
for(;pos < BufferSize && (pos&3) != 0;pos++)
OutBuffer[c][OutPos+pos] += data[pos]*DrySend;
@@ -203,15 +203,15 @@ void MixDirect_SSE(ALfloat (*restrict OutBuffer)[BUFFERSIZE], const ALfloat *dat
void MixSend_SSE(ALfloat (*restrict OutBuffer)[BUFFERSIZE], const ALfloat *data,
- MixGainMono *Gain, ALuint Counter, ALuint OutPos, ALuint BufferSize)
+ MixGains *Gain, ALuint Counter, ALuint OutPos, ALuint BufferSize)
{
ALfloat WetGain, Step;
__m128 gain, step;
{
ALuint pos = 0;
- WetGain = Gain->Current;
- Step = Gain->Step;
+ WetGain = Gain[0].Current;
+ Step = Gain[0].Step;
if(Step != 1.0f && Counter > 0)
{
if(BufferSize-pos > 3 && Counter-pos > 3)
@@ -239,8 +239,8 @@ void MixSend_SSE(ALfloat (*restrict OutBuffer)[BUFFERSIZE], const ALfloat *data,
WetGain *= Step;
}
if(pos == Counter)
- WetGain = Gain->Target;
- Gain->Current = WetGain;
+ WetGain = Gain[0].Target;
+ Gain[0].Current = WetGain;
for(;pos < BufferSize && (pos&3) != 0;pos++)
OutBuffer[0][OutPos+pos] += data[pos]*WetGain;
}