The Apple GPU and the impossible bug

In late 2020, Apple debuted the M1 with Apple’s GPU architecture, AGX, rumoured to be derived from Imagination’s PowerVR series. Since then, we’ve been reverse-engineering AGX and building open source graphics drivers. Last January, I rendered a triangle with my own code, but there has since been a heinous bug lurking:

The driver fails to render large amounts of geometry.

Spinning a cube is fine, low polygon geometry is okay, but detailed models won’t render. Instead, the GPU renders only part of the model and then faults.

A very deep dive into the cause and fix for this bug, and on top of that, some sleuthing to figure out where it comes from. A very fun and interesting read.

9 Comments

  1. 2022-05-15 10:10 am
  2. 2022-05-15 11:12 am
    • 2022-05-15 12:29 pm
      • 2022-05-15 12:38 pm
      • 2022-05-16 9:34 am
        • 2022-05-16 1:19 pm
          • 2022-05-17 10:17 am
          • 2022-05-18 3:30 am
          • 2022-05-18 11:18 am

Leave a Reply