   Using DDS files.
  I have some custom code that loads a DDS file. I was wondering is there anything special I have to do to each mipmap data segment before I lock my texture and dump my data into it. When I create a blank texture using CreateTexture() how does it know how much VRAM I will require per mipmap level? (I'm hoping to manually dump DXT5 compressed texture data into a texture using LockRect(), etc).   
  Well when you call CreateTexture you specify a surface format, a size, and the number of mip levels.  From that you can calculate exactly how much space you need.So yes, you should be able to throw your data in there as long as you've specified the correct amount of mip levels.   