iOS platform support #2
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?
ios64
added. Initial support focused on 64-bit arm8 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\UNKNOWN
. 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
, adding the following lines to theif
condition insideGetPlatformBinName
function: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/ios.arm_64
install
target successfully. It generated the correct output for iOS underinstall/ios64
folder, only including necessary headers for iOS.Open 3D Engine (O3DE)
with an early integration branch. The following video shows O3DE running PhysX 5.1 on iOS.https://user-images.githubusercontent.com/27999040/204574141-2e00c7bf-86b5-4e14-981f-6b80665a3ef7.mp4
Signed-off-by: moraaar moraaar@amazon.com