Commit graph

534 commits

Author SHA1 Message Date
Kelsi
bae32c1823 Add FSR3 Generic API path and harden runtime diagnostics
- AmdFsr3Runtime now probes both the legacy ffxFsr3* API and the newer
  generic ffxCreateContext/ffxDispatch API; selects whichever the loaded
  runtime library exports (GenericApi takes priority fallback)
- Generic API path implements full upscale + frame-generation context
  creation, configure, dispatch, and destroy lifecycle
- dlopen error captured and surfaced in lastError_ on Linux so runtime
  initialization failures are actionable
- FSR3 runtime init failure log now includes path kind, error string,
  and loaded library path for easier debugging
- tools/generate_ffx_sdk_vk_permutations.sh added: auto-bootstraps
  missing VK permutation headers; DXC auto-downloaded on Linux/Windows
  MSYS2; macOS reads from PATH (CI installs via brew dxc)
- CMakeLists: add upscalers/include to probe include dirs, invoke
  permutation script before SDK build, scope FFX pragma/ODR warning
  suppressions to affected TUs, add runtime-copy dependency on wowee
- UI labels updated from "FSR2" → "FSR3" in settings, tuning panel,
  performance HUD, and combo boxes
- CI macOS job now installs dxc via Homebrew for permutation codegen
2026-03-09 12:51:59 -07:00
Kelsi
ae48e4d7a6 Make FSR3 SDK integration Kits-only and align CI/docs
Some checks are pending
Build / Build (arm64) (push) Waiting to run
Build / Build (x86-64) (push) Waiting to run
Build / Build (macOS arm64) (push) Waiting to run
Build / Build (windows-arm64) (push) Waiting to run
Build / Build (windows-x86-64) (push) Waiting to run
Security / CodeQL (C/C++) (push) Waiting to run
Security / Semgrep (push) Waiting to run
Security / Sanitizer Build (ASan/UBSan) (push) Waiting to run
2026-03-09 05:00:51 -07:00
Kelsi
e916ef9bda Fix Windows frustum enum macro collision 2026-03-09 04:41:04 -07:00
Kelsi
1c7b87ee78 Remove FSR3 wrapper path and keep official Path-A runtime only 2026-03-09 04:33:05 -07:00
Kelsi
9ff9f2f1f1 Fix cross-platform FSR3 compile path and Path-A runtime wiring 2026-03-09 04:24:24 -07:00
Kelsi
78fa10c6ba Gate bridge interop export by wrapper capability bits
Some checks are pending
Build / Build (arm64) (push) Waiting to run
Build / Build (x86-64) (push) Waiting to run
Build / Build (macOS arm64) (push) Waiting to run
Build / Build (windows-arm64) (push) Waiting to run
Build / Build (windows-x86-64) (push) Waiting to run
Security / CodeQL (C/C++) (push) Waiting to run
Security / Semgrep (push) Waiting to run
Security / Sanitizer Build (ASan/UBSan) (push) Waiting to run
2026-03-09 02:45:37 -07:00
Kelsi
a08260e2b8 Add runtime wrapper ABI smoke probe and CI execution 2026-03-09 02:42:07 -07:00
Kelsi
ae3f2a53cf Enforce Linux bridge preflight during auto-fallback 2026-03-09 02:37:03 -07:00
Kelsi
3392e7b1a9 Enable Linux auto-fallback to dx12_bridge backend 2026-03-09 02:36:03 -07:00
Kelsi
27261303d2 Only export bridge interop handles for dx12_bridge backend 2026-03-09 02:35:02 -07:00
Kelsi
91f83cb108 Add Linux bridge preflight and FD-handle validation 2026-03-09 02:33:18 -07:00
Kelsi
faec3f6ec2 Enable Linux bridge mode and Vulkan FD interop exports 2026-03-09 02:28:49 -07:00
Kelsi
a2c6ce8a7b Log selected FSR3 runtime library and readiness 2026-03-09 02:20:14 -07:00
Kelsi
40289c5f8e Add wrapper capability query and runtime capability gating 2026-03-09 02:19:11 -07:00
Kelsi
45c2ed7a64 Expose wrapper backend mode in runtime diagnostics 2026-03-09 02:15:55 -07:00
Kelsi
ea2d452f4b Validate wrapper dispatch sizes and formats early 2026-03-09 02:13:16 -07:00
Kelsi
a0749df85e Make wrapper framegen transfer function HDR-aware 2026-03-09 02:10:55 -07:00
Kelsi
76728612ff Fix wrapper init error-path use-after-free 2026-03-09 02:10:01 -07:00
Kelsi
3e5f6d0084 Auto-fallback wrapper backend to DX12 bridge on Windows 2026-03-09 02:08:26 -07:00
Kelsi
1bcc2c6b85 Use monotonic interop fence values for FSR3 bridge dispatch 2026-03-09 02:03:03 -07:00
Kelsi
1c7908f02d Add ABI v3 fence-value sync for DX12 bridge dispatch 2026-03-09 01:58:45 -07:00
Kelsi
2bd9575419 Harden DX12 bridge dispatch cleanup and execution error handling 2026-03-09 01:54:57 -07:00
Kelsi
94a441e234 Advance DX12 bridge dispatch path and guard Win32 Vulkan handle exports 2026-03-09 01:49:18 -07:00
Kelsi
b65f3e0aa3 Import all DX12 bridge shared handles and expose wrapper last-error symbol 2026-03-09 01:42:41 -07:00
Kelsi
53a692b9ef Add wrapper last-error API and DX12 handle-import probe 2026-03-09 01:36:26 -07:00
Kelsi
d06d1df873 Wire Win32 semaphore handles into FSR3 wrapper bridge payload 2026-03-09 01:33:39 -07:00
Kelsi
61cb2df400 Add ABI v2 external-handle plumbing for FSR3 bridge dispatch 2026-03-09 01:31:01 -07:00
Kelsi
e25253a6e8 Enable dx12_bridge init path and runtime export compatibility scan 2026-03-09 01:23:04 -07:00
Kelsi
f08b6fd4c2 Expose FSR3 dispatch failure reasons in runtime and HUD 2026-03-09 01:15:49 -07:00
Kelsi
32eb9e3bcb Default wrapper backend to Vulkan runtime across platforms 2026-03-09 01:12:44 -07:00
Kelsi
8b1fc42b7a Fix AMD CI SDK layout check and tighten DX12 interop preflight 2026-03-09 01:03:07 -07:00
Kelsi
19bc52f54e Check Vulkan Win32 interop extensions in DX12 bridge preflight 2026-03-09 00:58:43 -07:00
Kelsi
fd2ca42f28 Add DX12 factory/device preflight for bridge mode 2026-03-09 00:54:36 -07:00
Kelsi
127c8cccc3 Validate Vulkan Win32 interop and AMD API exports in DX12 bridge preflight 2026-03-09 00:52:33 -07:00
Kelsi
45feb51e84 Add DX12 bridge preflight checks and runtime override env 2026-03-09 00:50:09 -07:00
Kelsi
5030f5435f Add wrapper backend mode switch and explicit DX12 bridge runtime errors 2026-03-09 00:45:39 -07:00
Kelsi
036e102fa0 Add in-tree FSR3 wrapper target and forkable FidelityFX SDK source overrides 2026-03-09 00:36:53 -07:00
Kelsi
73055c507f Fix non-framegen build by always including platform loader headers 2026-03-09 00:09:15 -07:00
Kelsi
a1c4244a27 Implement clean Path-B FSR3 wrapper ABI for framegen 2026-03-09 00:08:22 -07:00
Kelsi
93850ac6dc Add Path A/B/C FSR3 runtime detection with clear FG fallback status 2026-03-09 00:01:45 -07:00
Kelsi
5ad4b9be2d Add FSR3 frame generation runtime stats to performance HUD 2026-03-08 23:35:39 -07:00
Kelsi
e600f003ca Fix FG disable state reset and FSR3 context compatibility for SDK variants 2026-03-08 23:32:02 -07:00
Kelsi
aa43aa6fc8 Bridge FSR3 Vulkan framegen dispatch and route sharpen to interpolated output 2026-03-08 23:20:50 -07:00
Kelsi
538a1db866 Fix FSR3 runtime wrapper for local SDK API and real Vulkan resource dispatch 2026-03-08 23:13:08 -07:00
Kelsi
f1099f5940 Add FSR3 runtime library probing and readiness status 2026-03-08 23:03:45 -07:00
Kelsi
e1c93c47be Stage FSR3 framegen dispatch hook in frame pipeline 2026-03-08 22:57:35 -07:00
Kelsi
bdfec103ac Add persisted AMD FSR3 framegen runtime toggle plumbing 2026-03-08 22:53:21 -07:00
Kelsi
a49decd9a6 Add AMD FSR3 framegen interface probe and CI validation 2026-03-08 22:47:46 -07:00
Kelsi
f6fce0f19a Fix FSR2 jitter mismatch between projection and dispatch 2026-03-08 21:10:36 -07:00
Kelsi
eccbfb6a5f Tune FSR2 defaults and simplify jitter controls 2026-03-08 21:08:17 -07:00