mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Add Path A/B/C FSR3 runtime detection with clear FG fallback status
This commit is contained in:
parent
5ad4b9be2d
commit
93850ac6dc
7 changed files with 92 additions and 17 deletions
|
|
@ -48,6 +48,12 @@ struct AmdFsr3RuntimeDispatchDesc {
|
|||
|
||||
class AmdFsr3Runtime {
|
||||
public:
|
||||
enum class LoadPathKind {
|
||||
None,
|
||||
Official,
|
||||
Wrapper
|
||||
};
|
||||
|
||||
AmdFsr3Runtime();
|
||||
~AmdFsr3Runtime();
|
||||
|
||||
|
|
@ -59,6 +65,8 @@ public:
|
|||
bool isReady() const { return ready_; }
|
||||
bool isFrameGenerationReady() const { return frameGenerationReady_; }
|
||||
const std::string& loadedLibraryPath() const { return loadedLibraryPath_; }
|
||||
LoadPathKind loadPathKind() const { return loadPathKind_; }
|
||||
const std::string& lastError() const { return lastError_; }
|
||||
|
||||
private:
|
||||
void* libHandle_ = nullptr;
|
||||
|
|
@ -67,6 +75,8 @@ private:
|
|||
size_t scratchBufferSize_ = 0;
|
||||
bool ready_ = false;
|
||||
bool frameGenerationReady_ = false;
|
||||
LoadPathKind loadPathKind_ = LoadPathKind::None;
|
||||
std::string lastError_;
|
||||
|
||||
struct RuntimeFns;
|
||||
RuntimeFns* fns_ = nullptr;
|
||||
|
|
|
|||
|
|
@ -294,6 +294,8 @@ public:
|
|||
#endif
|
||||
bool isAmdFsr3FramegenRuntimeActive() const { return fsr2_.amdFsr3FramegenRuntimeActive; }
|
||||
bool isAmdFsr3FramegenRuntimeReady() const { return fsr2_.amdFsr3FramegenRuntimeReady; }
|
||||
const char* getAmdFsr3FramegenRuntimePath() const;
|
||||
const std::string& getAmdFsr3FramegenRuntimeError() const { return fsr2_.amdFsr3RuntimeLastError; }
|
||||
size_t getAmdFsr3UpscaleDispatchCount() const { return fsr2_.amdFsr3UpscaleDispatchCount; }
|
||||
size_t getAmdFsr3FramegenDispatchCount() const { return fsr2_.amdFsr3FramegenDispatchCount; }
|
||||
size_t getAmdFsr3FallbackCount() const { return fsr2_.amdFsr3FallbackCount; }
|
||||
|
|
@ -448,6 +450,8 @@ private:
|
|||
bool amdFsr3FramegenEnabled = false;
|
||||
bool amdFsr3FramegenRuntimeActive = false;
|
||||
bool amdFsr3FramegenRuntimeReady = false;
|
||||
std::string amdFsr3RuntimePath = "Path C";
|
||||
std::string amdFsr3RuntimeLastError{};
|
||||
size_t amdFsr3UpscaleDispatchCount = 0;
|
||||
size_t amdFsr3FramegenDispatchCount = 0;
|
||||
size_t amdFsr3FallbackCount = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue