mirror of
https://github.com/optiscaler/OptiScaler.git
synced 2026-05-04 08:41:43 +00:00
More small fixes
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
|
||||
typedef decltype(&CryptQueryObject) PFN_CryptQueryObject;
|
||||
|
||||
static PFN_CryptQueryObject o_CryptQueryObject = nullptr;
|
||||
inline static PFN_CryptQueryObject o_CryptQueryObject = nullptr;
|
||||
|
||||
VALIDATE_HOOK(hkCryptQueryObject, PFN_CryptQueryObject)
|
||||
static BOOL hkCryptQueryObject(DWORD dwObjectType, const void* pvObject, DWORD dwExpectedContentTypeFlags,
|
||||
@@ -24,8 +24,8 @@ static BOOL hkCryptQueryObject(DWORD dwObjectType, const void* pvObject, DWORD d
|
||||
to_lower_in_place(pathString);
|
||||
|
||||
// It's applied even if ffx is already signed, could be improved
|
||||
if (pathString.contains("amd_fidelityfx_dx12.dll") ||
|
||||
pathString.contains("amd_fidelityfx_vk.dll") && GetFSR4Module())
|
||||
if ((pathString.contains("amd_fidelityfx_dx12.dll") || pathString.contains("amd_fidelityfx_vk.dll")) &&
|
||||
GetFSR4Module())
|
||||
{
|
||||
LOG_DEBUG("Replacing FFX with a signed dll");
|
||||
WCHAR signedDll[256] {};
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
typedef decltype(&D3DKMTQueryAdapterInfo) PFN_D3DKMTQueryAdapterInfo;
|
||||
typedef decltype(&D3DKMTEnumAdapters2) PFN_D3DKMTEnumAdapters2;
|
||||
|
||||
static PFN_D3DKMTQueryAdapterInfo o_D3DKMTQueryAdapterInfo = nullptr;
|
||||
inline static PFN_D3DKMTQueryAdapterInfo o_D3DKMTQueryAdapterInfo = nullptr;
|
||||
|
||||
VALIDATE_HOOK(hkD3DKMTQueryAdapterInfo, PFN_D3DKMTQueryAdapterInfo)
|
||||
static NTSTATUS hkD3DKMTQueryAdapterInfo(const D3DKMT_QUERYADAPTERINFO* data)
|
||||
|
||||
@@ -325,6 +325,7 @@ NvAPI_Status ReflexHooks::hkNvAPI_D3D12_SetAsyncFrameMarker(ID3D12CommandQueue*
|
||||
current_run = 1;
|
||||
}
|
||||
}
|
||||
|
||||
max_run_length = std::max(max_run_length, current_run);
|
||||
|
||||
int detected_mode = 0;
|
||||
@@ -349,7 +350,9 @@ NvAPI_Status ReflexHooks::hkNvAPI_D3D12_SetAsyncFrameMarker(ID3D12CommandQueue*
|
||||
candidate_mode = detected_mode;
|
||||
candidate_count = 1;
|
||||
}
|
||||
max_run_length = std::max(max_run_length, current_run);
|
||||
|
||||
// Redundant
|
||||
// max_run_length = std::max(max_run_length, current_run);
|
||||
|
||||
// Only commit after stable detection
|
||||
if (candidate_count >= stability_threshold)
|
||||
@@ -625,7 +628,7 @@ void ReflexHooks::update(bool fgActive, bool isVulkan)
|
||||
return;
|
||||
|
||||
float currentFps = Config::Instance()->FramerateLimit.value_or_default();
|
||||
static uint8_t lastFgNumFramesToGenerate = false;
|
||||
static uint8_t lastFgNumFramesToGenerate = 0;
|
||||
|
||||
if (lastFgNumFramesToGenerate != _FgNumFramesToGenerate)
|
||||
{
|
||||
|
||||
@@ -68,7 +68,8 @@ StreamlineHooks::PFN_setVoid StreamlineHooks::o_setVoid = nullptr;
|
||||
|
||||
char* StreamlineHooks::trimStreamlineLog(const char* msg)
|
||||
{
|
||||
int bracket_count = 0;
|
||||
// Unused
|
||||
// int bracket_count = 0;
|
||||
|
||||
char* result = (char*) malloc(strlen(msg) + 1);
|
||||
if (!result)
|
||||
@@ -327,23 +328,26 @@ void StreamlineHooks::streamlineLogCallback_sl1(sl1::LogType type, const char* m
|
||||
|
||||
char* trimmed_msg = trimStreamlineLog(msg);
|
||||
|
||||
switch (type)
|
||||
if (trimmed_msg != nullptr)
|
||||
{
|
||||
case sl1::LogType::eLogTypeWarn:
|
||||
LOG_WARN("{}", trimmed_msg);
|
||||
break;
|
||||
case sl1::LogType::eLogTypeInfo:
|
||||
LOG_INFO("{}", trimmed_msg);
|
||||
break;
|
||||
case sl1::LogType::eLogTypeError:
|
||||
LOG_ERROR("{}", trimmed_msg);
|
||||
break;
|
||||
case sl1::LogType::eLogTypeCount:
|
||||
LOG_ERROR("{}", trimmed_msg);
|
||||
break;
|
||||
}
|
||||
switch (type)
|
||||
{
|
||||
case sl1::LogType::eLogTypeWarn:
|
||||
LOG_WARN("{}", trimmed_msg);
|
||||
break;
|
||||
case sl1::LogType::eLogTypeInfo:
|
||||
LOG_INFO("{}", trimmed_msg);
|
||||
break;
|
||||
case sl1::LogType::eLogTypeError:
|
||||
LOG_ERROR("{}", trimmed_msg);
|
||||
break;
|
||||
case sl1::LogType::eLogTypeCount:
|
||||
LOG_ERROR("{}", trimmed_msg);
|
||||
break;
|
||||
}
|
||||
|
||||
free(trimmed_msg);
|
||||
free(trimmed_msg);
|
||||
}
|
||||
|
||||
if (o_logCallback_sl1)
|
||||
o_logCallback_sl1(type, msg);
|
||||
@@ -1110,6 +1114,11 @@ void StreamlineHooks::updateForceReflex()
|
||||
options.mode = reflexGamesLastMode;
|
||||
|
||||
auto result = o_slReflexSetOptions(options);
|
||||
if (result != sl::Result::eOk)
|
||||
{
|
||||
LOG_WARN("Failed to update Reflex mode with error code: {} ({:X})", magic_enum::enum_name(result),
|
||||
(UINT) result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -57,4 +57,5 @@ class XellHooks
|
||||
VALIDATE_MEMBER_HOOK(hkxellGetVersion, PFN_xellGetVersion)
|
||||
VALIDATE_MEMBER_HOOK(hkxellSetLoggingCallback, PFN_xellSetLoggingCallback)
|
||||
VALIDATE_MEMBER_HOOK(hkxellD3D12CreateContext, PFN_xellD3D12CreateContext)
|
||||
VALIDATE_MEMBER_HOOK(hkxellGetSleepMode, PFN_xellGetSleepMode)
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user