[3:09][Run the game and view the current state of the profiler]
[4:52][handmade_debug.cpp: Review the profiling code]
[8:40][handmade_debug.cpp: Note that we are using the EndClock value before it's been written]
[9:33][handmade_debug.cpp: Compute that Duration in CollateDebugRecords and correctly set the ClockBasis]
[11:31][Run the game and view our more plausible profile result]
[12:44][handmade_debug.cpp: Reenable and rewrite the text on hover]
[13:38][Run the game and view this text on hover]
[14:39][Blackboard: Pointer alignment and random picking from an array]
[17:06][handmade_debug.cpp: Make the Colors array be a non-multiple of four]
[17:47][Run the game and see our different zones in the profiler]
[19:13][handmade_render_group.cpp: Add SortBias to the object_transform so the SortKey automatically takes it into account]
[20:38][On writing TODOs][quote 431]
[22:13][handmade_debug.cpp: Introduce Transforms in DEBUGTextOp]
[23:51][Run the game and note that our problem hasn't been fixed]
[24:13][handmade_debug.h: Add Transforms to the debug_state]
[25:55][handmade_debug.cpp: Initialise the Transforms in DEBUGStart]
[26:58][handmade_debug.cpp: Pass BackingTransform to the PushRect calls in DrawProfileIn]
[28:27][Run the game and view our profiler]
[29:31][Blackboard: What the profiler is showing us may be happening after the point SwapBuffers is called]
[34:18][Point out how useful profiling is]
[36:43][win32_handmade.cpp: Investigate what's happening in our input processing]
[39:53][Run the game and note that we need the ability to narrow in on a profile region]
[40:42][win32_handmade.cpp: Comment out the "Input Processing" block]
[41:06][Run the game and discover that the XBox controllers are taking 2,000,000 cycles to poll]
[41:54][Describe and consider how to work around a well-known XInputGetState bug when polling XBox controllers]
[45:45][win32_handmade.cpp: Introduce XBoxControllerPresent, assume they're all plugged in at startup and stop polling for them when we realise they're not]
[48:44][Run the game and see none of that controller polling nonsense]
[50:05][Discover that the software renderer does not draw the profiler properly]
[51:24][handmade_opengl.cpp: Make glTexImage2D take GL_SRGB8_ALPHA8]
[52:45][Run the game and see that that was the problem]
[53:40][Explain how gamma is treated in the renderer]
[55:31][Note that we need to reserve one texture at startup in case we would like to do OpenGL bitmap display]
[56:18][Demo the bug with switching between the renderers]
[57:27][win32_handmade.cpp: Introduce OpenGLReservedBlitTexture and set one of them Win32InitOpenGL]
[58:57][Run the game and see that we now no longer have that bug, but do have a bug with pixel centers for the fonts]