Auto compiling of shaders
Moved generic hardware methods to their own file + draw calls