Add live FSR2 motion/jitter tuning controls and HUD readout

This commit is contained in:
Kelsi 2026-03-08 20:56:22 -07:00
parent 38c55e4f37
commit 2e71c768db
5 changed files with 65 additions and 6 deletions

View file

@ -274,6 +274,10 @@ public:
float getFSRSharpness() const { return fsr_.sharpness; }
void setFSR2Enabled(bool enabled);
bool isFSR2Enabled() const { return fsr2_.enabled; }
void setFSR2DebugTuning(float jitterSign, float motionVecScaleX, float motionVecScaleY);
float getFSR2JitterSign() const { return fsr2_.jitterSign; }
float getFSR2MotionVecScaleX() const { return fsr2_.motionVecScaleX; }
float getFSR2MotionVecScaleY() const { return fsr2_.motionVecScaleY; }
#if WOWEE_HAS_AMD_FSR2
bool isAmdFsr2SdkAvailable() const { return true; }
#else
@ -425,6 +429,9 @@ private:
uint32_t frameIndex = 0;
bool needsHistoryReset = true;
bool useAmdBackend = false;
float jitterSign = -1.0f;
float motionVecScaleX = 1.0f;
float motionVecScaleY = 1.0f;
#if WOWEE_HAS_AMD_FSR2
FfxFsr2Context amdContext{};
FfxFsr2Interface amdInterface{};

View file

@ -120,6 +120,9 @@ private:
int pendingUpscalingMode = 0; // 0=Off, 1=FSR1, 2=FSR2
int pendingFSRQuality = 0; // 0=UltraQuality, 1=Quality, 2=Balanced, 3=Performance
float pendingFSRSharpness = 0.5f;
float pendingFSR2JitterSign = -1.0f;
float pendingFSR2MotionVecScaleX = 1.0f;
float pendingFSR2MotionVecScaleY = 1.0f;
bool fsrSettingsApplied_ = false;
// UI element transparency (0.0 = fully transparent, 1.0 = fully opaque)