* The D3D9 debug runtime reports memory leaks on application exit, listing all unfreed allocations with their AllocIDs.
* Tell D3D to break on one of the allocations using the "Break on AllocID" feature of DX control panel.
* With the D3D symbols loaded, we get a complete call stack when the break happens. It turns out the allocation is for a vertex declaration.
* We are 100% sure the very vertex declaration IS released during the shutdown process, and the ref count reaches 0 after the release.
Is it possible that the D3D runtime is reporting wrong AllocIDs? Or is the "Break on AllocID" feature unreliable?
Edited by rainsing, 10 May 2012 - 09:47 PM.