Programming a GPU on bare metal

submited by
Style Pass
2025-01-02 22:30:14

I virtually attended Handmade Seattle 2024, where Mason Remaley presented "It's Not About the API" (link eventually), which discussed Vulkan. There was a question about how the buffer data layouts work on the GPU, and the speaker didn't have a clear answer. I don't want to come across as criticizing Mason by saying this; rather, I'm saying this kind of low-level information on GPUs is hard to come by because their internals are rarely revealed or discussed.

I realized I knew at least something about how one GPU does it, and that this information might be interesting. I figured I'd break my long period lack of posts with a long post on how this GPU works from a bare-metal system level. I'll also go over why I was even looking into this, and what the next steps might be.

This is going to be a long and somewhat meandering post, which matches my long and somewhat meandering journey through Pi bare metal hardware-accelerated graphics programming.

Leave a Comment