3D and especially 3D drivers are tough nuts to crack. Lots of things to know: maths, memory workings, cache workings, parallel computing, ISA pipelining....