diff options
Diffstat (limited to 'thirdparty/vhacd')
-rw-r--r-- | thirdparty/vhacd/0003-fix-musl-build.patch | 15 | ||||
-rw-r--r-- | thirdparty/vhacd/0004-fix-uwp-arm-build.patch | 16 | ||||
-rw-r--r-- | thirdparty/vhacd/0005-fix-scale-calculation.patch | 20 | ||||
-rw-r--r-- | thirdparty/vhacd/inc/btScalar.h | 5 | ||||
-rw-r--r-- | thirdparty/vhacd/inc/vhacdMutex.h | 4 | ||||
-rw-r--r-- | thirdparty/vhacd/inc/vhacdVolume.h | 4 |
6 files changed, 60 insertions, 4 deletions
diff --git a/thirdparty/vhacd/0003-fix-musl-build.patch b/thirdparty/vhacd/0003-fix-musl-build.patch new file mode 100644 index 0000000000..67af8546f3 --- /dev/null +++ b/thirdparty/vhacd/0003-fix-musl-build.patch @@ -0,0 +1,15 @@ +diff --git a/thirdparty/vhacd/inc/vhacdMutex.h b/thirdparty/vhacd/inc/vhacdMutex.h +index 6b09259200..d587dd6387 100644 +--- a/thirdparty/vhacd/inc/vhacdMutex.h ++++ b/thirdparty/vhacd/inc/vhacdMutex.h +@@ -71,7 +71,9 @@ + #include <pthread.h> + #endif + +-#if defined(__APPLE__) ++// -- GODOT start -- ++#if defined(__APPLE__) || !defined(__GLIBC__) ++// -- GODOT end -- + #define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE + #endif + diff --git a/thirdparty/vhacd/0004-fix-uwp-arm-build.patch b/thirdparty/vhacd/0004-fix-uwp-arm-build.patch new file mode 100644 index 0000000000..a5bba3fd7d --- /dev/null +++ b/thirdparty/vhacd/0004-fix-uwp-arm-build.patch @@ -0,0 +1,16 @@ +diff --git a/thirdparty/vhacd/inc/btScalar.h b/thirdparty/vhacd/inc/btScalar.h +index 3999a71521..4c9e0cf7ab 100644 +--- a/thirdparty/vhacd/inc/btScalar.h ++++ b/thirdparty/vhacd/inc/btScalar.h +@@ -72,7 +72,10 @@ inline int32_t btGetVersion() + #define btFsel(a, b, c) __fsel((a), (b), (c)) + #else + +-#if (defined(_WIN32) && (_MSC_VER) && _MSC_VER >= 1400) && (!defined(BT_USE_DOUBLE_PRECISION)) ++// -- GODOT start -- ++//#if (defined(_WIN32) && (_MSC_VER) && _MSC_VER >= 1400) && (!defined(BT_USE_DOUBLE_PRECISION)) ++#if (defined(_WIN32) && (_MSC_VER) && _MSC_VER >= 1400) && (!defined(BT_USE_DOUBLE_PRECISION)) && (!defined(_M_ARM)) ++// -- GODOT end -- + #define BT_USE_SSE + #include <emmintrin.h> + #endif diff --git a/thirdparty/vhacd/0005-fix-scale-calculation.patch b/thirdparty/vhacd/0005-fix-scale-calculation.patch new file mode 100644 index 0000000000..4b05f64fbf --- /dev/null +++ b/thirdparty/vhacd/0005-fix-scale-calculation.patch @@ -0,0 +1,20 @@ +diff --git a/thirdparty/vhacd/inc/vhacdVolume.h b/thirdparty/vhacd/inc/vhacdVolume.h +index 8c47fa1e2c..c445f20122 100644 +--- a/thirdparty/vhacd/inc/vhacdVolume.h ++++ b/thirdparty/vhacd/inc/vhacdVolume.h +@@ -316,13 +316,13 @@ void Volume::Voxelize(const T* const points, const uint32_t stridePoints, const + + double d[3] = { m_maxBB[0] - m_minBB[0], m_maxBB[1] - m_minBB[1], m_maxBB[2] - m_minBB[2] }; + double r; +- if (d[0] > d[1] && d[0] > d[2]) { ++ if (d[0] >= d[1] && d[0] >= d[2]) { + r = d[0]; + m_dim[0] = dim; + m_dim[1] = 2 + static_cast<size_t>(dim * d[1] / d[0]); + m_dim[2] = 2 + static_cast<size_t>(dim * d[2] / d[0]); + } +- else if (d[1] > d[0] && d[1] > d[2]) { ++ else if (d[1] >= d[0] && d[1] >= d[2]) { + r = d[1]; + m_dim[1] = dim; + m_dim[0] = 2 + static_cast<size_t>(dim * d[0] / d[1]); diff --git a/thirdparty/vhacd/inc/btScalar.h b/thirdparty/vhacd/inc/btScalar.h index 3999a71521..4c9e0cf7ab 100644 --- a/thirdparty/vhacd/inc/btScalar.h +++ b/thirdparty/vhacd/inc/btScalar.h @@ -72,7 +72,10 @@ inline int32_t btGetVersion() #define btFsel(a, b, c) __fsel((a), (b), (c)) #else -#if (defined(_WIN32) && (_MSC_VER) && _MSC_VER >= 1400) && (!defined(BT_USE_DOUBLE_PRECISION)) +// -- GODOT start -- +//#if (defined(_WIN32) && (_MSC_VER) && _MSC_VER >= 1400) && (!defined(BT_USE_DOUBLE_PRECISION)) +#if (defined(_WIN32) && (_MSC_VER) && _MSC_VER >= 1400) && (!defined(BT_USE_DOUBLE_PRECISION)) && (!defined(_M_ARM)) +// -- GODOT end -- #define BT_USE_SSE #include <emmintrin.h> #endif diff --git a/thirdparty/vhacd/inc/vhacdMutex.h b/thirdparty/vhacd/inc/vhacdMutex.h index 6b09259200..d587dd6387 100644 --- a/thirdparty/vhacd/inc/vhacdMutex.h +++ b/thirdparty/vhacd/inc/vhacdMutex.h @@ -71,7 +71,9 @@ #include <pthread.h> #endif -#if defined(__APPLE__) +// -- GODOT start -- +#if defined(__APPLE__) || !defined(__GLIBC__) +// -- GODOT end -- #define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE #endif diff --git a/thirdparty/vhacd/inc/vhacdVolume.h b/thirdparty/vhacd/inc/vhacdVolume.h index 8c47fa1e2c..c445f20122 100644 --- a/thirdparty/vhacd/inc/vhacdVolume.h +++ b/thirdparty/vhacd/inc/vhacdVolume.h @@ -316,13 +316,13 @@ void Volume::Voxelize(const T* const points, const uint32_t stridePoints, const double d[3] = { m_maxBB[0] - m_minBB[0], m_maxBB[1] - m_minBB[1], m_maxBB[2] - m_minBB[2] }; double r; - if (d[0] > d[1] && d[0] > d[2]) { + if (d[0] >= d[1] && d[0] >= d[2]) { r = d[0]; m_dim[0] = dim; m_dim[1] = 2 + static_cast<size_t>(dim * d[1] / d[0]); m_dim[2] = 2 + static_cast<size_t>(dim * d[2] / d[0]); } - else if (d[1] > d[0] && d[1] > d[2]) { + else if (d[1] >= d[0] && d[1] >= d[2]) { r = d[1]; m_dim[1] = dim; m_dim[0] = 2 + static_cast<size_t>(dim * d[0] / d[1]); |