aboutsummaryrefslogtreecommitdiff
path: root/APEX_1.4/module/clothing/embedded/LowLevelCloth/src
diff options
context:
space:
mode:
authorsschirm <[email protected]>2017-02-27 16:40:12 +0100
committersschirm <[email protected]>2017-03-01 18:04:26 +0100
commit7840347c32755e94a807f978f1cbb558717ac8cf (patch)
tree295cd3ca93a45f8fcc43cf3cbf3887c0e0c5526b /APEX_1.4/module/clothing/embedded/LowLevelCloth/src
parentPre-release comments marking end of beta. (diff)
downloadphysx-3.4-7840347c32755e94a807f978f1cbb558717ac8cf.tar.xz
physx-3.4-7840347c32755e94a807f978f1cbb558717ac8cf.zip
PhysX 3.4, APEX 1.4 final release @21757769v3.4.0-rc-2
Diffstat (limited to 'APEX_1.4/module/clothing/embedded/LowLevelCloth/src')
-rw-r--r--APEX_1.4/module/clothing/embedded/LowLevelCloth/src/SimdTypes.h19
-rw-r--r--APEX_1.4/module/clothing/embedded/LowLevelCloth/src/sse2/SwCollisionHelpers.h3
2 files changed, 19 insertions, 3 deletions
diff --git a/APEX_1.4/module/clothing/embedded/LowLevelCloth/src/SimdTypes.h b/APEX_1.4/module/clothing/embedded/LowLevelCloth/src/SimdTypes.h
index 667604bc..556d0ad2 100644
--- a/APEX_1.4/module/clothing/embedded/LowLevelCloth/src/SimdTypes.h
+++ b/APEX_1.4/module/clothing/embedded/LowLevelCloth/src/SimdTypes.h
@@ -32,12 +32,21 @@
#include <cmath>
// ps4 compiler defines _M_X64 without value
-#if((defined _M_IX86) || (defined _M_X64) || (defined __i386__) || (defined __x86_64__))
+#if !defined(PX_SIMD_DISABLED)
+#if((defined _M_IX86) || (defined _M_X64) || (defined __i386__) || (defined __x86_64__) || (defined __EMSCRIPTEN__ && defined __SSE2__))
#define NVMATH_SSE2 1
#else
#define NVMATH_SSE2 0
#endif
-#define NVMATH_NEON (defined _M_ARM || defined __ARM_NEON__)
+#if((defined _M_ARM) || (defined __ARM_NEON__) || (defined __ARM_NEON_FP))
+#define NVMATH_NEON 1
+#else
+#define NVMATH_NEON 0
+#endif
+#else
+#define NVMATH_SSE2 0
+#define NVMATH_NEON 0
+#endif
// which simd types are implemented (one or both are all valid options)
#define NVMATH_SIMD (NVMATH_SSE2 || NVMATH_NEON)
@@ -51,7 +60,11 @@
// Simd4f and Simd4i map to different types
#define NVMATH_DISTINCT_TYPES (NVMATH_SSE2 || NVMATH_NEON)
// support inline assembler
-#define NVMATH_INLINE_ASSEMBLER !((defined _M_ARM) || (defined SN_TARGET_PSP2) || (defined __arm64__))
+#if !((defined _M_ARM) || (defined SN_TARGET_PSP2) || (defined __arm64__) || (defined __aarch64__))
+#define NVMATH_INLINE_ASSEMBLER 1
+#else
+#define NVMATH_INLINE_ASSEMBLER 0
+#endif
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// expression template
diff --git a/APEX_1.4/module/clothing/embedded/LowLevelCloth/src/sse2/SwCollisionHelpers.h b/APEX_1.4/module/clothing/embedded/LowLevelCloth/src/sse2/SwCollisionHelpers.h
index a4e332f7..aec68737 100644
--- a/APEX_1.4/module/clothing/embedded/LowLevelCloth/src/sse2/SwCollisionHelpers.h
+++ b/APEX_1.4/module/clothing/embedded/LowLevelCloth/src/sse2/SwCollisionHelpers.h
@@ -14,6 +14,9 @@
#pragma once
#ifdef PX_GCC_FAMILY
+#ifdef PX_EMSCRIPTEN
+#include <emmintrin.h>
+#endif
#include <xmmintrin.h> // _BitScanForward
#else
#pragma warning(push)