diff --git a/ports/directxmath/portfile.cmake b/ports/directxmath/portfile.cmake index c0018de6197e0b..851091a3831790 100644 --- a/ports/directxmath/portfile.cmake +++ b/ports/directxmath/portfile.cmake @@ -7,6 +7,7 @@ vcpkg_from_github( PATCHES MinGW-fix.patch Linux-SHMath-SAL.patch + powerpc64le.patch ) vcpkg_check_features( diff --git a/ports/directxmath/powerpc64le.patch b/ports/directxmath/powerpc64le.patch new file mode 100644 index 00000000000000..76d2c7ee95af34 --- /dev/null +++ b/ports/directxmath/powerpc64le.patch @@ -0,0 +1,32 @@ +--- a/Inc/DirectXMath.h ++++ b/Inc/DirectXMath.h +@@ -82,7 +82,7 @@ + #endif + + #if !defined(_XM_ARM_NEON_INTRINSICS_) && !defined(_XM_SSE_INTRINSICS_) && !defined(_XM_NO_INTRINSICS_) +-#if (defined(_M_IX86) || defined(_M_X64) || __i386__ || __x86_64__) && !defined(_M_HYBRID_X86_ARM64) && !defined(_M_ARM64EC) ++#if (defined(_M_IX86) || defined(_M_X64) || __i386__ || __x86_64__ || __powerpc64__) && !defined(_M_HYBRID_X86_ARM64) && !defined(_M_ARM64EC) + #define _XM_SSE_INTRINSICS_ + #elif defined(_M_ARM) || defined(_M_ARM64) || defined(_M_HYBRID_X86_ARM64) || defined(_M_ARM64EC) || __arm__ || __aarch64__ + #define _XM_ARM_NEON_INTRINSICS_ +@@ -213,7 +213,7 @@ + #define XM_PERMUTE_PS( v, c ) _mm_shuffle_ps((v), (v), c ) + #endif + +-#if defined(__GNUC__) && !defined(__clang__) && (__GNUC__ < 11) ++#if (defined(__GNUC__) && !defined(__clang__) && (__GNUC__ < 11)) || defined(__powerpc64__) + #define XM_LOADU_SI16( p ) _mm_cvtsi32_si128(*reinterpret_cast(p)) + #else + #define XM_LOADU_SI16( p ) _mm_loadu_si16(p) + +--- a/Inc/DirectXMathMisc.inl ++++ b/Inc/DirectXMathMisc.inl +@@ -1971,7 +1971,7 @@ + + inline bool XMVerifyCPUSupport() noexcept + { +-#if defined(_XM_SSE_INTRINSICS_) && !defined(_XM_NO_INTRINSICS_) ++#if defined(_XM_SSE_INTRINSICS_) && !defined(__powerpc64__) && !defined(_XM_NO_INTRINSICS_) + int CPUInfo[4] = { -1 }; + #if (defined(__clang__) || defined(__GNUC__)) && defined(__cpuid) + __cpuid(0, CPUInfo[0], CPUInfo[1], CPUInfo[2], CPUInfo[3]); diff --git a/ports/directxmath/vcpkg.json b/ports/directxmath/vcpkg.json index db627e07a229c7..78752e17d70014 100644 --- a/ports/directxmath/vcpkg.json +++ b/ports/directxmath/vcpkg.json @@ -1,6 +1,6 @@ { "name": "directxmath", - "version-date": "2025-04-03", + "version-date": "2026-03-12", "description": "DirectXMath SIMD C++ math library", "homepage": "https://github.com/Microsoft/DirectXMath", "documentation": "https://docs.microsoft.com/windows/win32/dxmath/directxmath-portal", diff --git a/versions/baseline.json b/versions/baseline.json index 2925acf17c68e2..9b28107967d9bb 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2481,7 +2481,7 @@ "port-version": 0 }, "directxmath": { - "baseline": "2025-04-03", + "baseline": "2026-03-12", "port-version": 0 }, "directxmesh": { diff --git a/versions/d-/directxmath.json b/versions/d-/directxmath.json index 77980d4771c1a4..545930c40bc01d 100644 --- a/versions/d-/directxmath.json +++ b/versions/d-/directxmath.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "28b3a14bbce32017e2f630c0558ddbdd23fb4c85", + "version-date": "2026-03-12", + "port-version": 0 + }, { "git-tree": "b199edaeaf0b2b92a634dfeb1289879ea5eeae7f", "version-date": "2025-04-03",