aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/mixer_sse.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2012-09-16 08:27:50 -0700
committerChris Robinson <[email protected]>2012-09-16 08:27:50 -0700
commit79b6d89b3f3f49649e349d8bac1a9bb42ec3f1de (patch)
treea726f5de2a84682f5d04fd508e23625d0220e018 /Alc/mixer_sse.c
parent535e8fd0f76ac9e8a9338cfcf873aafc83d42758 (diff)
Explicitly give the wet buffer 1 channel
Diffstat (limited to 'Alc/mixer_sse.c')
-rw-r--r--Alc/mixer_sse.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/Alc/mixer_sse.c b/Alc/mixer_sse.c
index 47a6e705..d06455dd 100644
--- a/Alc/mixer_sse.c
+++ b/Alc/mixer_sse.c
@@ -320,7 +320,7 @@ void MixSend_SSE(SendParams *params, const ALfloat *RESTRICT data,
ALuint OutPos, ALuint SamplesToDo, ALuint BufferSize)
{
ALeffectslot *Slot = params->Slot;
- ALfloat *RESTRICT WetBuffer = Slot->WetBuffer;
+ ALfloat (*RESTRICT WetBuffer)[BUFFERSIZE] = Slot->WetBuffer;
ALfloat *RESTRICT WetClickRemoval = Slot->ClickRemoval;
ALfloat *RESTRICT WetPendingClicks = Slot->PendingClicks;
const ALfloat WetGain = params->Gain;
@@ -333,12 +333,12 @@ void MixSend_SSE(SendParams *params, const ALfloat *RESTRICT data,
for(pos = 0;pos < BufferSize-3;pos+=4)
{
const __m128 val4 = _mm_load_ps(&data[pos]);
- __m128 wet4 = _mm_load_ps(&WetBuffer[OutPos+pos]);
+ __m128 wet4 = _mm_load_ps(&WetBuffer[0][OutPos+pos]);
wet4 = _mm_add_ps(wet4, _mm_mul_ps(val4, gain));
- _mm_store_ps(&WetBuffer[OutPos+pos], wet4);
+ _mm_store_ps(&WetBuffer[0][OutPos+pos], wet4);
}
for(;pos < BufferSize;pos++)
- WetBuffer[OutPos+pos] += data[pos] * WetGain;
+ WetBuffer[0][OutPos+pos] += data[pos] * WetGain;
if(OutPos+pos == SamplesToDo)
WetPendingClicks[0] += data[pos] * WetGain;
}