Here's my series to finally fix compressed mipmap generation on hw drivers. Take a look at the last commit in particular -- I'd love to do TexImage in the uncompressed path as well so we could get rid of that awful code for handling this non-TexImage upload in the drivers, but that would cost us the zero-copy for swrast. Does anyone care?