Retiring support for VS 2010 + DirectX SDK without the Windows 8.x SDK

Dec 4, 2013 at 6:12 PM
Edited Dec 4, 2013 at 6:23 PM
The "DirectXTex_Desktop_2010" project is currently designed to require the legacy DirectX SDK and makes use of XNAMath with the VS 2010 toolset. This also requires guarding new DXGI 1.2 types with the DXGI_1_2_FORMATS preprocessor definition because they are not in the legacy DirectX SDK's DXGI 1.1 headers, as well as using 'magic' values instead of the D3D_FL9_x_REQ_* defines. And finally this requires a custom implementation of ScopedObject instead of just making use of Microsoft::WRL::ComPtr which is in the Windows 8.x SDK, and not in the legacy DirectX SDK.

The "DirectXTex_Desktop_2010_SDK81" project uses the Windows 8.1 SDK and DirectXMath with the VS 2010 toolset, can use the DXGI 1.2 types, and uses Microsoft::WRL::ComPtr.

I plan to retire the legacy DirectX SDK only project since the Windows 8.x SDK is easily obtainable, the .props for integrating it are included in the DirectXTex package, and the latest DirectXMath in the Windows 8.1 SDK fixes a number of bugs in the older XNAMath. This would make it more complicated to build a Windows XP compatible version of the DirectXTex library itself, but tools making use of it could still generate legacy compatible DDS files for consumption by Direct3D 9 on Windows XP. I'm thinking of making this change for a January 2014 release.

This would entail renaming the existing "DirectXTex_Desktop_2010_SDK81" project as "DirectXTex_Desktop_2010" and always requiring the standalone Windows 8.1 SDK to build the library. The VS 2012 and VS 2013 projects already implicitly use the Windows 8.x SDK.

I don't have a good sense of how many users of DirectXTex are making use of VS 2010 without the Windows 8.x SDK, so I'd appreciate any input on this change and the timing...
Dec 4, 2013 at 6:23 PM
Note that the DirectX Tool Kit already requires the Windows 8.x SDK...
Jan 13, 2014 at 6:25 PM
If you still need VS 2010 + DirectX SDK for your own code, this would not preclude this scenario. You would just need to set up for the VS 2010 + Windows 8.1 SDK + the DirectX SDK per MSDN.
Jan 24, 2014 at 9:13 PM
As the January 2014 release, DirectXTex now requires DirectxMath to build. This means using the Windows 8.1 SDK with VS 2010, building with VS 2012 with the built-in Windows 8.0 SDK, or building with VS 2013 with the built-in Windows 8.1 SDK. You can still mix the legacy DirectX SDK if needed, but DirectXTex no longer makes use of XNAMath.
Marked as answer by walbourn on 1/24/2014 at 2:14 PM