2018-01-15: V3D 4.1 GL

I got past first triangle (in simulation) on V3D 4.1, and got texturing working as well. The big feature was to enable multithreaded fragment shaders, which I first did on V3D 3.3. Once I had that, it was easy to port over to 4.1 and get my first fragment shader running. Other tasks this week:

  • Ported the command list and state dumping code to 4.1
  • Added support for V3D 4.1’s arbitrary register writes in varying loads and texturing
  • Ported the other state emits besides the draw calls
  • Enabled texturing on V3D 4.1 (border color swizzling still broken)
  • Fixed infinite loops in shaders without all the channels active
  • Fixed gl_FragCoord pixel center setup
  • Fixed overflows of the tile state array
  • Started writing tools for debugging GPU hangs

This is all pushed to Mesa master now.