   Can't use D3DDevice-Reset()
  I've got a problem when I call reset, and I know what the cause of it is, except it opens up another question. Basically, before you can reset a d3d device properly, you must release all default pool objects that it created. Well I made sure I did that explicitly, even doing:while( VB->Release() > 0 ){}; to make sure that there are no extra reference counts on top of it.So I start out with 6 dynamic VBs in default, 8 rendertargets in default and one backbuffer which is of course in default. Now the render targets all get released and I looked inside d3dspy's data to make sure they were all free and it was all good and well. But when it came to the vertex buffers, I stepped through the code, and each one of them was going through : while( VB->Release() ); and yet, all and all, after 6 step throughs into that release function, I end up with a lingering Default pool VB in the D3dspy object readout. I know exactly which one it is too, and have see in it do a VB->Release, yet it doesn't release!?Why is this!? what could be the problem. I've also set the device's vertex shader to 0 before I release these devices, and called the endscene function to make sure we've stopped drawing. Is there a reason why this VB isn't released? I'm so stumped, any speculation would be great.-Marv   
  Did you call SetVertexBuffer(n, NULL) for all the streams you use? I noticed you said you set the vertex shader to null, just making sure. It is odd that its not releasing with while(VB->Release()) { } (btw this is a bad idea), but you should check that anyways. Releasing that way is a bad idea because think about what will happen if you did leave a vertex buffer set on the device. The next time you call SetVertexBuffer, D3D will try to release a freed vertex buffer that it thinks still exists, but you released its particular reference to it.   ;  Kibble, you guessed it!:P Didn't do setstreamsource NULL. *slaps self* Yea releasing that way is a bad Idea, but I didn't know what was going on so I changed the regular code to that.   