Merge branch 'main' into cl_khr_unified_svm

This commit is contained in:
Ben Ashbaugh
2025-09-09 17:39:11 -07:00
152 changed files with 6767 additions and 1914 deletions

View File

@@ -10,7 +10,7 @@ jobs:
matrix:
build-type: [Release]
gl: [0]
os: [ubuntu-22.04, macos-latest, windows-latest]
os: [ubuntu-22.04, macos-latest, windows-latest, windows-11-arm]
include:
- os: ubuntu-22.04
gl: 1
@@ -28,7 +28,7 @@ jobs:
arch: android-aarch64
android_arch_abi: arm64-v8a
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Setup Ninja
uses: seanmiddleditch/gha-setup-ninja@master
- name: Install Arm and AArch64 compilers
@@ -62,6 +62,10 @@ jobs:
git checkout cl_khr_unified_svm
ln -s CL OpenCL # For OSX builds
cd ..
- name: Fetch SPIR-V Headers
shell: bash
run: |
git clone https://github.com/KhronosGroup/SPIRV-Headers.git
- name: Install Vulkan SDK
uses: humbletim/install-vulkan-sdk@main
with:
@@ -70,12 +74,13 @@ jobs:
- name: Install Android NDK
if: ${{ matrix.arch == 'android-arm' || matrix.arch == 'android-aarch64' }}
run: |
wget https://dl.google.com/android/repository/android-ndk-r27c-linux.zip -O android-ndk.zip
wget https://dl.google.com/android/repository/android-ndk-r28c-linux.zip -O android-ndk.zip
unzip android-ndk.zip -d $HOME
export ANDROID_NDK=$HOME/android-ndk-r27c
export ANDROID_NDK=$HOME/android-ndk-r28c
echo "ANDROID_NDK=$ANDROID_NDK" >> $GITHUB_ENV
export ANDROID_ARCH_ABI=${{ matrix.android_arch_abi }}
echo "ANDROID_ARCH_ABI=$ANDROID_ARCH_ABI" >> $GITHUB_ENV
echo "ANDROID_PLATFORM=29" >> $GITHUB_ENV
- name: Prepare CMake Toolchain file
shell: bash
run: |
@@ -108,7 +113,7 @@ jobs:
if: ${{ matrix.arch == 'android-arm' || matrix.arch == 'android-aarch64' }}
shell: bash
run: |
echo "CMAKE_CONFIG_ARGS_ANDROID=-DCMAKE_ANDROID_ARCH_ABI=${ANDROID_ARCH_ABI}" >> $GITHUB_ENV
echo "CMAKE_ADDITIONAL_CONFIG_ARGS=-DCMAKE_ANDROID_ARCH_ABI=${ANDROID_ARCH_ABI} -DANDROID_PLATFORM=${ANDROID_PLATFORM}" >> $GITHUB_ENV
- name: Fetch and build OpenCL ICD Loader
shell: bash
run: |
@@ -120,7 +125,7 @@ jobs:
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} \
-DOPENCL_ICD_LOADER_HEADERS_DIR='${{ github.workspace }}'/OpenCL-Headers/ \
"${CMAKE_CONFIG_ARGS_ANDROID}"
${CMAKE_ADDITIONAL_CONFIG_ARGS}
cmake --build . --parallel
- name: Fetch Vulkan Headers
shell: bash
@@ -150,6 +155,7 @@ jobs:
cd build
if [[ ${RUNNER_OS} == "Windows" ]]; then
CMAKE_OPENCL_LIBRARIES_OPTION="OpenCL"
CMAKE_ADDITIONAL_CONFIG_ARGS="-DD3D10_IS_SUPPORTED=ON -DD3D11_IS_SUPPORTED=ON"
else
CMAKE_OPENCL_LIBRARIES_OPTION="-lOpenCL"
if [[ '${{ matrix.arch }}' != android-* ]]; then
@@ -158,8 +164,10 @@ jobs:
fi
cmake .. -G Ninja \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-DCMAKE_CACHE_OPTIONS="-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache" \
-DCMAKE_C_COMPILER_LAUNCHER=sccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=sccache \
-DCL_INCLUDE_DIR='${{ github.workspace }}'/OpenCL-Headers \
-DSPIRV_INCLUDE_DIR='${{ github.workspace }}'/SPIRV-Headers \
-DCL_LIB_DIR='${{ github.workspace }}'/OpenCL-ICD-Loader/build \
-DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} \
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=./bin \
@@ -169,7 +177,7 @@ jobs:
-DVULKAN_IS_SUPPORTED=ON \
-DVULKAN_INCLUDE_DIR='${{ github.workspace }}'/Vulkan-Headers/include/ \
-DVULKAN_LIB_DIR='${{ github.workspace }}'/Vulkan-Loader/build/loader/ \
"${CMAKE_CONFIG_ARGS_ANDROID}"
${CMAKE_ADDITIONAL_CONFIG_ARGS}
cmake --build . --parallel
formatcheck:
name: Check code format
@@ -177,7 +185,7 @@ jobs:
steps:
- name: Install packages
run: sudo apt install -y clang-format clang-format-14
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Check code format