diff --git a/OptiScaler.ini b/OptiScaler.ini index 7fa4159f..312d591f 100644 --- a/OptiScaler.ini +++ b/OptiScaler.ini @@ -755,7 +755,7 @@ Path=auto LoadAsiPlugins=auto ; Loads SpecialK64.dll from game's exe folder -; Please put a SpecialK.dxgi file next to SpecialK64.dll +; Please create an empty SpecialK.dxgi file next to SpecialK64.dll ; to set SpecialK's working mode, otherwise it will not be activated ; BECAUSE OF STABILITY ISSUES, WILL NOT BE LOADED WHEN OPTIFG IS ENABLED ; true or false - Default (auto) is false @@ -1146,9 +1146,9 @@ RestoreGraphicSignature=auto UsePrecompiledShaders=auto ; Color texture resource state to fix for rainbow colors on AMD cards (for mostly UE games) -; For UE engine games on AMD, set it to 4 (D3D12_RESOURCE_STATE_RENDER_TARGET) +; For UE engine games on AMD, set Color to 4 (D3D12_RESOURCE_STATE_RENDER_TARGET) ColorResourceBarrier=auto -; For UE engine games on AMD, set it to 8 (D3D12_RESOURCE_STATE_UNORDERED_ACCESS) +; For UE engine games on AMD, set MotionVector to 8 (D3D12_RESOURCE_STATE_UNORDERED_ACCESS) MotionVectorResourceBarrier=auto DepthResourceBarrier=auto ColorMaskResourceBarrier=auto diff --git a/OptiScaler/framegen/xefg/XeFG_Dx12.cpp b/OptiScaler/framegen/xefg/XeFG_Dx12.cpp index d639faad..e03afadf 100644 --- a/OptiScaler/framegen/xefg/XeFG_Dx12.cpp +++ b/OptiScaler/framegen/xefg/XeFG_Dx12.cpp @@ -262,9 +262,8 @@ bool XeFG_Dx12::CreateSwapchain(IDXGIFactory* factory, ID3D12CommandQueue* cmdQu params.initFlags = XEFG_SWAPCHAIN_INIT_FLAG_NONE; - // if (State::Instance().activeFgInput != FGInput::Upscaler && - // Config::Instance()->FGXeFGDepthInverted.value_or_default()) - // params.initFlags |= XEFG_SWAPCHAIN_INIT_FLAG_INVERTED_DEPTH; + if (Config::Instance()->FGXeFGDepthInverted.value_or_default()) + params.initFlags |= XEFG_SWAPCHAIN_INIT_FLAG_INVERTED_DEPTH; if (Config::Instance()->FGXeFGJitteredMV.value_or_default()) params.initFlags |= XEFG_SWAPCHAIN_INIT_FLAG_JITTERED_MV; @@ -361,9 +360,8 @@ bool XeFG_Dx12::CreateSwapchain1(IDXGIFactory* factory, ID3D12CommandQueue* cmdQ params.initFlags = XEFG_SWAPCHAIN_INIT_FLAG_NONE; - // if (State::Instance().activeFgInput != FGInput::Upscaler && - // Config::Instance()->FGXeFGDepthInverted.value_or_default()) - // params.initFlags |= XEFG_SWAPCHAIN_INIT_FLAG_INVERTED_DEPTH; + if (Config::Instance()->FGXeFGDepthInverted.value_or_default()) + params.initFlags |= XEFG_SWAPCHAIN_INIT_FLAG_INVERTED_DEPTH; if (Config::Instance()->FGXeFGJitteredMV.value_or_default()) params.initFlags |= XEFG_SWAPCHAIN_INIT_FLAG_JITTERED_MV; diff --git a/OptiScaler/misc/Quirks.h b/OptiScaler/misc/Quirks.h index e79f7d5f..3f593a1f 100644 --- a/OptiScaler/misc/Quirks.h +++ b/OptiScaler/misc/Quirks.h @@ -168,7 +168,8 @@ static const QuirkEntry quirkTable[] = { // Sackboy: A Big Adventure, Hellblade: Senua's Sacrifice, Pumpkin Jack, Metro Exodus Enhanced Edition, Rise of the // Ronin, DYNASTY WARRIORS: ORIGINS, Crysis Remastered, Crysis 2 Remastered, Mortal Shell, Sekiro: Shadows Die // Twice (for SekiroTSR mod), The Medium, NINJA GAIDEN 4 (+ WinGDK), Dead Space Remake, God of War (2018), Europa - // Universalis V, Need for Speed Unbound, Nioh 2 – The Complete Edition, Control Ultimate Edition, Deathloop + // Universalis V, Need for Speed Unbound, Nioh 2 – The Complete Edition, Control Ultimate Edition, Deathloop, Where + // Winds Meet QUIRK_ENTRY("witcher3.exe", GameQuirk::DisableDxgiSpoofing), QUIRK_ENTRY("alanwake2.exe", GameQuirk::DisableDxgiSpoofing), QUIRK_ENTRY("crysis3remastered.exe", GameQuirk::DisableDxgiSpoofing), @@ -201,6 +202,7 @@ static const QuirkEntry quirkTable[] = { QUIRK_ENTRY("nioh2.exe", GameQuirk::DisableDxgiSpoofing, GameQuirk::ForceAutoExposure), QUIRK_ENTRY("control_dx12.exe", GameQuirk::DisableDxgiSpoofing, GameQuirk::ForceAutoExposure), QUIRK_ENTRY("deathloop.exe", GameQuirk::DisableDxgiSpoofing), + QUIRK_ENTRY("wwm.exe", GameQuirk::DisableDxgiSpoofing), // FSR2 only, no spoof needed // @@ -239,7 +241,7 @@ static const QuirkEntry quirkTable[] = { // Self-explanatory // // The Persistence, Split Fiction, Minecraft Bedrock, Ghostwire: Tokyo, RoadCraft, STAR WARS Jedi: - // Survivor, FINAL FANTASY VII REBIRTH, Witchfire + // Survivor, FINAL FANTASY VII REBIRTH, Witchfire, MechWarrior 5: Mercenaries QUIRK_ENTRY_UE(persistence, GameQuirk::ForceUnrealEngine), QUIRK_ENTRY("splitfiction.exe", GameQuirk::FastFeatureReset), QUIRK_ENTRY("minecraft.windows.exe", GameQuirk::KernelBaseHooks), @@ -248,6 +250,9 @@ static const QuirkEntry quirkTable[] = { QUIRK_ENTRY("jedisurvivor.exe", GameQuirk::ForceAutoExposure), QUIRK_ENTRY("ff7rebirth_.exe", GameQuirk::ForceUnrealEngine), QUIRK_ENTRY_UE(witchfire, GameQuirk::DisableUseFsrInputValues), + QUIRK_ENTRY_UE(mechwarrior, GameQuirk::ForceUnrealEngine), + QUIRK_ENTRY_UE(ghostrunner, GameQuirk::ForceUnrealEngine), + QUIRK_ENTRY_UE(ghostrunner2, GameQuirk::ForceUnrealEngine), // VULKAN // ------