2018-01-08: V3D 4.1 GL

For VC5 last week I pushed to get first triangle on V3D 4.1. That involved:

  • Updating the build system to build components of the driver for 3.3 and 4.1
  • Encoding of new instructions and signals
  • Updating the compiler to emit the new VPM load/store instructions
  • Porting the RCL for the new TLB load/store commands
  • Porting the drawing commands and shader state packets
  • Porting the simulator wrapper

By Friday I had the simulator running through to the end of a fragment shader, at which point it complained that I hadn’t done the threading right. On this chip, you only get 2 or 4-way threaded programs, while I only had support for single-threaded programs. Given how important multithreading is for latency hiding, next week I’ll be going back to add it to V3D 3.3 and then port it forward to 4.1.