aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/mixer/mixer_sse.cpp
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2019-05-29 20:45:33 -0700
committerChris Robinson <[email protected]>2019-05-29 20:45:33 -0700
commit8af7b4c6e0ddaf4d66455702a7ede0c9036f3825 (patch)
tree9df078b080f990aa692163f8b832d3098e4d09da /Alc/mixer/mixer_sse.cpp
parent7e6b6d7ad90f95fc95efefe7cdf996b8e2cb90fb (diff)
Use FloatBufferLine and span<> for MixRowSamples
Diffstat (limited to 'Alc/mixer/mixer_sse.cpp')
-rw-r--r--Alc/mixer/mixer_sse.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/Alc/mixer/mixer_sse.cpp b/Alc/mixer/mixer_sse.cpp
index 156b3dab..ac1c9b18 100644
--- a/Alc/mixer/mixer_sse.cpp
+++ b/Alc/mixer/mixer_sse.cpp
@@ -230,16 +230,15 @@ void Mix_<SSETag>(const ALfloat *data, const ALsizei OutChans, ALfloat (*OutBuff
}
template<>
-void MixRow_<SSETag>(ALfloat *OutBuffer, const ALfloat *Gains, const ALfloat (*data)[BUFFERSIZE],
- const ALsizei InChans, const ALsizei InPos, const ALsizei BufferSize)
+void MixRow_<SSETag>(FloatBufferLine &OutBuffer, const ALfloat *Gains,
+ const al::span<const FloatBufferLine> InSamples, const ALsizei InPos, const ALsizei BufferSize)
{
- ASSUME(InChans > 0);
ASSUME(BufferSize > 0);
- for(ALsizei c{0};c < InChans;c++)
+ for(const FloatBufferLine &input : InSamples)
{
- const ALfloat *RESTRICT src{al::assume_aligned<16>(&data[c][InPos])};
- const ALfloat gain{Gains[c]};
+ const ALfloat *RESTRICT src{al::assume_aligned<16>(input.data()+InPos)};
+ const ALfloat gain{*(Gains++)};
if(!(std::fabs(gain) > GAIN_SILENCE_THRESHOLD))
continue;