Skip to content

Commit

Permalink
Update load tests to Vulkan SDK version 1.3.290. (#931)
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
MarkCallow authored Aug 6, 2024
1 parent 6f54c86 commit a545f00
Show file tree
Hide file tree
Showing 248 changed files with 3,320 additions and 98,598 deletions.
23 changes: 12 additions & 11 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ jobs:
arch: arm64
options: {
config: 'Debug,Release',
doc: ON, jni: ON, loadtests: OpenGL, py: OFF, tests: ON, tools: ON, tools_cts: ON,
doc: ON, jni: ON, loadtests: OpenGL+Vulkan, py: OFF, tests: ON, tools: ON, tools_cts: ON,
package: YES
}
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -119,7 +119,7 @@ jobs:
# when vcpkg is compiling glew. Default is logical cores + 1.
# Runners have 1 thread per core and 2 cores.
VCPKG_MAX_CONCURRENCY: 2
VULKAN_SDK_VER: 1.3.243.0
VULKAN_SDK_VER: 1.3.290.0

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -202,15 +202,16 @@ jobs:
echo "CODE_SIGN_KEY_VAULT=Azure" >> $env:GITHUB_ENV
}
- name: Install Dependencies for load tests on arm64
if: matrix.arch == 'arm64' && matrix.options.loadtests != 'OFF'
run: |
pushd $env:VCPKG_INSTALLATION_ROOT
./vcpkg install SDL2:arm64-windows assimp:arm64-windows glew:arm64-windows
cat buildtrees\glew\install-arm64-windows-rel-out.log
popd
echo "CMAKE_TOOLCHAIN_FILE=$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" >> $env:GITHUB_ENV
echo "LOADTESTS_USE_LOCAL_DEPENDENCIES=ON" >> $env:GITHUB_ENV
- name: Export GitHub Actions cache and vcpkg environment variables
if: matrix.options.loadtests != 'OFF'
uses: actions/github-script@v7
with:
# Caution. JSON in use. "#core" breaks the build.
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
core.exportVariable('VCPKG_BINARY_SOURCES', "clear;x-gha,readwrite");
core.exportVariable('VCPKG_ROOT', process.env.VCPKG_INSTALLATION_ROOT || '');
- name: Install Dependencies
if: matrix.check_mkvk != 'ONLY'
Expand Down
27 changes: 18 additions & 9 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ addons:
packages:
- git-lfs

cache:
directories:
- $HOME/.cache/vcpkg/archives

env:
global:
- BUILD_DIR: build
Expand All @@ -31,7 +35,7 @@ env:
- HOMEBREW_NO_AUTO_UPDATE: 1
- PACKAGE: NO
- REL_DESC_FILE: "$BUILD_DIR/rel_desc.md"
- VULKAN_SDK_VER: "1.3.243.0"
- VULKAN_SDK_VER: "1.3.290.0"
# This is just to tell the Vulkan install script where to install.
- VULKAN_INSTALL_DIR: "$HOME/VulkanSDK/$VULKAN_SDK_VER"
- VULKAN_SDK: "$VULKAN_INSTALL_DIR/macOS"
Expand All @@ -49,7 +53,7 @@ env:
# runs on x86_64)
- CONFIGURATION=Debug,Release PLATFORM=macOS ARCHS=x86_64
FEATURE_DOC=ON FEATURE_JNI=ON FEATURE_PY=ON FEATURE_LOADTESTS=OpenGL+Vulkan FEATURE_TOOLS=ON
FEATURE_TOOLS_CTS=ON LOADTESTS_USE_LOCAL_DEPENDENCIES=ON SUPPORT_SSE=ON SUPPORT_OPENCL=OFF DEPLOY_DOCS=YES PACKAGE=YES
FEATURE_TOOLS_CTS=ON SUPPORT_SSE=ON SUPPORT_OPENCL=OFF DEPLOY_DOCS=YES PACKAGE=YES
- CONFIGURATION=Release PLATFORM=macOS ARCHS=arm64
FEATURE_DOC=ON FEATURE_JNI=ON FEATURE_PY=OFF FEATURE_LOADTESTS=OpenGL+Vulkan FEATURE_TESTS=OFF
FEATURE_TOOLS=ON FEATURE_TOOLS_CTS=OFF SUPPORT_SSE=ON SUPPORT_OPENCL=OFF PACKAGE=YES
Expand Down Expand Up @@ -91,7 +95,7 @@ jobs:
compiler: gcc # clang is tested by macOS build
env:
# NB: This must not have the fourth component of the version number.
- VULKAN_SDK_VER: "1.3.243"
- VULKAN_SDK_VER: "1.3.290"
- CMAKE_GEN: Ninja
- CONFIGURATION=Debug
FEATURE_DOC=OFF FEATURE_JNI=ON FEATURE_PY=ON FEATURE_LOADTESTS=OpenGL+Vulkan FEATURE_TOOLS=ON
Expand All @@ -106,7 +110,7 @@ jobs:
#jdk: openjdk17 # Reminder to find correct way to select jdk 17
env:
# NB: This must not have the fourth component of the version number.
- VULKAN_SDK_VER: "1.3.243"
- VULKAN_SDK_VER: "1.3.290"
- CMAKE_GEN: Ninja
- CONFIGURATION=Release
FEATURE_DOC=ON FEATURE_JNI=ON FEATURE_PY=ON FEATURE_LOADTESTS=OpenGL+Vulkan FEATURE_TOOLS=ON
Expand All @@ -126,7 +130,7 @@ jobs:
#jdk: openjdk17
env:
# NB: This must not have the fourth component of the version number.
- VULKAN_SDK_VER: "1.3.243"
- VULKAN_SDK_VER: "1.3.290"
- CMAKE_GEN: Ninja
- CONFIGURATION=Release
FEATURE_DOC=ON FEATURE_JNI=ON FEATURE_PY=ON FEATURE_LOADTESTS=OpenGL
Expand Down Expand Up @@ -204,6 +208,15 @@ before_install:
sudo apt-get update
fi
;;
osx)
if [[ -n "$FEATURE_LOADTESTS" && "$FEATURE_LOADTESTS" != "OFF" ]]; then
# Install vcpkg.
pushd $HOME
git clone https://github.com/microsoft/vcpkg
cd vcpkg && ./bootstrap-vcpkg.sh -disableMetrics && export VCPKG_ROOT=$(pwd)
popd
fi
;;
esac
install:
Expand Down Expand Up @@ -237,10 +250,6 @@ install:
;;
osx)
if [ "$CHECK_REUSE" != "ONLY" -a "$CHECK_MKVK" != "ONLY" ]; then
if [ "$LOADTESTS_USE_LOCAL_DEPENDENCIES" = "ON" ]; then
brew install sdl2
brew install assimp
fi
if [ "$FEATURE_DOC" = "ON" ]; then
brew install doxygen
brew install graphviz
Expand Down
Loading

0 comments on commit a545f00

Please sign in to comment.