Switch from mapped buffer to subdata.

This seems to work just as well for Nvidia, but hopefully works better for ATI.