mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
Add AMD FSR2 CI build job and adjust jitter offset sign
This commit is contained in:
parent
a12126cc7e
commit
96f7728227
2 changed files with 107 additions and 2 deletions
103
.github/workflows/build.yml
vendored
103
.github/workflows/build.yml
vendored
|
|
@ -73,6 +73,109 @@ jobs:
|
|||
path: build/wowee-*.deb
|
||||
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 \
|
||||
wine64
|
||||
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: Generate AMD FSR2 Vulkan permutation headers
|
||||
run: |
|
||||
set -euo pipefail
|
||||
SDK_DIR="$PWD/extern/FidelityFX-FSR2"
|
||||
SHADER_DIR="$SDK_DIR/src/ffx-fsr2-api/shaders"
|
||||
OUT_DIR="$SDK_DIR/src/ffx-fsr2-api/vk/shaders"
|
||||
SC="$SDK_DIR/tools/sc/FidelityFX_SC.exe"
|
||||
|
||||
BASE_ARGS=(
|
||||
-reflection
|
||||
-deps=gcc
|
||||
-DFFX_GPU=1
|
||||
-DFFX_FSR2_OPTION_UPSAMPLE_SAMPLERS_USE_DATA_HALF=0
|
||||
-DFFX_FSR2_OPTION_ACCUMULATE_SAMPLERS_USE_DATA_HALF=0
|
||||
-DFFX_FSR2_OPTION_REPROJECT_SAMPLERS_USE_DATA_HALF=1
|
||||
-DFFX_FSR2_OPTION_POSTPROCESSLOCKSTATUS_SAMPLERS_USE_DATA_HALF=0
|
||||
-DFFX_FSR2_OPTION_UPSAMPLE_USE_LANCZOS_TYPE=2
|
||||
-compiler=glslang
|
||||
-e
|
||||
main
|
||||
--target-env
|
||||
vulkan1.1
|
||||
-S
|
||||
comp
|
||||
-Os
|
||||
-DFFX_GLSL=1
|
||||
-DFFX_FSR2_OPTION_REPROJECT_USE_LANCZOS_TYPE={0,1}
|
||||
-DFFX_FSR2_OPTION_HDR_COLOR_INPUT={0,1}
|
||||
-DFFX_FSR2_OPTION_LOW_RESOLUTION_MOTION_VECTORS={0,1}
|
||||
-DFFX_FSR2_OPTION_JITTERED_MOTION_VECTORS={0,1}
|
||||
-DFFX_FSR2_OPTION_INVERTED_DEPTH={0,1}
|
||||
-DFFX_FSR2_OPTION_APPLY_SHARPENING={0,1}
|
||||
)
|
||||
|
||||
PASSES=(
|
||||
ffx_fsr2_tcr_autogen_pass
|
||||
ffx_fsr2_autogen_reactive_pass
|
||||
ffx_fsr2_accumulate_pass
|
||||
ffx_fsr2_compute_luminance_pyramid_pass
|
||||
ffx_fsr2_depth_clip_pass
|
||||
ffx_fsr2_lock_pass
|
||||
ffx_fsr2_reconstruct_previous_depth_pass
|
||||
ffx_fsr2_rcas_pass
|
||||
)
|
||||
|
||||
for pass in "${PASSES[@]}"; do
|
||||
HALF_ARG="-DFFX_HALF={0,1}"
|
||||
if [ "$pass" = "ffx_fsr2_compute_luminance_pyramid_pass" ]; then
|
||||
HALF_ARG="-DFFX_HALF=0"
|
||||
fi
|
||||
wine "$SC" "${BASE_ARGS[@]}" "$HALF_ARG" \
|
||||
"-name=${pass}" \
|
||||
"-I${SHADER_DIR}" \
|
||||
"-output=${OUT_DIR}" \
|
||||
"${SHADER_DIR}/${pass}.glsl"
|
||||
done
|
||||
|
||||
test -f "$OUT_DIR/ffx_fsr2_accumulate_pass_permutations.h"
|
||||
|
||||
- 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:
|
||||
name: Build (macOS ${{ matrix.arch }})
|
||||
runs-on: ${{ matrix.runner }}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue