disable copy operations as source

added more extended formats
add an ugly ds fix
This commit is contained in:
cdozdil
2024-11-01 13:17:53 +03:00
parent 96c78cf63e
commit 495df261af
2 changed files with 9 additions and 5 deletions
+1 -1
View File
@@ -82,7 +82,7 @@
<IncludePath>$(SolutionDir)external\vulkan\include;$(SolutionDir)external\nvngx_dlss_sdk;$(SolutionDir)external\xess\inc\xess;$(SolutionDir)external\FidelityFX-SDK\ffx-api\include\ffx_api;$(SolutionDir)external\simpleini;$(SolutionDir)external\unordered_dense\include;$(SolutionDir)external\spdlog\include;$(IncludePath)</IncludePath>
<LibraryPath>$(ProjectDir)fsr2\lib;$(ProjectDir)fsr2_212\lib;$(ProjectDir)fsr31\lib;$(ProjectDir)vulkan;$(ProjectDir)d3dx;$(ProjectDir)detours;$(SolutionDir)external\xess\lib;$(LibraryPath)</LibraryPath>
<TargetName>dxgi</TargetName>
<OutDir>F:\Games\Steam\steamapps\common\Red Dead Redemption\</OutDir>
<OutDir>D:\Folders\Games\SteamLibrary\steamapps\common\DEATH STRANDING DIRECTORS CUT\</OutDir>
<IntDir>.\x64\Debug</IntDir>
<TargetExt>.dll</TargetExt>
</PropertyGroup>
+8 -4
View File
@@ -15,8 +15,8 @@
#include <ankerl/unordered_dense.h>
#include <shared_mutex>
// #define USE_RESOURCE_DISCARD
#define USE_COPY_RESOURCE
//#define USE_RESOURCE_DISCARD
//#define USE_COPY_RESOURCE
#define USE_RESOURCE_BARRIRER
//#define WRAP_SWAP_CHAIN
@@ -515,6 +515,7 @@ static void GetHudless(ID3D12GraphicsCommandList* This)
params->frameID = fgLastFGFrame;
params->numGeneratedFrames = 0;
params->reset = true;
}
if (Config::Instance()->CurrentFeature != nullptr)
@@ -728,7 +729,9 @@ static bool CheckForHudless(std::string callerName, ResourceInfo* resource)
return false;
// resource and target formats are supported by converter
if ((resource->format == DXGI_FORMAT_R8G8B8A8_TYPELESS || resource->format == DXGI_FORMAT_R8G8B8A8_UNORM_SRGB || resource->format == DXGI_FORMAT_R16G16B16A16_FLOAT || resource->format == DXGI_FORMAT_R11G11B10_FLOAT || resource->format == DXGI_FORMAT_R32G32B32A32_FLOAT || resource->format == DXGI_FORMAT_R32G32B32_FLOAT) &&
if ((resource->format == DXGI_FORMAT_R8G8B8A8_TYPELESS || resource->format == DXGI_FORMAT_R8G8B8A8_UNORM_SRGB || resource->format == DXGI_FORMAT_R8G8B8A8_UNORM || resource->format == DXGI_FORMAT_R16G16B16A16_FLOAT ||
resource->format == DXGI_FORMAT_R11G11B10_FLOAT || resource->format == DXGI_FORMAT_R32G32B32A32_FLOAT || resource->format == DXGI_FORMAT_R32G32B32_FLOAT || resource->format == DXGI_FORMAT_R10G10B10A2_UNORM ||
resource->format == DXGI_FORMAT_R10G10B10A2_TYPELESS) &&
(fgScDesc.BufferDesc.Format == DXGI_FORMAT_R8G8B8A8_UNORM || fgScDesc.BufferDesc.Format == DXGI_FORMAT_B8G8R8A8_UNORM || fgScDesc.BufferDesc.Format == DXGI_FORMAT_R10G10B10A2_UNORM))
{
if (callerName.length() > 0)
@@ -1681,7 +1684,8 @@ static HRESULT Present(IDXGISwapChain* pSwapChain, UINT SyncInterval, UINT Flags
fakenvapi::reportFGPresent(pSwapChain, FrameGen_Dx12::fgIsActive, frameCounter % 2);
}
if (frameCounter == 0)
// death stranding fix???
if (frameCounter < 5)
std::this_thread::sleep_for(std::chrono::milliseconds(500));
frameCounter++;