mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-17 09:33:51 +00:00
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
This commit is contained in:
parent
ae48e4d7a6
commit
bae32c1823
11 changed files with 537 additions and 16 deletions
|
|
@ -68,6 +68,11 @@ public:
|
|||
const std::string& lastError() const { return lastError_; }
|
||||
|
||||
private:
|
||||
enum class ApiMode {
|
||||
LegacyFsr3,
|
||||
GenericApi
|
||||
};
|
||||
|
||||
void* libHandle_ = nullptr;
|
||||
std::string loadedLibraryPath_;
|
||||
void* scratchBuffer_ = nullptr;
|
||||
|
|
@ -80,6 +85,10 @@ private:
|
|||
struct RuntimeFns;
|
||||
RuntimeFns* fns_ = nullptr;
|
||||
void* contextStorage_ = nullptr;
|
||||
ApiMode apiMode_ = ApiMode::LegacyFsr3;
|
||||
void* genericUpscaleContext_ = nullptr;
|
||||
void* genericFramegenContext_ = nullptr;
|
||||
uint64_t genericFrameId_ = 1;
|
||||
};
|
||||
|
||||
} // namespace wowee::rendering
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ private:
|
|||
bool pendingPOM = true; // on by default
|
||||
int pendingPOMQuality = 1; // 0=Low(16), 1=Medium(32), 2=High(64)
|
||||
bool pendingFSR = false;
|
||||
int pendingUpscalingMode = 0; // 0=Off, 1=FSR1, 2=FSR2
|
||||
int pendingUpscalingMode = 0; // 0=Off, 1=FSR1, 2=FSR3
|
||||
int pendingFSRQuality = 3; // 0=UltraQuality, 1=Quality, 2=Balanced, 3=Native(100%)
|
||||
float pendingFSRSharpness = 1.6f;
|
||||
float pendingFSR2JitterSign = 0.38f;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue