Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ports/directxmath/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ vcpkg_from_github(
PATCHES
MinGW-fix.patch
Linux-SHMath-SAL.patch
powerpc64le.patch
)

vcpkg_check_features(
Expand Down
32 changes: 32 additions & 0 deletions ports/directxmath/powerpc64le.patch
Original file line number Diff line number Diff line change
@@ -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<unsigned short const*>(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]);
2 changes: 1 addition & 1 deletion ports/directxmath/vcpkg.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
2 changes: 1 addition & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -2481,7 +2481,7 @@
"port-version": 0
},
"directxmath": {
"baseline": "2025-04-03",
"baseline": "2026-03-12",
"port-version": 0
},
"directxmesh": {
Expand Down
5 changes: 5 additions & 0 deletions versions/d-/directxmath.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "28b3a14bbce32017e2f630c0558ddbdd23fb4c85",
"version-date": "2026-03-12",
"port-version": 0
},
{
"git-tree": "b199edaeaf0b2b92a634dfeb1289879ea5eeae7f",
"version-date": "2025-04-03",
Expand Down