[video output=day145 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="SSE Mixer Main Loop" vod_platform=youtube id=W3rrlUEaW1E annotator=Miblo annotator=ZedZull annotator=debiatan] [00:01:09][Plan for the day] [00:03:02][Working 8-wide instead of 4-wide] [00:08:03][Making sure the sound buffer always asks for multiples of 8 samples] [00:12:20][Samples seen as chunks of size 8] [00:16:30][Padding the end of the output buffer with zeros as a consequence of working with blocks of samples] [00:21:00][Pitch-bending forces us to read unaligned] [00:25:35][Updating the routine to work with blocks of 8 samples] [00:33:19][Seamlessly transitioning between streaming sounds by padding them with subsequent sounds up to 8 samples past their end] [00:41:58][Debugging pitch-shifting after the changes] [00:46:22][SIMDizing the main mixer loop] [00:52:52][Trouble SIMDizing the loads of the bilinear case] [00:56:53][Loading samples one by one for the bilinear case, not by blocks of eight samples] [1:07:07][Take a listen in-game][quote 135] [01:08:19][Q&A][:speech] [01:10:19][@inquarry][What's in the 8 bits we've been working on? Is it frequency and volume?] [01:10:45][@gasto5][Why is there a command override Od with O2 in the build output?] [01:11:32][@h2_66o][Can you skip the 0.0f*dSample and only do 1.0f, 2.0f, 3.0f ?] [01:12:26][@donotputmeonpizza][What does -Od do?] [01:13:34][@gasto5][What is the "handmade_optimized.cpp" all about?] [01:14:46][@donotputmeonpizza][I'm guessing that without specifying some sort of optimization flag, there will still be some optimizations done, which you want to explicitly not do?] [01:15:29][@gasto5][Is this the last stream for audio?] [/video]