iOS Simulator and iOS platform support
WIP: Please consider this WIP making PR in order to be able to work on the CI.
Description
Add support for iOS
Fixes #627
General Checklist:
Please ensure the following points are checked:
- [ ] My code follows the coding style
- [ ] I have reviewed file licenses
- [ ] I have updated the header Copyright to reflect the current year (CI build will fail if Copyright is out of date)
- [ ] I have commented any added functions (in line with Doxygen)
- [ ] I have commented any code that could be hard to understand
- [ ] My changes do not add any new compiler warnings
- [ ] My changes do not add any new validation layer errors or warnings
- [ ] I have used existing framework/helper functions where possible
- [ ] My changes build on Windows, Linux, macOS and Android. Otherwise I have documented any exceptions
- [ ] My changes do not add any regressions
- [ ] I have tested every sample to ensure everything runs correctly
- [ ] This PR describes the scope and expected impact of the changes I am making
Sample Checklist
If your PR contains a new or modified sample, these further checks must be carried out in addition to the General Checklist:
- [ ] I have tested the sample on at least one compliant Vulkan implementation
- [ ] If the sample is vendor-specific, I have tagged it appropriately
- [ ] I have stated on what implementation the sample has been tested so that others can test on different implementations and platforms
- [ ] Any dependent assets have been merged and published in downstream modules
- [ ] For new samples, I have added a paragraph with a summary to the appropriate chapter in the samples readme
NB: this fails currently on the VolkInitialize().
I've tried this locally. As of today, it builds with the current macOS VulkanSDK, and the upcoming 1.3.280.1 release.
I tested compiling this PR with VulkanSDK 1.3.275.0 to ensure old workflows still work. Validated both the CMake and Xcode path. Both worked as expected. I don't have an iOS (or simulator) currently installed, but that has already been validated by others.