
I also added a few tweaks for Direct3D 11.1, D3D_FEATURE_LEVEL_11_1, and Direct3D 11.2.

At the time the only real change was to remove the DirectInput and DirectSound functionality. One of the things I moved over to the Windows SDK was the DxCapsViewer tool. The DirectX SDK (June 2010) release turned out to be the end-of-life release for the venerable product, and I was tasked with going through the inventory of what was there and finding new homes for them where applicable. It was then I found myself picking this old, dusty, long-forgotten tool up and I added the “DXGI” device node. While this did not bring back the ‘sea of caps bits’ that was Direct3D 9 and prior, I was finding it a bit of a struggle to fully understand and document all this, and explain it succinctly in a talk I was working on in 2009. With each hardware feature level, there were various rules about which formats were required and which were optional. There was also the evolving story of WARP. It also came with new ‘10level9’ feature levels for Shader Model 2.0/3.0 era hardware. There was some optional support for DirectCompute 4.x on feature level 10.x hardware. Then along came Direct3D 11 which not only introduced D3D_FEATURE_LEVEL_11_0, but also a few optional features like double-precision shaders. There was D3D10_FEATURE_LEVEL_10_0 which was defined to be exactly what Direct3D 10.0 supported, and D3D10_FEATURE_LEVEL_10_1 was a strict superset with a few more features that worked on Direct3D 10.1 cards. The Direct3D 10.1 story add a small wrinkle and introduced the notion of Direct3D hardware feature levels. Direct3D 10 devices all did the same thing, so there was little point. With the introduction of Direct3D 10, one of the main design points was to greatly simplify the ‘sea of caps bits’ problem for Direct3D, so the DxCapsViewer tool was considered uninteresting and left as legacy functionality. Both DirectPlay and DirectMusic were deprecated a while back–the DirectMusic story is actually a bit more complicated than just deprecated–so support for these were removed from the DirectX SDK after August 2008. The ‘classic’ version of this tool enumerates devices/caps for Direct3D, DirectDraw, DirectSound, DirectInput, DirectPlay, and DirectMusic. This post covers some recent developments with this tool.


It shipped in the legacy DirectX SDK, and then moved to the Windows 8.0 SDK, Windows 8.1 SDK, and ships in the Windows 10 SDK today.

The DirectX Capabilities Viewer utility dates back to the DirectX 5 era, which was written to help developers review the myriad “caps bits”, resolutions, and devices supported by DirectX components.
