mirror of
https://github.com/optiscaler/OptiScaler.git
synced 2026-08-28 09:07:11 +00:00
Added quirk for Prey
This commit is contained in:
@@ -973,6 +973,12 @@ static void CheckQuirks()
|
||||
if (quirks & GameQuirk::DontUseNTShared && !Config::Instance()->DontUseNTShared.has_value())
|
||||
Config::Instance()->DontUseNTShared.set_volatile_value(true);
|
||||
|
||||
if (quirks & GameQuirk::DontUseUnrealBarriers && !Config::Instance()->ColorResourceBarrier.has_value())
|
||||
Config::Instance()->ColorResourceBarrier.set_volatile_value(128);
|
||||
|
||||
if (quirks & GameQuirk::DontUseUnrealBarriers && !Config::Instance()->MVResourceBarrier.has_value())
|
||||
Config::Instance()->MVResourceBarrier.set_volatile_value(128);
|
||||
|
||||
State::Instance().gameQuirks = quirks;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ enum class GameQuirk : uint64_t
|
||||
EnableVulkanExtensionSpoofing,
|
||||
DisableOptiXessPipelineCreation,
|
||||
DontUseNTShared,
|
||||
DontUseUnrealBarriers,
|
||||
|
||||
// Quirks that are applied deeper in code
|
||||
CyberpunkHudlessStateOverride,
|
||||
@@ -159,7 +160,7 @@ static const QuirkEntry quirkTable[] = {
|
||||
|
||||
// Returnal
|
||||
// no spoof needed for DLSS inputs, but no DLSSG and Reflex
|
||||
QUIRK_ENTRY("returnal-win64-shipping.exe", GameQuirk::DisableDxgiSpoofing),
|
||||
QUIRK_ENTRY("returnal-win64-shipping.exe", GameQuirk::DisableDxgiSpoofing, GameQuirk::DontUseUnrealBarriers),
|
||||
|
||||
// UNCHARTED: Legacy of Thieves Collection
|
||||
// no spoof needed for DLSS inputs
|
||||
@@ -249,6 +250,8 @@ static void printQuirks(flag_set<GameQuirk>& quirks)
|
||||
spdlog::info("Quirk: Disable custom pipeline creation for XeSS");
|
||||
if (quirks & GameQuirk::DontUseNTShared)
|
||||
spdlog::info("Quirk: Don't use NTShared enabled");
|
||||
if (quirks & GameQuirk::DontUseUnrealBarriers)
|
||||
spdlog::info("Quirk: Don't use resource barrier fix for Unreal Engine games");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -243,14 +243,17 @@ bool XeSSFeatureDx12::Evaluate(ID3D12GraphicsCommandList* InCommandList, NVSDK_N
|
||||
else
|
||||
LOG_DEBUG("AutoExposure enabled!");
|
||||
|
||||
bool supportsFloatResponsivePixelMask = Version() >= feature_version { 2, 0, 1 };
|
||||
ID3D12Resource* paramReactiveMask = nullptr;
|
||||
InParameters->Get("FSR.reactive", ¶mReactiveMask);
|
||||
bool supportsFloatResponsivePixelMask = Version() >= feature_version { 2, 0, 1 };
|
||||
|
||||
if (supportsFloatResponsivePixelMask &&
|
||||
InParameters->Get("FSR.reactive", ¶mReactiveMask) == NVSDK_NGX_Result_Success)
|
||||
if (supportsFloatResponsivePixelMask && paramReactiveMask != nullptr)
|
||||
{
|
||||
if (!Config::Instance()->DisableReactiveMask.value_or(!supportsFloatResponsivePixelMask))
|
||||
if (!Config::Instance()->DisableReactiveMask.value_or(false))
|
||||
{
|
||||
LOG_DEBUG("Using FSR reactive mask");
|
||||
params.pResponsivePixelMaskTexture = paramReactiveMask;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user