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.