mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-25 08:30:13 +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
|
|
@ -6308,7 +6308,7 @@ void GameScreen::renderSettingsWindow() {
|
|||
if (fsr2Active) {
|
||||
ImGui::BeginDisabled();
|
||||
int disabled = 0;
|
||||
ImGui::Combo("Anti-Aliasing (FSR2)", &disabled, "Off (FSR2 active)\0", 1);
|
||||
ImGui::Combo("Anti-Aliasing (FSR3)", &disabled, "Off (FSR3 active)\0", 1);
|
||||
ImGui::EndDisabled();
|
||||
} else if (ImGui::Combo("Anti-Aliasing", &pendingAntiAliasing, aaLabels, 4)) {
|
||||
static const VkSampleCountFlagBits aaSamples[] = {
|
||||
|
|
@ -6321,8 +6321,8 @@ void GameScreen::renderSettingsWindow() {
|
|||
}
|
||||
// FSR Upscaling
|
||||
{
|
||||
// FSR mode selection: Off, FSR 1.0 (Spatial), FSR 2.2 (Temporal)
|
||||
const char* fsrModeLabels[] = { "Off", "FSR 1.0 (Spatial)", "FSR 2.2 (Temporal)" };
|
||||
// FSR mode selection: Off, FSR 1.0 (Spatial), FSR 3.x (Temporal)
|
||||
const char* fsrModeLabels[] = { "Off", "FSR 1.0 (Spatial)", "FSR 3.x (Temporal)" };
|
||||
int fsrMode = pendingUpscalingMode;
|
||||
if (ImGui::Combo("Upscaling", &fsrMode, fsrModeLabels, 3)) {
|
||||
pendingUpscalingMode = fsrMode;
|
||||
|
|
@ -6335,7 +6335,7 @@ void GameScreen::renderSettingsWindow() {
|
|||
}
|
||||
if (fsrMode > 0) {
|
||||
if (fsrMode == 2 && renderer) {
|
||||
ImGui::TextDisabled("FSR2 backend: %s",
|
||||
ImGui::TextDisabled("FSR3 backend: %s",
|
||||
renderer->isAmdFsr2SdkAvailable() ? "AMD FidelityFX SDK" : "Internal fallback");
|
||||
if (renderer->isAmdFsr3FramegenSdkAvailable()) {
|
||||
if (ImGui::Checkbox("AMD FSR3 Frame Generation (Experimental)", &pendingAMDFramegen)) {
|
||||
|
|
@ -6387,7 +6387,7 @@ void GameScreen::renderSettingsWindow() {
|
|||
saveSettings();
|
||||
}
|
||||
if (fsrMode == 2) {
|
||||
ImGui::SeparatorText("FSR2 Tuning");
|
||||
ImGui::SeparatorText("FSR3 Tuning");
|
||||
if (ImGui::SliderFloat("Jitter Sign", &pendingFSR2JitterSign, -2.0f, 2.0f, "%.2f")) {
|
||||
if (renderer) {
|
||||
renderer->setFSR2DebugTuning(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue