DirectXMath Versions Save

DirectXMath is an all inline SIMD C++ linear algebra library for use in games and graphics apps

feb2024

2 months ago

February 2024 (3.19)

  • Fix to address MinGW issue with __cpuid in cpuid.h vs. intrin.h
  • Additional updates for clang/LLVM and GNUC
  • Minor comment updates

Includes fixes from 3.18b

This version is available on NuGet and via vcpkg.

dec2023

4 months ago

DirectXMath 3.18b release.

  • Hot-fix to address -Wunsafe-buffer-usage warnings from clang v16
  • Hot-fix to address MinGW issue with __cpuid in cpuid.h vs. intrin.h
  • CMake project updates including pkg-config file generation

This version is available on NuGet and via vcpkg.

dec2022

1 year ago

The DirectXMath 3.18 release is included in the Windows SDK (10.0.25262) Preview or later.

  • C++20 spaceship operators for XMFLOAT2, XMFLOAT3, etc. when building with /std:c++20 /Zc:_cplusplus
  • Improved conformance for ARM64 when using /Zc:arm64-aliased-neon-types-
  • Minor code review
  • CMake project updated to require 3.20 or later
  • Added Azure Dev Ops Pipeline YAML files

This version is available on NuGet and via vcpkg.

may2022

1 year ago

DirectXMath 3.17 with hot-fixes applied:

  • Hot-fix to address -Wreserved-identifier warnings with clang v13
  • C++20 spaceship operators for XMFLOAT2, XMFLOAT3, etc. when building with /std:c++20 /Zc:__cplusplus
  • Minor CMake project update

This version is available on NuGet and via vcpkg.

jan2022

2 years ago

The DirectXMath 3.17 release is included in the Windows SDK (10.0.22621) for Windows 11, Version 22H2 .

  • Added ColorsLinear namespace to DirectXColors.h with linear versions of .NET colors
  • Optimized the XMMatrixRotationRollPitchYaw(FromVector) functions
  • Fixed overread problem for 16bpp GPU types Load functions:
    • XMUNIBBLE4, XMU555, XMU565, XMBYTEN2, XMBYTE2, XMUBYTEN2, XMUBYTE2
  • XM_CACHE_LINE_SIZE updated for ARM/ARM64 targets to 128 bytes
  • A few comments added to improve IntelliSense experience
  • Conformance improvements for GNU compiler
  • Minor code cleanup

See this post.

This version is available on NuGet and via vcpkg.

dec2020b

3 years ago

This was a CMake only release of DirectXMath 3.16 for vcpkg to resolve case-sensitivity issues in the CMake package implementation.

jan2021

3 years ago

DirectXMath 3.16 with hot-fixes applied:

  • Hot-fixes to resolve build breaks for clang/LLVM and GCC on ARM64
  • XM_ALIGNED_DATA and XM_ALIGNED_STRUCT macros updated to use C++17 alignas when available

See this post.

This version is also available on NuGet and via vcpkg.

dec2020

3 years ago

DirectXMath 3.16 is included in the Windows 10 SDK (10.0.20348.0), version 2104:

  • Added XMVectorLog10 / XMVectorExp10
  • Added XMColorRGBToYUV_UHD / XMColorYUVToRGB_UHD for Rec. 2020 YUV
  • Added optional rhcoords parameter for BoundingFrustum CreateFromMatrix
  • Added use of Intel® Short Vector Matrix Library (SVML) supported by VS 2019
    • Opt-in with _XM_SVML_INTRINSICS_; opt-out with _XM_DISABLE_INTEL_SVML_
  • Fixed denorm handling for XMConvertFloatToHalf to match F16C/CVT16 instructions.
  • Fixed flush (too small for denorm) handling for XMStoreFloat3PK
  • Fixed clamping bug in XMStoreByteN4
  • Cleaned up ARM-NEON intrinsics type issues for improved portability on GNUC
  • Fixed GXMVECTOR for x86 __vectorcall
  • Code review
  • Plus all changes from 3.15

See this post.

This version is also available on NuGet.

aug2020

3 years ago

A preview of DirectXMath 3.16 is included in the Windows Insider Preview SDK (20197 and others).

apr2020

4 years ago

DirectXMath 3.15 includes the following changes:

  • Added XMMatrixVectorTensorProduct for creating a matrix from two vectors
  • Use of __m256 registers and FMA3 with /arch:AVX2 for stream and some matrix functions
  • Optimized load/stores for SSE2 float2 & float3 functions
  • Optimized some instruction choices for better AMD CPU support
  • Improved conformance for clang/LLVM, GCC, and MinGW compilers
  • Code review (constexpr / noexcept usage)
  • Retired VS 2015 support

See this post.

This version is also available on NuGet.