Mac platform support (intel and arm) #3
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What's new?
mac64
added. It supports 64-bit x86_64 architecture with SSE2 SIMD instructions.mac-arm64
added. It supports 64-bit arm architecture with NEON SIMD instructions.Out of Scope
The following points are considered out of scope, they can be added in the future:
Known Errors/Limitations
bin\mac.x86_64
. To fix this nVidia has to modify the CMakeModules package it's downloaded from packman when building PhysX (Modify CMakeModules package Packman downloads to include Android, iOS and Mac platforms NVIDIA-Omniverse/PhysX#59). The file that needs to be modified isGetCompilerAndPlatform.cmake
, modifying the mac lines of theif
condition insideGetPlatformBinName
function to this:dyld[number]: missing symbol called
when run on an arm-based Mac. To fix this nVidia has to add an ARM python package for mac into the packman scripts (Add to packman the arm-based version of python for Mac NVIDIA-Omniverse/PhysX#60). As a temporary solution, use your system's python adding the environment variablePM_PYTHON_EXT
before building (for example by addingexport PM_PYTHON_EXT="python3"
into your.bash_profile
file).Testing
PX_GENERATE_STATIC_LIBRARIES
set to both true and false. The right output binaries were generated inbin/mac.x86_64
PX_GENERATE_STATIC_LIBRARIES
set to both true and false. The right output binaries were generated inbin/mac.arm64
install
target successfully. It generated the correct output for Mac underinstall/mac64
andinstall/mac-arm64
folders, only including necessary headers for Mac.Open 3D Engine (O3DE)
with an early integration branch. The following video shows O3DE running PhysX 5.1 on mac64.https://user-images.githubusercontent.com/27999040/204763960-7fe2763e-c3b1-4c73-a6fb-ad3357ef02d3.mov
Signed-off-by: moraaar moraaar@amazon.com