Question

I am unsure about how D3D11Device::ReportLiveDeviceObjects works?

i am not seeing anything in my output or in a console when i call this.

http://msdn.microsoft.com/en-us/library/windows/desktop/ff476370(v=vs.85).aspx

Was it helpful?

Solution

It is not clear if you are using it from C#, so in case, you must checked "Enable native code debugging" in your project settings as it is explained in http://sharpdx.org/forum/4-general/1774-how-to-debug-a-sharpdxexception#1774

OTHER TIPS

ID3D11Debug::ReportLiveDeviceObjects (not ID3D11Device::) reports to Visual Studio output window.

But, to have this report you must have ID3D11Device, created with D3D11_CREATE_DEVICE_DEBUG flag. (There will be short report by default)

To have detailed report, you must have valid ID3D11Debug object, queried from current device. Like this:

m_pDevice->QueryInterface(__uuidof(ID3D11Debug), (void**)(&m_pD3D11Debug));

Then just call ID3D11Debug::ReportLiveDeviceObjects() with D3D11_RLDO_DETAIL;

If you don't see any warnings, then, probably, all your COMs released correctly. Try create custom temporary leak, to check it for sure.

In my opinion, that report is almost useless. There are lot of false positive warnings.

Just encapsulate your COM objects in some smart COM pointer class, and you can be sure, that they will be released correctly.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top