diff options
Diffstat (limited to 'Alc/mixer_sse.c')
-rw-r--r-- | Alc/mixer_sse.c | 18 |
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; } |