diff options
Diffstat (limited to 'PxShared')
63 files changed, 90 insertions, 88 deletions
diff --git a/PxShared/include/foundation/PxFoundation.h b/PxShared/include/foundation/PxFoundation.h index 8642c16d..aae84a9a 100644 --- a/PxShared/include/foundation/PxFoundation.h +++ b/PxShared/include/foundation/PxFoundation.h @@ -126,7 +126,18 @@ PxCreateFoundation(physx::PxU32 version, physx::PxAllocatorCallback& allocator, @see PxCreateFoundation() */ +#if PX_CLANG +#if PX_LINUX + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wreturn-type-c-linkage" +#endif // PX_LINUX +#endif // PX_CLANG PX_C_EXPORT PX_FOUNDATION_API physx::PxFoundation& PX_CALL_CONV PxGetFoundation(); +#if PX_CLANG +#if PX_LINUX + #pragma clang diagnostic pop +#endif // PX_LINUX +#endif // PX_CLANG namespace physx { diff --git a/PxShared/include/foundation/PxIntrinsics.h b/PxShared/include/foundation/PxIntrinsics.h index 471f934c..b4aff283 100644 --- a/PxShared/include/foundation/PxIntrinsics.h +++ b/PxShared/include/foundation/PxIntrinsics.h @@ -38,8 +38,8 @@ #include "foundation/unix/PxUnixIntrinsics.h" #elif PX_XBOXONE #include "foundation/XboxOne/PxXboxOneIntrinsics.h" -#elif PX_NX -#include "foundation/nx/PxNXIntrinsics.h" +#elif PX_SWITCH +#include "foundation/switch/PxSwitchIntrinsics.h" #else #error "Platform not supported!" #endif diff --git a/PxShared/include/foundation/PxPreprocessor.h b/PxShared/include/foundation/PxPreprocessor.h index 7921217d..ddbf2584 100644 --- a/PxShared/include/foundation/PxPreprocessor.h +++ b/PxShared/include/foundation/PxPreprocessor.h @@ -47,7 +47,9 @@ All definitions have a value of 1 or 0, use '#if' instead of '#ifdef'. Compiler defines, see http://sourceforge.net/p/predef/wiki/Compilers/ */ #if defined(_MSC_VER) -#if _MSC_VER >= 1900 +#if _MSC_VER >= 1910 +#define PX_VC 15 +#elif _MSC_VER >= 1900 #define PX_VC 14 #elif _MSC_VER >= 1800 #define PX_VC 12 @@ -88,7 +90,7 @@ Operating system defines, see http://sourceforge.net/p/predef/wiki/OperatingSyst #elif defined(__ORBIS__) #define PX_PS4 1 #elif defined(__NX__) -#define PX_NX 1 +#define PX_SWITCH 1 #else #error "Unknown operating system" #endif @@ -161,8 +163,8 @@ define anything not defined on this platform to 0 #ifndef PX_PS4 #define PX_PS4 0 #endif -#ifndef PX_NX -#define PX_NX 0 +#ifndef PX_SWITCH +#define PX_SWITCH 0 #endif #ifndef PX_X64 #define PX_X64 0 @@ -425,7 +427,7 @@ General defines */ // static assert -#if(defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))) || (PX_PS4) || (PX_APPLE_FAMILY) || (PX_NX) || (PX_CLANG && PX_ARM) +#if(defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))) || (PX_PS4) || (PX_APPLE_FAMILY) || (PX_SWITCH) || (PX_CLANG && PX_ARM) #define PX_COMPILE_TIME_ASSERT(exp) typedef char PxCompileTimeAssert_Dummy[(exp) ? 1 : -1] __attribute__((unused)) #else #define PX_COMPILE_TIME_ASSERT(exp) typedef char PxCompileTimeAssert_Dummy[(exp) ? 1 : -1] @@ -488,7 +490,8 @@ struct PxPackValidation long long a; }; #endif -#if !PX_APPLE_FAMILY && !PX_EMSCRIPTEN +// clang (as of version 3.9) cannot align doubles on 8 byte boundary when compiling for Intel 32 bit target +#if !PX_APPLE_FAMILY && !PX_EMSCRIPTEN && !(PX_CLANG && PX_X86) PX_COMPILE_TIME_ASSERT(PX_OFFSET_OF(PxPackValidation, a) == 8); #endif diff --git a/PxShared/include/foundation/PxSimpleTypes.h b/PxShared/include/foundation/PxSimpleTypes.h index 6ecba13e..655fbb36 100644 --- a/PxShared/include/foundation/PxSimpleTypes.h +++ b/PxShared/include/foundation/PxSimpleTypes.h @@ -56,7 +56,7 @@ #if PX_VC // we could use inttypes.h starting with VC12 #define PX_PRIu64 "I64u" #else -#if !PX_PS4 && !PX_APPLE_FAMILY +#if !PX_PS4 && !PX_APPLE_FAMILY && !PX_SWITCH #define __STDC_FORMAT_MACROS #endif #include <inttypes.h> diff --git a/PxShared/include/foundation/unix/PxUnixIntrinsics.h b/PxShared/include/foundation/unix/PxUnixIntrinsics.h index 351c83c1..e076113f 100644 --- a/PxShared/include/foundation/unix/PxUnixIntrinsics.h +++ b/PxShared/include/foundation/unix/PxUnixIntrinsics.h @@ -37,11 +37,12 @@ #error "This file should only be included by Unix builds!!" #endif -#if PX_LINUX && !defined(__CUDACC__) - // Linux and CUDA compilation does not work with std::isfnite, as it is not marked as CUDA callable - #ifndef isfinite - #define isfinite std::isfinite - #endif +#if (PX_LINUX || PX_ANDROID) && !defined(__CUDACC__) && !PX_EMSCRIPTEN + // Linux/android and CUDA compilation does not work with std::isfnite, as it is not marked as CUDA callable + #include <cmath> + #ifndef isfinite + using std::isfinite; + #endif #endif #include <math.h> @@ -125,7 +126,10 @@ PX_CUDA_CALLABLE PX_FORCE_INLINE float selectMax(float a, float b) //! \brief platform-specific finiteness check (not INF or NAN) PX_CUDA_CALLABLE PX_FORCE_INLINE bool isFinite(float a) { - return !!isfinite(a); + //std::isfinite not recommended as of Feb 2017, since it doesn't work with g++/clang's floating point optimization. + union localU { PxU32 i; float f; } floatUnion; + floatUnion.f = a; + return !((floatUnion.i & 0x7fffffff) >= 0x7f800000); } //! \brief platform-specific finiteness check (not INF or NAN) diff --git a/PxShared/lib/linux64/libPxCudaContextManager.a b/PxShared/lib/linux64/libPxCudaContextManager.a Binary files differdeleted file mode 100644 index eb1e8235..00000000 --- a/PxShared/lib/linux64/libPxCudaContextManager.a +++ /dev/null diff --git a/PxShared/lib/linux64/libPxCudaContextManagerCHECKED.a b/PxShared/lib/linux64/libPxCudaContextManagerCHECKED.a Binary files differdeleted file mode 100644 index 02effe10..00000000 --- a/PxShared/lib/linux64/libPxCudaContextManagerCHECKED.a +++ /dev/null diff --git a/PxShared/lib/linux64/libPxCudaContextManagerDEBUG.a b/PxShared/lib/linux64/libPxCudaContextManagerDEBUG.a Binary files differdeleted file mode 100644 index e9e59553..00000000 --- a/PxShared/lib/linux64/libPxCudaContextManagerDEBUG.a +++ /dev/null diff --git a/PxShared/lib/linux64/libPxCudaContextManagerPROFILE.a b/PxShared/lib/linux64/libPxCudaContextManagerPROFILE.a Binary files differdeleted file mode 100644 index e887499e..00000000 --- a/PxShared/lib/linux64/libPxCudaContextManagerPROFILE.a +++ /dev/null diff --git a/PxShared/lib/vc11win32/PxCudaContextManagerCHECKED_x86.lib b/PxShared/lib/vc11win32/PxCudaContextManagerCHECKED_x86.lib Binary files differdeleted file mode 100644 index aa8cce21..00000000 --- a/PxShared/lib/vc11win32/PxCudaContextManagerCHECKED_x86.lib +++ /dev/null diff --git a/PxShared/lib/vc11win32/PxCudaContextManagerDEBUG_x86.lib b/PxShared/lib/vc11win32/PxCudaContextManagerDEBUG_x86.lib Binary files differdeleted file mode 100644 index c3dadc09..00000000 --- a/PxShared/lib/vc11win32/PxCudaContextManagerDEBUG_x86.lib +++ /dev/null diff --git a/PxShared/lib/vc11win32/PxCudaContextManagerPROFILE_x86.lib b/PxShared/lib/vc11win32/PxCudaContextManagerPROFILE_x86.lib Binary files differdeleted file mode 100644 index 868ea75c..00000000 --- a/PxShared/lib/vc11win32/PxCudaContextManagerPROFILE_x86.lib +++ /dev/null diff --git a/PxShared/lib/vc11win32/PxCudaContextManager_x86.lib b/PxShared/lib/vc11win32/PxCudaContextManager_x86.lib Binary files differdeleted file mode 100644 index 4ded3493..00000000 --- a/PxShared/lib/vc11win32/PxCudaContextManager_x86.lib +++ /dev/null diff --git a/PxShared/lib/vc11win64/PxCudaContextManagerCHECKED_x64.lib b/PxShared/lib/vc11win64/PxCudaContextManagerCHECKED_x64.lib Binary files differdeleted file mode 100644 index a1fdc7c9..00000000 --- a/PxShared/lib/vc11win64/PxCudaContextManagerCHECKED_x64.lib +++ /dev/null diff --git a/PxShared/lib/vc11win64/PxCudaContextManagerDEBUG_x64.lib b/PxShared/lib/vc11win64/PxCudaContextManagerDEBUG_x64.lib Binary files differdeleted file mode 100644 index b6e4b7f7..00000000 --- a/PxShared/lib/vc11win64/PxCudaContextManagerDEBUG_x64.lib +++ /dev/null diff --git a/PxShared/lib/vc11win64/PxCudaContextManagerPROFILE_x64.lib b/PxShared/lib/vc11win64/PxCudaContextManagerPROFILE_x64.lib Binary files differdeleted file mode 100644 index 72a670a5..00000000 --- a/PxShared/lib/vc11win64/PxCudaContextManagerPROFILE_x64.lib +++ /dev/null diff --git a/PxShared/lib/vc11win64/PxCudaContextManager_x64.lib b/PxShared/lib/vc11win64/PxCudaContextManager_x64.lib Binary files differdeleted file mode 100644 index 5b0d0c1b..00000000 --- a/PxShared/lib/vc11win64/PxCudaContextManager_x64.lib +++ /dev/null diff --git a/PxShared/lib/vc12win32/PxCudaContextManagerCHECKED_x86.lib b/PxShared/lib/vc12win32/PxCudaContextManagerCHECKED_x86.lib Binary files differdeleted file mode 100644 index b2795766..00000000 --- a/PxShared/lib/vc12win32/PxCudaContextManagerCHECKED_x86.lib +++ /dev/null diff --git a/PxShared/lib/vc12win32/PxCudaContextManagerDEBUG_x86.lib b/PxShared/lib/vc12win32/PxCudaContextManagerDEBUG_x86.lib Binary files differdeleted file mode 100644 index 6dc8c3cc..00000000 --- a/PxShared/lib/vc12win32/PxCudaContextManagerDEBUG_x86.lib +++ /dev/null diff --git a/PxShared/lib/vc12win32/PxCudaContextManagerPROFILE_x86.lib b/PxShared/lib/vc12win32/PxCudaContextManagerPROFILE_x86.lib Binary files differdeleted file mode 100644 index fb6320d9..00000000 --- a/PxShared/lib/vc12win32/PxCudaContextManagerPROFILE_x86.lib +++ /dev/null diff --git a/PxShared/lib/vc12win32/PxCudaContextManager_x86.lib b/PxShared/lib/vc12win32/PxCudaContextManager_x86.lib Binary files differdeleted file mode 100644 index b0f11738..00000000 --- a/PxShared/lib/vc12win32/PxCudaContextManager_x86.lib +++ /dev/null diff --git a/PxShared/lib/vc12win64/PxCudaContextManagerCHECKED_x64.lib b/PxShared/lib/vc12win64/PxCudaContextManagerCHECKED_x64.lib Binary files differdeleted file mode 100644 index 3eacebe4..00000000 --- a/PxShared/lib/vc12win64/PxCudaContextManagerCHECKED_x64.lib +++ /dev/null diff --git a/PxShared/lib/vc12win64/PxCudaContextManagerDEBUG_x64.lib b/PxShared/lib/vc12win64/PxCudaContextManagerDEBUG_x64.lib Binary files differdeleted file mode 100644 index 815439cc..00000000 --- a/PxShared/lib/vc12win64/PxCudaContextManagerDEBUG_x64.lib +++ /dev/null diff --git a/PxShared/lib/vc12win64/PxCudaContextManagerPROFILE_x64.lib b/PxShared/lib/vc12win64/PxCudaContextManagerPROFILE_x64.lib Binary files differdeleted file mode 100644 index da2c7b90..00000000 --- a/PxShared/lib/vc12win64/PxCudaContextManagerPROFILE_x64.lib +++ /dev/null diff --git a/PxShared/lib/vc12win64/PxCudaContextManager_x64.lib b/PxShared/lib/vc12win64/PxCudaContextManager_x64.lib Binary files differdeleted file mode 100644 index 3ddfd2a2..00000000 --- a/PxShared/lib/vc12win64/PxCudaContextManager_x64.lib +++ /dev/null diff --git a/PxShared/lib/vc14win32/PxCudaContextManagerCHECKED_x86.lib b/PxShared/lib/vc14win32/PxCudaContextManagerCHECKED_x86.lib Binary files differdeleted file mode 100644 index bad0b439..00000000 --- a/PxShared/lib/vc14win32/PxCudaContextManagerCHECKED_x86.lib +++ /dev/null diff --git a/PxShared/lib/vc14win32/PxCudaContextManagerDEBUG_x86.lib b/PxShared/lib/vc14win32/PxCudaContextManagerDEBUG_x86.lib Binary files differdeleted file mode 100644 index 8caae9dc..00000000 --- a/PxShared/lib/vc14win32/PxCudaContextManagerDEBUG_x86.lib +++ /dev/null diff --git a/PxShared/lib/vc14win32/PxCudaContextManagerPROFILE_x86.lib b/PxShared/lib/vc14win32/PxCudaContextManagerPROFILE_x86.lib Binary files differdeleted file mode 100644 index ac6cb1f5..00000000 --- a/PxShared/lib/vc14win32/PxCudaContextManagerPROFILE_x86.lib +++ /dev/null diff --git a/PxShared/lib/vc14win32/PxCudaContextManager_x86.lib b/PxShared/lib/vc14win32/PxCudaContextManager_x86.lib Binary files differdeleted file mode 100644 index ecfe4067..00000000 --- a/PxShared/lib/vc14win32/PxCudaContextManager_x86.lib +++ /dev/null diff --git a/PxShared/lib/vc14win64/PxCudaContextManagerCHECKED_x64.lib b/PxShared/lib/vc14win64/PxCudaContextManagerCHECKED_x64.lib Binary files differdeleted file mode 100644 index 051ba5a7..00000000 --- a/PxShared/lib/vc14win64/PxCudaContextManagerCHECKED_x64.lib +++ /dev/null diff --git a/PxShared/lib/vc14win64/PxCudaContextManagerDEBUG_x64.lib b/PxShared/lib/vc14win64/PxCudaContextManagerDEBUG_x64.lib Binary files differdeleted file mode 100644 index 6dc34c9a..00000000 --- a/PxShared/lib/vc14win64/PxCudaContextManagerDEBUG_x64.lib +++ /dev/null diff --git a/PxShared/lib/vc14win64/PxCudaContextManagerPROFILE_x64.lib b/PxShared/lib/vc14win64/PxCudaContextManagerPROFILE_x64.lib Binary files differdeleted file mode 100644 index 93d4082f..00000000 --- a/PxShared/lib/vc14win64/PxCudaContextManagerPROFILE_x64.lib +++ /dev/null diff --git a/PxShared/lib/vc14win64/PxCudaContextManager_x64.lib b/PxShared/lib/vc14win64/PxCudaContextManager_x64.lib Binary files differdeleted file mode 100644 index 2e75f9b3..00000000 --- a/PxShared/lib/vc14win64/PxCudaContextManager_x64.lib +++ /dev/null diff --git a/PxShared/src/foundation/include/PsAllocator.h b/PxShared/src/foundation/include/PsAllocator.h index cbf32d38..f988b6c5 100644 --- a/PxShared/src/foundation/include/PsAllocator.h +++ b/PxShared/src/foundation/include/PsAllocator.h @@ -108,7 +108,7 @@ #elif PX_XBOXONE #include <malloc.h> #define PxAlloca(x) alloca(x) -#elif PX_NX +#elif PX_SWITCH #include <malloc.h> #define PxAlloca(x) alloca(x) #endif diff --git a/PxShared/src/foundation/include/PsAoS.h b/PxShared/src/foundation/include/PsAoS.h index 641a40a3..5a7c82de 100644 --- a/PxShared/src/foundation/include/PsAoS.h +++ b/PxShared/src/foundation/include/PsAoS.h @@ -34,7 +34,7 @@ #if PX_WINDOWS && !PX_NEON #include "windows/PsWindowsAoS.h" -#elif(PX_UNIX_FAMILY || PX_PS4 || PX_NX) +#elif(PX_UNIX_FAMILY || PX_PS4 || PX_SWITCH) #include "unix/PsUnixAoS.h" #elif PX_XBOXONE #include "XboxOne/PsXboxOneAoS.h" diff --git a/PxShared/src/foundation/include/PsInlineAoS.h b/PxShared/src/foundation/include/PsInlineAoS.h index 6d43607f..6ae15cf3 100644 --- a/PxShared/src/foundation/include/PsInlineAoS.h +++ b/PxShared/src/foundation/include/PsInlineAoS.h @@ -35,7 +35,7 @@ #if PX_WINDOWS #include "windows/PsWindowsTrigConstants.h" #include "windows/PsWindowsInlineAoS.h" -#elif(PX_UNIX_FAMILY || PX_PS4 || PX_NX) +#elif(PX_UNIX_FAMILY || PX_PS4 || PX_SWITCH) #include "unix/PsUnixTrigConstants.h" #include "unix/PsUnixInlineAoS.h" #elif PX_XBOXONE diff --git a/PxShared/src/foundation/include/PsIntrinsics.h b/PxShared/src/foundation/include/PsIntrinsics.h index 1e1b9d1a..38b91baf 100644 --- a/PxShared/src/foundation/include/PsIntrinsics.h +++ b/PxShared/src/foundation/include/PsIntrinsics.h @@ -38,8 +38,8 @@ #include "unix/PsUnixIntrinsics.h" #elif PX_XBOXONE #include "XboxOne/PsXboxOneIntrinsics.h" -#elif PX_NX -#include "nx/PsNXIntrinsics.h" +#elif PX_SWITCH +#include "switch/PsSwitchIntrinsics.h" #else #error "Platform not supported!" #endif diff --git a/PxShared/src/foundation/include/PsMutex.h b/PxShared/src/foundation/include/PsMutex.h index 7c937965..23033d09 100644 --- a/PxShared/src/foundation/include/PsMutex.h +++ b/PxShared/src/foundation/include/PsMutex.h @@ -82,7 +82,7 @@ class PX_FOUNDATION_API MutexImpl /** Size of this class. */ - static const uint32_t& getSize(); + static uint32_t getSize(); }; template <typename Alloc = ReflectionAllocator<MutexImpl> > diff --git a/PxShared/src/foundation/include/PsSList.h b/PxShared/src/foundation/include/PsSList.h index f811c373..961010b2 100644 --- a/PxShared/src/foundation/include/PsSList.h +++ b/PxShared/src/foundation/include/PsSList.h @@ -91,7 +91,7 @@ struct PX_FOUNDATION_API SListImpl void push(SListEntry* entry); SListEntry* pop(); SListEntry* flush(); - static const uint32_t& getSize(); + static uint32_t getSize(); }; template <typename Alloc = ReflectionAllocator<SListImpl> > diff --git a/PxShared/src/foundation/include/PsSync.h b/PxShared/src/foundation/include/PsSync.h index 8b997312..1fd72f53 100644 --- a/PxShared/src/foundation/include/PsSync.h +++ b/PxShared/src/foundation/include/PsSync.h @@ -70,9 +70,9 @@ class PX_FOUNDATION_API SyncImpl void reset(); /** - Size of this class. - */ - static const uint32_t& getSize(); + Size of this class. + */ + static uint32_t getSize(); }; /*! diff --git a/PxShared/src/foundation/include/PsThread.h b/PxShared/src/foundation/include/PsThread.h index 8ba553af..ec9f999a 100644 --- a/PxShared/src/foundation/include/PsThread.h +++ b/PxShared/src/foundation/include/PsThread.h @@ -41,7 +41,7 @@ #if PX_WINDOWS_FAMILY || PX_XBOXONE #define PxSpinLockPause() __asm pause -#elif PX_LINUX || PX_ANDROID || PX_PS4 || PX_APPLE_FAMILY || PX_NX +#elif PX_LINUX || PX_ANDROID || PX_PS4 || PX_APPLE_FAMILY || PX_SWITCH #define PxSpinLockPause() asm("nop") #else #error "Platform not supported!" @@ -173,7 +173,7 @@ class PX_FOUNDATION_API ThreadImpl Change the affinity mask for this thread. The mask is a platform specific value. - On Windows, Linux, PS4, XboxOne and NX platforms, each set mask bit represents + On Windows, Linux, PS4, XboxOne and Switch platforms, each set mask bit represents the index of a logical processor that the OS may schedule thread execution on. Bits outside the range of valid logical processors may be ignored or cause the function to return an error. @@ -206,9 +206,9 @@ class PX_FOUNDATION_API ThreadImpl static uint32_t getNbPhysicalCores(); /** - Size of this class. - */ - static const uint32_t& getSize(); + Size of this class. + */ + static uint32_t getSize(); }; /** diff --git a/PxShared/src/foundation/include/PsUtilities.h b/PxShared/src/foundation/include/PsUtilities.h index 32fe4ec0..cd0f200a 100644 --- a/PxShared/src/foundation/include/PsUtilities.h +++ b/PxShared/src/foundation/include/PsUtilities.h @@ -122,7 +122,7 @@ PX_CUDA_CALLABLE PX_FORCE_INLINE void order(T& x, T& y, E1& xe1, E1& ye1) } } -#if PX_GCC_FAMILY && !PX_EMSCRIPTEN +#if PX_GCC_FAMILY && !PX_EMSCRIPTEN && !PX_LINUX __attribute__((noreturn)) #endif PX_INLINE void debugBreak() @@ -132,7 +132,11 @@ __attribute__((noreturn)) #elif PX_ANDROID raise(SIGTRAP); // works better than __builtin_trap. Proper call stack and can be continued. #elif PX_LINUX - asm("int $3"); + #if (PX_X64 || PX_X64) + asm("int $3"); + #else + raise(SIGTRAP); + #endif #elif PX_GCC_FAMILY __builtin_trap(); #else diff --git a/PxShared/src/foundation/include/PsVecMath.h b/PxShared/src/foundation/include/PsVecMath.h index 4e891d8f..ffd2de86 100644 --- a/PxShared/src/foundation/include/PsVecMath.h +++ b/PxShared/src/foundation/include/PsVecMath.h @@ -54,7 +54,7 @@ #define COMPILE_VECTOR_INTRINSICS 1 #elif PX_IOS&& PX_NEON #define COMPILE_VECTOR_INTRINSICS 1 -#elif PX_NX +#elif PX_SWITCH #define COMPILE_VECTOR_INTRINSICS 1 #else #define COMPILE_VECTOR_INTRINSICS 0 diff --git a/PxShared/src/foundation/include/PsVecMathAoSScalar.h b/PxShared/src/foundation/include/PsVecMathAoSScalar.h index beb6cdc2..b7fe8e40 100644 --- a/PxShared/src/foundation/include/PsVecMathAoSScalar.h +++ b/PxShared/src/foundation/include/PsVecMathAoSScalar.h @@ -34,9 +34,6 @@ #error Scalar version should not be included when using vector intrinsics. #endif -// Remove this define when all platforms use simd solver. -#define PX_SUPPORT_SIMD - struct VecI16V; struct VecU16V; struct VecI32V; diff --git a/PxShared/src/foundation/include/unix/PsUnixInlineAoS.h b/PxShared/src/foundation/include/unix/PsUnixInlineAoS.h index e54f2c8c..74002d51 100644 --- a/PxShared/src/foundation/include/unix/PsUnixInlineAoS.h +++ b/PxShared/src/foundation/include/unix/PsUnixInlineAoS.h @@ -34,9 +34,6 @@ #error Vector intrinsics should not be included when using scalar implementation. #endif -// Remove this define when all platforms use simd solver. -#define PX_SUPPORT_SIMD - #if PX_INTEL_FAMILY #include "sse2/PsUnixSse2InlineAoS.h" #elif PX_NEON diff --git a/PxShared/src/foundation/include/unix/PsUnixIntrinsics.h b/PxShared/src/foundation/include/unix/PsUnixIntrinsics.h index 4c6c8920..e15b3b5a 100644 --- a/PxShared/src/foundation/include/unix/PsUnixIntrinsics.h +++ b/PxShared/src/foundation/include/unix/PsUnixIntrinsics.h @@ -34,7 +34,7 @@ #include "foundation/PxAssert.h" #include <math.h> -#if PX_ANDROID +#if PX_ANDROID || (PX_LINUX && !(PX_X64 || PX_X64)) // x86[_64] Linux uses inline assembly for debug break #include <signal.h> // for Ns::debugBreak() { raise(SIGTRAP); } #endif diff --git a/PxShared/src/foundation/include/unix/neon/PsUnixNeonInlineAoS.h b/PxShared/src/foundation/include/unix/neon/PsUnixNeonInlineAoS.h index 2a0578d1..4df3ff6c 100644 --- a/PxShared/src/foundation/include/unix/neon/PsUnixNeonInlineAoS.h +++ b/PxShared/src/foundation/include/unix/neon/PsUnixNeonInlineAoS.h @@ -42,7 +42,7 @@ // "exact" #define VRECIPQ recipq_newton<4> -#if PX_NX +#if PX_SWITCH // StabilizationTests.AveragePoint needs more precision to succeed. #define VRECIP recip_newton<5> #else @@ -53,9 +53,6 @@ #define VECMATH_AOS_EPSILON (1e-3f) -// Remove this define when all platforms use simd solver. -#define PX_SUPPORT_SIMD - ////////////////////////////////////////////////////////////////////// //Test that Vec3V and FloatV are legal ////////////////////////////////// diff --git a/PxShared/src/foundation/include/unix/sse2/PsUnixSse2InlineAoS.h b/PxShared/src/foundation/include/unix/sse2/PsUnixSse2InlineAoS.h index 03555381..cdb20fa8 100644 --- a/PxShared/src/foundation/include/unix/sse2/PsUnixSse2InlineAoS.h +++ b/PxShared/src/foundation/include/unix/sse2/PsUnixSse2InlineAoS.h @@ -34,9 +34,6 @@ #error Vector intrinsics should not be included when using scalar implementation. #endif -// Remove this define when all platforms use simd solver. -#define PX_SUPPORT_SIMD - #ifdef __SSE4_2__ #include "smmintrin.h" #endif diff --git a/PxShared/src/foundation/include/windows/PsWindowsInlineAoS.h b/PxShared/src/foundation/include/windows/PsWindowsInlineAoS.h index 14a311fc..5fd1b8de 100644 --- a/PxShared/src/foundation/include/windows/PsWindowsInlineAoS.h +++ b/PxShared/src/foundation/include/windows/PsWindowsInlineAoS.h @@ -34,9 +34,6 @@ #error Vector intrinsics should not be included when using scalar implementation. #endif -// Remove this define when all platforms use simd solver. -#define PX_SUPPORT_SIMD - #include "../PsVecMathSSE.h" ////////////////////////////////////////////////////////////////////// diff --git a/PxShared/src/foundation/src/PsAssert.cpp b/PxShared/src/foundation/src/PsAssert.cpp index 30703830..295a81e1 100644 --- a/PxShared/src/foundation/src/PsAssert.cpp +++ b/PxShared/src/foundation/src/PsAssert.cpp @@ -34,8 +34,8 @@ #if PX_WINDOWS_FAMILY #include <crtdbg.h> -#elif PX_NX -#include "nx/PsNXAbort.h" +#elif PX_SWITCH +#include "switch/PsSwitchAbort.h" #endif namespace @@ -63,7 +63,7 @@ class DefaultAssertHandler : public physx::PxAssertHandler __debugbreak(); #elif PX_WINDOWS_FAMILY&& PX_CHECKED __debugbreak(); -#elif PX_NX +#elif PX_SWITCH abort(buffer); #else abort(); diff --git a/PxShared/src/foundation/src/PsString.cpp b/PxShared/src/foundation/src/PsString.cpp index adb29d63..82040514 100644 --- a/PxShared/src/foundation/src/PsString.cpp +++ b/PxShared/src/foundation/src/PsString.cpp @@ -37,7 +37,7 @@ #pragma warning(disable : 4996) // unsafe string functions #endif -#if PX_PS4 || PX_APPLE_FAMILY +#if PX_PS4 || PX_APPLE_FAMILY || (PX_LINUX && PX_X86 && PX_CLANG) #pragma clang diagnostic push // error : format string is not a string literal #pragma clang diagnostic ignored "-Wformat-nonliteral" @@ -176,7 +176,7 @@ void printFormatted(const char* format, ...) } } -#if PX_PS4 || PX_APPLE_FAMILY +#if PX_PS4 || PX_APPLE_FAMILY || (PX_LINUX && PX_X86 && PX_CLANG) #pragma clang diagnostic pop #endif diff --git a/PxShared/src/foundation/src/unix/PsUnixMutex.cpp b/PxShared/src/foundation/src/unix/PsUnixMutex.cpp index 092ec1ea..23b65496 100644 --- a/PxShared/src/foundation/src/unix/PsUnixMutex.cpp +++ b/PxShared/src/foundation/src/unix/PsUnixMutex.cpp @@ -113,10 +113,9 @@ void MutexImpl::unlock() PX_UNUSED(err); } -const uint32_t gSize = sizeof(MutexUnixImpl); -const uint32_t& MutexImpl::getSize() +uint32_t MutexImpl::getSize() { - return gSize; + return sizeof(MutexUnixImpl); } class ReadWriteLockImpl diff --git a/PxShared/src/foundation/src/unix/PsUnixSList.cpp b/PxShared/src/foundation/src/unix/PsUnixSList.cpp index 5dd8ac37..c2da1bba 100644 --- a/PxShared/src/foundation/src/unix/PsUnixSList.cpp +++ b/PxShared/src/foundation/src/unix/PsUnixSList.cpp @@ -147,11 +147,9 @@ SListEntry* SListImpl::flush() return result; } -static const uint32_t gSize = sizeof(SListDetail); - -const uint32_t& SListImpl::getSize() +uint32_t SListImpl::getSize() { - return gSize; + return sizeof(SListDetail); } } // namespace shdfnd diff --git a/PxShared/src/foundation/src/unix/PsUnixSync.cpp b/PxShared/src/foundation/src/unix/PsUnixSync.cpp index aedbbe04..a488743e 100644 --- a/PxShared/src/foundation/src/unix/PsUnixSync.cpp +++ b/PxShared/src/foundation/src/unix/PsUnixSync.cpp @@ -61,10 +61,9 @@ _SyncImpl* getSync(SyncImpl* impl) } } -static const uint32_t gSize = sizeof(_SyncImpl); -const uint32_t& SyncImpl::getSize() +uint32_t SyncImpl::getSize() { - return gSize; + return sizeof(_SyncImpl); } struct PxUnixScopeLock diff --git a/PxShared/src/foundation/src/unix/PsUnixThread.cpp b/PxShared/src/foundation/src/unix/PsUnixThread.cpp index cb369e0f..749ae1d9 100644 --- a/PxShared/src/foundation/src/unix/PsUnixThread.cpp +++ b/PxShared/src/foundation/src/unix/PsUnixThread.cpp @@ -135,10 +135,9 @@ void* PxThreadStart(void* arg) } } -static const uint32_t gSize = sizeof(_ThreadImpl); -const uint32_t& ThreadImpl::getSize() +uint32_t ThreadImpl::getSize() { - return gSize; + return sizeof(_ThreadImpl); } ThreadImpl::Id ThreadImpl::getId() @@ -314,10 +313,16 @@ uint32_t ThreadImpl::setAffinityMask(uint32_t mask) return uint32_t(prevMask); } +#if PX_PS4 +int32_t setNamePS4(pthread_t, const char*); +#endif + void ThreadImpl::setName(const char* name) { -#if(defined(ANDROID) && (__ANDROID_API__ > 8)) +#if (defined(ANDROID) && (__ANDROID_API__ > 8)) pthread_setname_np(getThread(this)->thread, name); +#elif PX_PS4 + setNamePS4(getThread(this)->thread, name); #else // not implemented because most unix APIs expect setName() // to be called from the thread's context. Example see next comment: diff --git a/PxShared/src/foundation/src/windows/PsWindowsMutex.cpp b/PxShared/src/foundation/src/windows/PsWindowsMutex.cpp index 6174b966..e62de47c 100644 --- a/PxShared/src/foundation/src/windows/PsWindowsMutex.cpp +++ b/PxShared/src/foundation/src/windows/PsWindowsMutex.cpp @@ -99,11 +99,9 @@ void MutexImpl::unlock() LeaveCriticalSection(&getMutex(this)->mLock); } -static const uint32_t gSize = sizeof(MutexWinImpl); - -const uint32_t& MutexImpl::getSize() +uint32_t MutexImpl::getSize() { - return gSize; + return sizeof(MutexWinImpl); } class ReadWriteLockImpl diff --git a/PxShared/src/foundation/src/windows/PsWindowsSList.cpp b/PxShared/src/foundation/src/windows/PsWindowsSList.cpp index 146785ee..5e57b8f9 100644 --- a/PxShared/src/foundation/src/windows/PsWindowsSList.cpp +++ b/PxShared/src/foundation/src/windows/PsWindowsSList.cpp @@ -68,11 +68,9 @@ SListEntry* SListImpl::flush() return reinterpret_cast<SListEntry*>(InterlockedFlushSList(getDetail(this))); } -static const uint32_t gSize = sizeof(SLIST_HEADER); - -const uint32_t& SListImpl::getSize() +uint32_t SListImpl::getSize() { - return gSize; + return sizeof(SLIST_HEADER); } } // namespace shdfnd diff --git a/PxShared/src/foundation/src/windows/PsWindowsSocket.cpp b/PxShared/src/foundation/src/windows/PsWindowsSocket.cpp index bd253b9e..8654a7e4 100644 --- a/PxShared/src/foundation/src/windows/PsWindowsSocket.cpp +++ b/PxShared/src/foundation/src/windows/PsWindowsSocket.cpp @@ -95,8 +95,8 @@ class SocketImpl SocketImpl::SocketImpl(bool isBlocking) : mSocket(INVALID_SOCKET) , mListenSocket(INVALID_SOCKET) -, mPort(0) , mHost(NULL) +, mPort(0) , mIsConnected(false) , mIsBlocking(isBlocking) , mListenMode(false) diff --git a/PxShared/src/foundation/src/windows/PsWindowsSync.cpp b/PxShared/src/foundation/src/windows/PsWindowsSync.cpp index 5ce81229..81ae0e5f 100644 --- a/PxShared/src/foundation/src/windows/PsWindowsSync.cpp +++ b/PxShared/src/foundation/src/windows/PsWindowsSync.cpp @@ -44,10 +44,9 @@ HANDLE& getSync(SyncImpl* impl) } } -static const uint32_t gSize = sizeof(HANDLE); -const uint32_t& SyncImpl::getSize() +uint32_t SyncImpl::getSize() { - return gSize; + return sizeof(HANDLE); } SyncImpl::SyncImpl() diff --git a/PxShared/src/foundation/src/windows/PsWindowsThread.cpp b/PxShared/src/foundation/src/windows/PsWindowsThread.cpp index 18ad5ee7..9c5728af 100644 --- a/PxShared/src/foundation/src/windows/PsWindowsThread.cpp +++ b/PxShared/src/foundation/src/windows/PsWindowsThread.cpp @@ -104,10 +104,9 @@ DWORD WINAPI PxThreadStart(LPVOID arg) uint32_t gPhysicalCoreCount = 0; } -static const uint32_t gSize = sizeof(_ThreadImpl); -const uint32_t& ThreadImpl::getSize() +uint32_t ThreadImpl::getSize() { - return gSize; + return sizeof(_ThreadImpl); } ThreadImpl::Id ThreadImpl::getId() diff --git a/PxShared/src/pvd/include/PxProfileAllocatorWrapper.h b/PxShared/src/pvd/include/PxProfileAllocatorWrapper.h index 22903ec3..abac561d 100644 --- a/PxShared/src/pvd/include/PxProfileAllocatorWrapper.h +++ b/PxShared/src/pvd/include/PxProfileAllocatorWrapper.h @@ -74,7 +74,7 @@ namespace physx { namespace profile { { static const char* getName() { -#if PX_LINUX || PX_ANDROID || PX_PS4 || PX_IOS || PX_OSX || PX_EMSCRIPTEN || PX_NX +#if PX_LINUX || PX_ANDROID || PX_PS4 || PX_IOS || PX_OSX || PX_EMSCRIPTEN || PX_SWITCH return __PRETTY_FUNCTION__; #else return typeid(T).name(); diff --git a/PxShared/src/pvd/src/PxProfileEvents.h b/PxShared/src/pvd/src/PxProfileEvents.h index 25f09d7b..c8a99890 100644 --- a/PxShared/src/pvd/src/PxProfileEvents.h +++ b/PxShared/src/pvd/src/PxProfileEvents.h @@ -103,7 +103,7 @@ namespace physx { namespace profile { }; }; -#if (PX_PS4) || (PX_APPLE_FAMILY) +#if (PX_PS4) || (PX_APPLE_FAMILY) || (PX_LINUX && PX_X86 && PX_CLANG) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wimplicit-fallthrough" #endif @@ -162,7 +162,7 @@ namespace physx { namespace profile { return EventStreamCompressionFlags::U32; } -#if (PX_PS4) || (PX_APPLE_FAMILY) +#if (PX_PS4) || (PX_APPLE_FAMILY) || (PX_LINUX && PX_X86 && PX_CLANG) #pragma clang diagnostic pop #endif diff --git a/PxShared/src/task/src/TaskManager.cpp b/PxShared/src/task/src/TaskManager.cpp index c6210bd8..15512160 100644 --- a/PxShared/src/task/src/TaskManager.cpp +++ b/PxShared/src/task/src/TaskManager.cpp @@ -694,7 +694,7 @@ bool PxTaskMgr::dispatchTask( PxTaskID taskID, bool gpuGroupStart ) break; } - tt.mType = PxTaskType::TT_COMPLETED; + mTaskTable[taskID].mType = PxTaskType::TT_COMPLETED; return gpuGroupStart; } |