mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
Align FSR3 SDK detection/docs with legacy and Kits layouts
This commit is contained in:
parent
e26cc28cb0
commit
afaafa7470
3 changed files with 23 additions and 11 deletions
|
|
@ -90,16 +90,22 @@ endif()
|
|||
|
||||
# AMD FidelityFX SDK (FSR3 frame generation interfaces) detection under extern/FidelityFX-SDK
|
||||
set(WOWEE_AMD_FFX_SDK_DIR ${CMAKE_SOURCE_DIR}/extern/FidelityFX-SDK/sdk)
|
||||
set(WOWEE_AMD_FFX_SDK_KITS_DIR ${CMAKE_SOURCE_DIR}/extern/FidelityFX-SDK/Kits/FidelityFX)
|
||||
set(WOWEE_AMD_FFX_SDK_FI_HEADER ${WOWEE_AMD_FFX_SDK_DIR}/include/FidelityFX/host/ffx_frameinterpolation.h)
|
||||
set(WOWEE_AMD_FFX_SDK_OF_HEADER ${WOWEE_AMD_FFX_SDK_DIR}/include/FidelityFX/host/ffx_opticalflow.h)
|
||||
set(WOWEE_AMD_FFX_SDK_FSR3_HEADER ${WOWEE_AMD_FFX_SDK_DIR}/include/FidelityFX/host/ffx_fsr3upscaler.h)
|
||||
set(WOWEE_AMD_FFX_SDK_VK_HEADER ${WOWEE_AMD_FFX_SDK_DIR}/include/FidelityFX/host/backends/vk/ffx_vk.h)
|
||||
set(WOWEE_AMD_FFX_SDK_KITS_FG_HEADER ${WOWEE_AMD_FFX_SDK_KITS_DIR}/framegeneration/include/ffx_framegeneration.h)
|
||||
|
||||
if(WOWEE_ENABLE_AMD_FSR3_FRAMEGEN
|
||||
AND EXISTS ${WOWEE_AMD_FFX_SDK_FI_HEADER}
|
||||
set(WOWEE_AMD_FFX_SDK_LEGACY_READY FALSE)
|
||||
if(EXISTS ${WOWEE_AMD_FFX_SDK_FI_HEADER}
|
||||
AND EXISTS ${WOWEE_AMD_FFX_SDK_OF_HEADER}
|
||||
AND EXISTS ${WOWEE_AMD_FFX_SDK_FSR3_HEADER}
|
||||
AND EXISTS ${WOWEE_AMD_FFX_SDK_VK_HEADER})
|
||||
set(WOWEE_AMD_FFX_SDK_LEGACY_READY TRUE)
|
||||
endif()
|
||||
|
||||
if(WOWEE_ENABLE_AMD_FSR3_FRAMEGEN AND WOWEE_AMD_FFX_SDK_LEGACY_READY)
|
||||
message(STATUS "AMD FidelityFX-SDK framegen headers detected at ${WOWEE_AMD_FFX_SDK_DIR}")
|
||||
add_compile_definitions(WOWEE_HAS_AMD_FSR3_FRAMEGEN=1)
|
||||
add_library(wowee_fsr3_framegen_amd_vk_probe STATIC
|
||||
|
|
@ -134,7 +140,14 @@ if(WOWEE_ENABLE_AMD_FSR3_FRAMEGEN
|
|||
else()
|
||||
add_compile_definitions(WOWEE_HAS_AMD_FSR3_FRAMEGEN=0)
|
||||
if(WOWEE_ENABLE_AMD_FSR3_FRAMEGEN)
|
||||
message(WARNING "AMD FidelityFX-SDK framegen headers not found at ${WOWEE_AMD_FFX_SDK_DIR}; FSR3 framegen interface probe disabled.")
|
||||
if(EXISTS ${WOWEE_AMD_FFX_SDK_KITS_FG_HEADER})
|
||||
message(STATUS "FidelityFX-SDK Kits layout detected at ${WOWEE_AMD_FFX_SDK_KITS_DIR}, "
|
||||
"but legacy sdk/include headers required by WoWee FSR3 probe/wrapper are not present. "
|
||||
"FSR3 framegen interface probe disabled.")
|
||||
else()
|
||||
message(WARNING "AMD FidelityFX-SDK framegen headers not found at ${WOWEE_AMD_FFX_SDK_DIR}; "
|
||||
"FSR3 framegen interface probe disabled.")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
|
|
|||
|
|
@ -293,9 +293,9 @@ make -j$(nproc)
|
|||
|
||||
- GitHub Actions builds on every push: Linux (x86-64, ARM64), Windows (x86-64, ARM64 via MSYS2), macOS (ARM64)
|
||||
- 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 and FidelityFX-SDK (`v1.1.4`)
|
||||
- Linux CI asserts FidelityFX-SDK Vulkan framegen files are present (FI/OF GLSL callbacks + Vulkan shader manifests)
|
||||
- All CI platform jobs explicitly build `wowee_fsr3_framegen_amd_vk_probe`
|
||||
- Each job clones AMD's FSR2 SDK and FidelityFX-SDK (`Kelsidavis/FidelityFX-SDK`, `main` by default)
|
||||
- Linux CI checks FidelityFX-SDK framegen files and supports both legacy (`sdk/...`) and Kits layouts
|
||||
- CI builds `wowee_fsr3_framegen_amd_vk_probe` when that target is generated for the detected SDK layout
|
||||
- If FSR2 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)
|
||||
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ Runtime note:
|
|||
- AMD FSR2 Vulkan dispatch path is integrated and used when available.
|
||||
- UI displays active backend in settings (`AMD FidelityFX SDK` or `Internal fallback`).
|
||||
- Runtime settings include persisted FSR2 jitter tuning.
|
||||
- FidelityFX-SDK `v1.1.4` extern is fetched across platforms and validated in Linux CI for Vulkan framegen source presence.
|
||||
- FidelityFX-SDK extern is fetched across platforms (default: `Kelsidavis/FidelityFX-SDK` on `main`).
|
||||
- Startup safety behavior remains enabled:
|
||||
- persisted FSR2 is deferred until `IN_WORLD`
|
||||
- startup falls back unless `WOWEE_ALLOW_STARTUP_FSR2=1`
|
||||
|
|
@ -96,14 +96,13 @@ Runtime note:
|
|||
- `build-linux-amd-fsr2` clones AMD's repository and configures with `WOWEE_ENABLE_AMD_FSR2=ON`.
|
||||
- All build jobs clone:
|
||||
- `GPUOpen-Effects/FidelityFX-FSR2` (`master`)
|
||||
- `GPUOpen-LibrariesAndSDKs/FidelityFX-SDK` (`v1.1.4`)
|
||||
- Linux CI additionally checks FidelityFX-SDK Vulkan framegen files:
|
||||
- `Kelsidavis/FidelityFX-SDK` (`main`) by default
|
||||
- Linux CI additionally checks FidelityFX-SDK framegen files (legacy `sdk/...` and Kits layouts):
|
||||
- `ffx_frameinterpolation_callbacks_glsl.h`
|
||||
- `ffx_opticalflow_callbacks_glsl.h`
|
||||
- `CMakeShadersFrameinterpolation.txt`
|
||||
- `CMakeShadersOpticalflow.txt`
|
||||
- All CI platform jobs build:
|
||||
- `wowee_fsr3_framegen_amd_vk_probe`
|
||||
- CI builds `wowee_fsr3_framegen_amd_vk_probe` when that target is generated by CMake for the detected SDK layout.
|
||||
- Some upstream SDK checkouts do not include generated Vulkan permutation headers.
|
||||
- WoWee bootstraps those headers from the vendored snapshot so AMD backend builds remain cross-platform and deterministic.
|
||||
- If SDK headers are missing entirely, WoWee still falls back to the internal backend.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue