Make all CI build jobs AMD-FSR2-only

This commit is contained in:
Kelsi 2026-03-08 21:51:42 -07:00
parent 700e05b142
commit 7d89aabae5
2 changed files with 57 additions and 62 deletions

View file

@ -57,8 +57,28 @@ jobs:
libx11-dev libx11-dev
sudo apt-get install -y libstorm-dev || true sudo apt-get install -y libstorm-dev || true
- name: Configure - name: Fetch AMD FSR2 SDK
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release run: |
rm -rf extern/FidelityFX-FSR2
git clone --depth 1 https://github.com/GPUOpen-Effects/FidelityFX-FSR2.git extern/FidelityFX-FSR2
- name: Check AMD FSR2 Vulkan permutation headers
run: |
set -euo pipefail
SDK_DIR="$PWD/extern/FidelityFX-FSR2"
OUT_DIR="$SDK_DIR/src/ffx-fsr2-api/vk/shaders"
if [ -f "$OUT_DIR/ffx_fsr2_accumulate_pass_permutations.h" ]; then
echo "AMD FSR2 Vulkan permutation headers detected."
else
echo "AMD FSR2 Vulkan permutation headers not found in SDK checkout."
echo "WoWee CMake will bootstrap vendored headers."
fi
- name: Configure (AMD ON)
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DWOWEE_ENABLE_AMD_FSR2=ON
- name: Assert AMD FSR2 target
run: cmake --build build --target wowee_fsr2_amd_vk --parallel $(nproc)
- name: Build - name: Build
run: cmake --build build --parallel $(nproc) run: cmake --build build --parallel $(nproc)
@ -73,61 +93,6 @@ jobs:
path: build/wowee-*.deb path: build/wowee-*.deb
if-no-files-found: error if-no-files-found: error
build-linux-amd-fsr2:
name: Build (linux-amd-fsr2)
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
cmake \
build-essential \
pkg-config \
libsdl2-dev \
libglew-dev \
libglm-dev \
libssl-dev \
zlib1g-dev \
libvulkan-dev \
vulkan-tools \
glslc \
libavformat-dev \
libavcodec-dev \
libswscale-dev \
libavutil-dev \
libunicorn-dev \
libx11-dev
sudo apt-get install -y libstorm-dev || true
- name: Fetch AMD FSR2 SDK
run: |
rm -rf extern/FidelityFX-FSR2
git clone --depth 1 https://github.com/GPUOpen-Effects/FidelityFX-FSR2.git extern/FidelityFX-FSR2
- name: Check AMD FSR2 Vulkan permutation headers (non-fatal)
run: |
set -euo pipefail
SDK_DIR="$PWD/extern/FidelityFX-FSR2"
OUT_DIR="$SDK_DIR/src/ffx-fsr2-api/vk/shaders"
if [ -f "$OUT_DIR/ffx_fsr2_accumulate_pass_permutations.h" ]; then
echo "AMD FSR2 Vulkan permutation headers detected."
else
echo "WARNING: AMD FSR2 Vulkan permutation headers not found in SDK checkout."
echo "Build will continue; WoWee CMake will bootstrap vendored headers."
fi
- name: Configure (AMD ON)
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DWOWEE_ENABLE_AMD_FSR2=ON
- name: Build
run: cmake --build build --parallel $(nproc)
build-macos: build-macos:
name: Build (macOS ${{ matrix.arch }}) name: Build (macOS ${{ matrix.arch }})
runs-on: ${{ matrix.runner }} runs-on: ${{ matrix.runner }}
@ -151,6 +116,11 @@ jobs:
# dylibbundler may not be in all brew mirrors; install separately to not block others # dylibbundler may not be in all brew mirrors; install separately to not block others
brew install dylibbundler 2>/dev/null || true brew install dylibbundler 2>/dev/null || true
- name: Fetch AMD FSR2 SDK
run: |
rm -rf extern/FidelityFX-FSR2
git clone --depth 1 https://github.com/GPUOpen-Effects/FidelityFX-FSR2.git extern/FidelityFX-FSR2
- name: Configure - name: Configure
run: | run: |
BREW=$(brew --prefix) BREW=$(brew --prefix)
@ -158,7 +128,11 @@ jobs:
cmake -S . -B build \ cmake -S . -B build \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH="$BREW" \ -DCMAKE_PREFIX_PATH="$BREW" \
-DOPENSSL_ROOT_DIR="$(brew --prefix openssl@3)" -DOPENSSL_ROOT_DIR="$(brew --prefix openssl@3)" \
-DWOWEE_ENABLE_AMD_FSR2=ON
- name: Assert AMD FSR2 target
run: cmake --build build --target wowee_fsr2_amd_vk --parallel $(sysctl -n hw.logicalcpu)
- name: Build - name: Build
run: cmake --build build --parallel $(sysctl -n hw.logicalcpu) run: cmake --build build --parallel $(sysctl -n hw.logicalcpu)
@ -261,9 +235,19 @@ jobs:
cmake --build /tmp/StormLib/build --parallel $(nproc) cmake --build /tmp/StormLib/build --parallel $(nproc)
cmake --install /tmp/StormLib/build cmake --install /tmp/StormLib/build
- name: Fetch AMD FSR2 SDK
shell: msys2 {0}
run: |
rm -rf extern/FidelityFX-FSR2
git clone --depth 1 https://github.com/GPUOpen-Effects/FidelityFX-FSR2.git extern/FidelityFX-FSR2
- name: Configure - name: Configure
shell: msys2 {0} shell: msys2 {0}
run: cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release run: cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DWOWEE_ENABLE_AMD_FSR2=ON
- name: Assert AMD FSR2 target
shell: msys2 {0}
run: cmake --build build --target wowee_fsr2_amd_vk --parallel $(nproc)
- name: Build - name: Build
shell: msys2 {0} shell: msys2 {0}
@ -331,9 +315,19 @@ jobs:
cmake --build /tmp/StormLib/build --parallel $(nproc) cmake --build /tmp/StormLib/build --parallel $(nproc)
cmake --install /tmp/StormLib/build cmake --install /tmp/StormLib/build
- name: Fetch AMD FSR2 SDK
shell: msys2 {0}
run: |
rm -rf extern/FidelityFX-FSR2
git clone --depth 1 https://github.com/GPUOpen-Effects/FidelityFX-FSR2.git extern/FidelityFX-FSR2
- name: Configure - name: Configure
shell: msys2 {0} shell: msys2 {0}
run: cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release run: cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DWOWEE_ENABLE_AMD_FSR2=ON
- name: Assert AMD FSR2 target
shell: msys2 {0}
run: cmake --build build --target wowee_fsr2_amd_vk --parallel $(nproc)
- name: Build - name: Build
shell: msys2 {0} shell: msys2 {0}

View file

@ -247,8 +247,9 @@ make -j$(nproc)
## CI / CD ## CI / CD
- GitHub Actions builds on every push: Linux (x86-64, ARM64), Windows (MSYS2), macOS (ARM64) - GitHub Actions builds on every push: Linux (x86-64, ARM64), Windows (x86-64, ARM64 via MSYS2), macOS (ARM64)
- `build-linux-amd-fsr2` clones AMD's FSR2 SDK and builds with `-DWOWEE_ENABLE_AMD_FSR2=ON`; if Vulkan permutation headers are absent in that SDK checkout, WoWee automatically falls back to the internal FSR2 backend - All build jobs are AMD-FSR2-only (`WOWEE_ENABLE_AMD_FSR2=ON`) and explicitly build `wowee_fsr2_amd_vk`
- Each job clones AMD's FSR2 SDK; if generated Vulkan permutation headers are absent upstream, WoWee bootstraps them from `third_party/fsr2_vk_permutations`
- Container build via `container/build-in-container.sh` (Podman) - Container build via `container/build-in-container.sh` (Podman)
## Security ## Security