KhronosGroup / KTX-Software

KTX (Khronos Texture) Library and Tools
Other
861 stars 225 forks source link

Update load tests to Vulkan SDK version 1.3.290. #931

Closed MarkCallow closed 1 month ago

MarkCallow commented 1 month ago

1.3.290 is the first release of official iOS support and first with support for Windows arm64.

Stop using binaries of SDL2, assimp and glew libraries stored in repo because an updated SDL2 is needed for 1.3.290 and more platforms are now supported. Dependencies for iOS, macOS and Windows are now obtained through vcpkg. Those for Linux through the package manager as before.

Thus remove other_lib, other_include/{SDL2,assimp} and other_include/GL/{glew,glxew,wglew}.h. Move the modified Vulkan manifest files to tests/loadtests/appfwSDL/VulkanAppSDL. This incidentally fixes #763.

These changes plus removal of the hacks for finding the iOS components in older Vulkan SDKs means a major revamp of the load tests-related CMake files.

vcpkg is used in manifest mode so installation of dependencies is automatic once vcpkg is installted. This use of vcpkg led to a reshuffle of the root CMakeLists.txt to put some options before the project() comment so their values can be used to set VCPKG-related variables.

Deployment target for iOS is bumped to 12.0 and for macOS to 11.0 to match what is supported by this Vulkan SDK.

The PR also fixes some unrelated problems:

  1. A syntax error in scripts/mkversion most likely introduced by PR #922. It is unclear why CI did not fail with this.
  2. Use of a query in `scripts/build_win.ps1 that returned process architecture not machine architecture. VS2022 Developer PowerShells are x86 processes leading to failure with the old query. Use Get-ComputerInfo instead.
  3. Also in scripts/build_win.ps1, a warning when PYTHON is defined on the CMake configure command line if FEATURE_PYTHON is not ON.