We are currently in the process of converting the website to the new design. Some pages, like this one, are still broken. We appreciate your patience.
Roderic Bos
From your post you seem to agree with Casey that windows has spiralled out of control, but you def…
»
Andrew Bromage
One of the traits that I've noticed in some of the best people I've worked with is the ability to…
»
Abner Coimbre
Handmade Hero has inspired people to take up a "Handmade" project; maybe even a game of their own.…
»
Andrew Bromage
Also, string operations (the movs and stos family of instructions). Sorry, mmozeiko and Casey are…
»
people
you're right about "__sync_synchonize", it outputs an mfence, I should have looked at the asm outp…
»
Franz
I love rants, but this level of ignorance about Windows is just staggering. Here is some really in…
»
Livet Ersomen Strøm
Your last rant about APIs at the end of episode 135 prompted me to write this post. In a nutshell…
»
Kim Jørgensen
So we got two nasty bugs. I think we need to get an owl of shame emoji added to the forum chat :) …
»
people
I think the "InterlockedCompareExchange" call in the "AtomicCompareExchangeUInt32" function has it…
»
Franz
Hi Casey, Your last rant about APIs at the end of episode 135 prompted me to write this post. In a…
»
Kim Jørgensen
I think I found the bug. In LoadBitmap starting a task can fail but the state is not reset if this…
»
Mārtiņš Možeiko
Oh, hes bool variant is the wrong one. But __sync_val_compare_and_swap should work fine. _Interloc…
»
Kim Jørgensen
Oops! I just realized that my implementation of AtomicCompareExchangeUInt32 is bogus. I shouldn't …
»
Kim Jørgensen
Thank you for the answers. Casey are you willing to implement CompletePreviousWritesBeforeFutureWr…
»
Casey Muratori
Just a quick note: you do not want sfence for write barriers on x64. x64's always complete writes…
»
Mārtiņš Možeiko
Pseudonym73, are you sure? Wouldn't we see a lot of crashing software on AMD 64-bit CPU's if they …
»
Andrew Bromage
In the first case, you want a store fence: In most Intel CPUs, writes are not reordered with othe…
»
Mārtiņš Možeiko
It doesn't matter what version is Visual Studio. Afaik it is available only as 32-bit. If you use …
»
Devon
I think this is the issue...I'm looking into it. I'm not sure if I somehow ended up with a 32bit v…
»
Mārtiņš Možeiko
Are you compiling executable as 64-bit? If you compile executable as 32-bit, then even on 64-bit O…
»
Devon
Hey all, I recently got started watching the Handmade Hero series. I've followed up to the point w…
»
Mārtiņš Možeiko
I'm don't think there is better way for GCC to do just write barrier. Clang should support both of…
»
Kim Jørgensen
In order to get HH compiling again I would like to have CompletePreviousWritesBeforeFutureWrites a…
»
Casey Muratori
Yes, just to be clear, it's because it is in a struct with a pointer that I said it would be padde…
»
elle
Oh, ok. Thanks. I should be doing something wrong then. I should've read the MSDN docs more carefu…
»
Mārtiņš Možeiko
__m128 is 100% NOT supported in ARM. No SSE or AVX type is supported (__m128d, __m256, etc...) If …
»
elle
Thank you for your clear answer about casts! :) Regarding simd in Swift: this week Apple started s…
»
Mārtiņš Možeiko
Casey is writing code assuming that on Windows it will be compiled with MSVC. Compiling with gcc w…
»
Mārtiņš Možeiko
Oh for Swift. Afaik Swift doesn't support simd/neon intrinsic stuff. It needs to be in compiler/la…
»
elle
I meant SIMD support in Swift specifically. I already implemented the functions in C before, but w…
»