DirectXMath 3.14
directxmath-
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