SSE Mixer Pre and Post Loops
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next timestamp
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu and Index Controls

a
w
s
d
h j k l


Esc Close menu / unfocus timestamp

Quotes and References Menus and Index

Enter Jump to timestamp

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
2:11Plan for today: SIMDizing the mixer
2:11Plan for today: SIMDizing the mixer
2:11Plan for today: SIMDizing the mixer
3:41Aligning the temporary buffer
3:41Aligning the temporary buffer
3:41Aligning the temporary buffer
5:00Making sure the temporary sound buffers are big enough to fit all samples
5:00Making sure the temporary sound buffers are big enough to fit all samples
5:00Making sure the temporary sound buffers are big enough to fit all samples
5:29Explanation of Align16
5:29Explanation of Align16
5:29Explanation of Align16
6:23Alignment macro for any power of two: AlignPow2
6:23Alignment macro for any power of two: AlignPow2
6:23Alignment macro for any power of two: AlignPow2
11:17Clamping samples to the signed 16-bit integer range
11:17Clamping samples to the signed 16-bit integer range
11:17Clamping samples to the signed 16-bit integer range
18:09(intermission) Two's complement
18:09(intermission) Two's complement
18:09(intermission) Two's complement
34:44Back to SIMD
34:44Back to SIMD
34:44Back to SIMD
36:48Rounding the samples
36:48Rounding the samples
36:48Rounding the samples
37:37Downconverting from 32-bit to 16-bit integers. No clamping necessary!
37:37Downconverting from 32-bit to 16-bit integers. No clamping necessary!
37:37Downconverting from 32-bit to 16-bit integers. No clamping necessary!
39:54Looking for intrinsics that interleave 16-bit values
39:54Looking for intrinsics that interleave 16-bit values
39:54Looking for intrinsics that interleave 16-bit values
44:18Interleaving the samples before packing them
44:18Interleaving the samples before packing them
44:18Interleaving the samples before packing them
47:27Making sure we don't write out of bounds
47:27Making sure we don't write out of bounds
47:27Making sure we don't write out of bounds
49:00Debugging output using structured input
49:00Debugging output using structured input
49:00Debugging output using structured input
52:50Padding the buffer in the platform layer to make sure we always have space for overwrites
52:50Padding the buffer in the platform layer to make sure we always have space for overwrites
52:50Padding the buffer in the platform layer to make sure we always have space for overwrites
54:20Casey remembers that the horizontal mouse position was linked to music panning
54:20Casey remembers that the horizontal mouse position was linked to music panning
54:20Casey remembers that the horizontal mouse position was linked to music panning
54:52Getting rid of unnecessary clamping operations
54:52Getting rid of unnecessary clamping operations
54:52Getting rid of unnecessary clamping operations
55:45Using aligned loads and stores
55:45Using aligned loads and stores
55:45Using aligned loads and stores
57:24Plan for next episode
57:24Plan for next episode
57:24Plan for next episode
1:01:30More 2s complement. Full example
1:01:30More 2s complement. Full example
1:01:30More 2s complement. Full example
1:11:30Q&A
🗩
1:11:30Q&A
🗩
1:11:30Q&A
🗩
1:11:37cubercaleb Why isn't 2's complement used for floating-point numbers if it makes signed arithmetic easy?
🗪
1:11:37cubercaleb Why isn't 2's complement used for floating-point numbers if it makes signed arithmetic easy?
🗪
1:11:37cubercaleb Why isn't 2's complement used for floating-point numbers if it makes signed arithmetic easy?
🗪
1:16:35poohshoes Are you not going to profile it too see how much faster it gets?
🗪
1:16:35poohshoes Are you not going to profile it too see how much faster it gets?
🗪
1:16:35poohshoes Are you not going to profile it too see how much faster it gets?
🗪
1:16:55dr_s80 When you implemented streaming in chunks of audio; I believe the code actually loads the entire file (with a platform layer VirtualAlloc) for each chunk. Is this just an artifact of the debug nature of that code?
🗪
1:16:55dr_s80 When you implemented streaming in chunks of audio; I believe the code actually loads the entire file (with a platform layer VirtualAlloc) for each chunk. Is this just an artifact of the debug nature of that code?
🗪
1:16:55dr_s80 When you implemented streaming in chunks of audio; I believe the code actually loads the entire file (with a platform layer VirtualAlloc) for each chunk. Is this just an artifact of the debug nature of that code?
🗪
1:17:33ishytarus Does the audio make the framerate in debug mode?
🗪
1:17:33ishytarus Does the audio make the framerate in debug mode?
🗪
1:17:33ishytarus Does the audio make the framerate in debug mode?
🗪
1:26:09cubercaleb If 1111 (-1) is supposed to be less than 0000 (0) then how do number comparisons work on the CPU level?
🗪
1:26:09cubercaleb If 1111 (-1) is supposed to be less than 0000 (0) then how do number comparisons work on the CPU level?
🗪
1:26:09cubercaleb If 1111 (-1) is supposed to be less than 0000 (0) then how do number comparisons work on the CPU level?
🗪
1:32:39marumoto Do you have any tips for speeding up compile time when using multiple translation units?
🗪
1:32:39marumoto Do you have any tips for speeding up compile time when using multiple translation units?
🗪
1:32:39marumoto Do you have any tips for speeding up compile time when using multiple translation units?
🗪
1:32:55sssmcgrath It's movsx for signed
🗪
1:32:55sssmcgrath It's movsx for signed
🗪
1:32:55sssmcgrath It's movsx for signed
🗪