diff options
author | Chris Robinson <[email protected]> | 2015-10-25 14:07:58 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2015-10-25 14:07:58 -0700 |
commit | 90349b384fe538b0d160b5ff0485d6235b1c6f9d (patch) | |
tree | 1acef7723db132f28b3f3c4b36f5616e35ff0485 /Alc/mixer_sse.c | |
parent | fc03a955e9dd58e11cb3f165423e1629d5f07935 (diff) |
Use the correct position in the SSE resamplers for left-over processing
Diffstat (limited to 'Alc/mixer_sse.c')
-rw-r--r-- | Alc/mixer_sse.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Alc/mixer_sse.c b/Alc/mixer_sse.c index c618f966..e67c9cca 100644 --- a/Alc/mixer_sse.c +++ b/Alc/mixer_sse.c @@ -182,6 +182,10 @@ void Mix_SSE(const ALfloat *data, ALuint OutChans, ALfloat (*restrict OutBuffer) _mm_store_ps(&OutBuffer[c][OutPos+pos], dry4); pos += 4; } while(minsize-pos > 3); + /* NOTE: gain4 now represents the next four gains after the + * last four mixed samples, so the lowest element represents + * the next gain to apply. + */ gain = _mm_cvtss_f32(gain4); } /* Mix with applying left over gain steps that aren't aligned multiples of 4. */ |