DirectXMath

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

MIT License

Stars
1.5K
Committers
9

Bot releases are hidden (Show)

DirectXMath - February 2024 Latest Release

Published by walbourn 8 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

DirectXMath - December 2023

Published by walbourn 10 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.

DirectXMath - December 2022

Published by walbourn almost 2 years 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.

DirectXMath - May 2022

Published by walbourn over 2 years 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.

DirectXMath - Windows SDK (10.0.22621) for Windows 11, Version 22H2

Published by walbourn almost 3 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.

DirectXMath - December 28, 2020

Published by walbourn almost 4 years ago

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

DirectXMath - Windows SDK for Windows 11 (10.0.22000)

Published by walbourn almost 4 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.

DirectXMath - Windows 10 SDK (20348), version 2104

Published by walbourn almost 4 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.

DirectXMath - Windows Insider Preview SDK (20197)

Published by walbourn about 4 years ago

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

DirectXMath - April 2020

Published by walbourn over 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.

DirectXMath - Windows 10 May 2020 Update SDK (19041)

Published by walbourn about 5 years ago

DirectXMath 3.14 is included in the Windows 10 SDK (19041)

  • Added float control around IsNan functions to resolve issue with VS 2019 with /fp:fast
  • XMVerifyCPUSupport updated for clang/LLVM cpuid implementation on x86/x64
  • 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
  • Removed unneeded malloc.h include in DirectXMath.h
  • Whitespace cleanup

See this post

This version is also available on NuGet.

This is the last release to support VS 2015

DirectXMath - Windows 10 SDK Preview (18965)

Published by walbourn about 5 years ago

A preview of the DirectXMath 3.14 release is included in the Windows Insider Preview SDK (18945, 18956, 18965).

Note that the AVX2 feature detection with clang/LLVM has a known bug in this version. It's fixed in newer releases.

DirectXMath - Windows 10 October 2018 Update SDK (17763)

Published by walbourn about 6 years ago

DirectXMath 3.13 is included in the Windows 10 October 2018 SDK (17763)

  • XMFLOAT3X4, XMFLOAT3X4A, and associated Load/Store functions
  • Move/copy constructors and assignment operators for C++ types
  • Minor fix for XMVectorClamp behavior with NaN
  • Fixed compilation warnings with VS 2017 (15.7 update), Intel C++ 18.0 compiler, and clang 6
  • Retired VS 2013 support
  • Minor code cleanup

See this post

This version is also available on NuGet.

VS 2017 (15.9 update) supports Universal Windows Platform (UWP) apps for the ARM64 (ARMv8) architecture which is supported by DirectXMath starting with version 3.07.

DirectXMath - Windows 10 SDK Preview (17713)

Published by walbourn over 6 years ago

This is a preview release of DirectXMath 3.13 from the Windows 10 SDK Insider Preview (17713).

DirectXMath - Windows 10 SDK Preview (17709)

Published by walbourn over 6 years ago

This is a preview release of DirectXMath 3.13 from the Windows 10 SDK Insider Preview (17704, 17709).

DirectXMath - Windows 10 SDK Preview (17692)

Published by walbourn over 6 years ago

This is a preview release of DirectXMath 3.13 from the Windows 10 SDK Insider Preview (17677, 17682, 17686, 17692).

DirectXMath - Windows 10 SDK Preview (17672)

Published by walbourn over 6 years ago

This is a preview release of DirectXMath 3.13 from the Windows 10 SDK Insider Preview (17666, 17672).

DirectXMath - February 2018

Published by walbourn over 6 years ago

DirectXMath 3.12 is included in the Windows Insider Preview SDK (17661)

  • ARM64 use of fused multiply-accumulate intriniscs
  • Conformance fix for XMConvertFloatToHalf
  • Minor code cleanup

This version is also available on NuGet.

Last release to support VS 2013, Windows Store 8.1, or Windows Phone 8.1

DirectXMath - Windows 10 Fall Creators Update SDK (16299)

Published by walbourn over 7 years ago

DirectXMath 3.11 is included in the Windows 10 Fall Creators Update SDK (16299) as well as the Windows 10 April 2018 Update SDK (17134).

  • AVX optimization of XMMatrixMultiply and XMMatrixMultiplyTranspose
  • AVX2 optimization for XMVectorSplatX
  • FMA3 optimization of XMVectorMultiplyAdd and XMVectorNegativeMultiplySubtract (implied by /arch:AVX2)
  • Conformance fixes to support compilation with Clang 3.7

See this post.

This version is also available on NuGet.

DirectXMath - Windows 10 Fall Creators Update SDK Preview

Published by walbourn over 7 years ago

For BUILD 2017, a preview build of the next Windows 10 SDK 16190 included the following minor changes to DirectXMath:

  • Minor update to fix __m128 compatibility issues with non-Microsoft compilers (i.e. clang)