From 4ea00e4dcbb390f9fec53034ac1a62cc6fb308d0 Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Fri, 28 May 2021 17:31:23 +0200 Subject: Clean mixdown loop --- src/uxn/devices/apu.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/uxn/devices/apu.c b/src/uxn/devices/apu.c index 0b502f8..47151a6 100644 --- a/src/uxn/devices/apu.c +++ b/src/uxn/devices/apu.c @@ -230,13 +230,13 @@ void sound_mix() { } // Downsample and copy to the playing buffer (Vectorized). - u64 *mix = mix_buffer; - u32 *buf = audio.current_buffer; - for (size_t i = 0, k = 0; i < AUDIO_BUF_LEN; i += 4, k++) { - u64 x = mix[k]; - buf[k] = (x >> 8) & 0xFF - | (x >> 16) & 0xFF00 - | (x >> 24) & 0xFF0000 - | (x >> 32) & 0xFF000000; + u64 *mix_ptr = mix_buffer; + u32 *buf_ptr = audio.current_buffer; + for (size_t i = 0; i < AUDIO_BUF_LEN / 4; i++) { + u64 mix = mix_ptr[i]; + buf_ptr[i] = (mix >> 8) & 0xFF + | (mix >> 16) & 0xFF00 + | (mix >> 24) & 0xFF0000 + | (mix >> 32) & 0xFF000000; } } -- cgit v1.2.1