Games for Windows and the DirectX SDK blog

Technical tips, tricks, and news about game development for Microsoft platforms including desktop, Xbox, and UWP

Project maintained by walbourn Hosted on GitHub Pages — Theme by mattgraham
Home | Posts by Tag | Posts by Month

DirectXMath 3.14


Chuck Walbourn -

DirectXMath 3.14 is now available on NuGet and GitHub. It is included in the Windows 10 May 2020 Update SDK (19041) which is available in Visual Studio 2019 16.5 as an optional component and for download as a standalone SDK.

The focus for this release was updating for the Visual C++ 2019 compiler, as well as improved clang/LLVM support.

  • Added float control around IsNan functions to resolve issue with VS 2019 with /fp:fast

This issue impacts all versions of Visual Studio 2019. The fix is using DirectXMath 3.14 in combination with VS 2019 (16.3) or later.

  • XMVerifyCPUSupport updated for clang/LLVM cpuid implementation on x86/x64

The older version builds, but fails at runtime when using the clang/LLVM toolset.

  • Added support for clang/LLVM built-in platform defines as well as the MSVC ones

  • Cleaned up ARM-NEON intrinsics type issues for improved portability

There are a few uses of _ex alignment-hinted ARM-NEON intrinsics which are a Microsoft extension that need a workaround, as does a Microsoft-only intrinsic for the VACLE psuedo-instruction. These are being addressed for the DirectXMath 3.15 release.

  • Removed unneeded malloc.h include in DirectXMath.h

  • Whitespace cleanup

Future work

For the next release, version 3.15, I’m focusing on AVX2 optimizations and improved support for clang/LLVM, GCC, and MinGW compilers. I’m also retiring VS 2015 support–the Windows 10 SDK hasn’t officially supported VS 2015 since the Windows 10 Anniversary Update (14393) back in 2016.

Related: Known Issues: DirectXMath 3.03, DirectXMath 3.06, DirectXMath 3.07, DirectXMath 3.08, DirectXMath 3.09, DirectXMath 3.10, DirectXMath 3.11, DirectXMath 3.12/3.13