Skip to content

Commit

Permalink
Merge pull request #19 from NarutoUA/fivem
Browse files Browse the repository at this point in the history
FiveM compatibility, fix windowed mode, fix incorrect sharpness in some cases
  • Loading branch information
NarutoUA authored Jul 7, 2021
2 parents 24e68e6 + accb93e commit 2db716c
Show file tree
Hide file tree
Showing 26 changed files with 636 additions and 4,179 deletions.
9 changes: 3 additions & 6 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
[submodule "submodules/wil"]
path = submodules/wil
url = https://github.com/microsoft/wil.git
[submodule "submodules/simpleini"]
path = submodules/simpleini
url = https://github.com/brofield/simpleini
[submodule "fsr_common"]
path = fsr_common
url = https://github.com/NarutoUA/fsr_common.git
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ This mod replaces original Grand Theft Auto V upscaler with [FidelityFx Super Re
| :------- | :---------------: | :---------- |
| ENB | ✔️ | Rename this mod `d3d11.dll` to `d3d11_fsr.dll` and edit `enblocal.ini` file. Set `EnableProxyLibrary=true`, `InitProxyFunctions=true` and `ProxyLibrary=d3d11_fsr.dll` |
| GTA:O | ✔️ | Check [**GTA Online**](#gta-online) section below for more details |
| FiveM | | [In Progress](https://github.com/NarutoUA/gta5_fsr/issues/11) |
| FiveM | ✔️ | Change `Graphics -> Render Resolution` instead of `Advanved Graphics -> Frame scaling mode` |
| RAGE.MP || *Not tested* |
| ReShade || *Not tested* |
| R.E.A.L. (VR) || Check [this](https://github.com/NarutoUA/gta5_fsr/issues/16#issuecomment-874247378) |
Expand Down
1 change: 1 addition & 0 deletions fsr_common
Submodule fsr_common added at 064dcf
12 changes: 6 additions & 6 deletions gta5_fsr/CSuperResolutionMgr.cpp
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
#include "stdafx.h"
#include <numeric>
#include <charconv>

#include "CSuperResolutionMgr.h"

#include "simpleini/SimpleIni.h"
#include "helpers/d3d11_helper.h"
#include "helpers/ini_helper.h"
#include "shaders/fsr_easu_cs_d3d.h"
#include "shaders/fsr_rcas_cs_d3d.h"

Expand All @@ -17,7 +13,7 @@ constexpr auto GTA5_FSR_CFG_SHARPNESS = "Sharpness";
constexpr auto GTA5_FSR_CFG_KEY_TOGGLE_FSR = "KeyToggleFSR";
constexpr auto GTA5_FSR_CFG_KEY_UPDATE_SHARPNESS = "KeyUpdateSharpness";
constexpr auto GTA5_FSR_CFG_KEY_PRINT_DEBUG = "PrintDebug";
constexpr auto GTA5_FSR_EPSILON = 0.001;
constexpr auto GTA5_FSR_EPSILON = 0.01;

CSuperResolutionMgr& CSuperResolutionMgr::instance()
{
Expand Down Expand Up @@ -149,14 +145,18 @@ bool CSuperResolutionMgr::InternalRunSuperResolutionPass(wil::com_ptr_t<ID3D11Sh

static ULONGLONG tick = 0;
static auto fps = 0;
if (print_debug_timeout(tick, 1000, "GTA5_FSR: FSR PASS, FPS: %d, MSAA: %d, FXAA: %d", fps++, m_MSAA, fxaa))
if (print_debug_timeout(tick, 1000
, "GTA5_FSR: FSR PASS, FPS: %d, MSAA: %d, FXAA: %d, [%dx%d]->[%dx%d] (%f)"
, fps++, m_MSAA, fxaa, src_tex_desc.Width, src_tex_desc.Height, dst_tex_desc.Width, dst_tex_desc.Height, m_fSharpness)
)
fps = 0;

return true;
}

void CSuperResolutionMgr::InternalOnDeviceLost()
{
print_debug("GTA5_FSR: Device lost");
ReleaseResources();
}

Expand Down
25 changes: 17 additions & 8 deletions gta5_fsr/gta5_fsr.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,15 @@
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)submodules/wil/include;$(SolutionDir)submodules;$(ProjectDir)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)fsr_common;$(SolutionDir)fsr_common/submodules/wil/include;$(SolutionDir)fsr_common/submodules;$(ProjectDir)</AdditionalIncludeDirectories>
<PrecompiledHeader>Use</PrecompiledHeader>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ModuleDefinitionFile>exports.def</ModuleDefinitionFile>
<AdditionalDependencies>dxguid.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
Expand All @@ -81,7 +82,7 @@
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
<AdditionalIncludeDirectories>$(SolutionDir)submodules/wil/include;$(SolutionDir)submodules;$(ProjectDir)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)fsr_common;$(SolutionDir)fsr_common/submodules/wil/include;$(SolutionDir)fsr_common/submodules;$(ProjectDir)</AdditionalIncludeDirectories>
<PrecompiledHeader>Use</PrecompiledHeader>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
Expand All @@ -91,20 +92,25 @@
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ModuleDefinitionFile>exports.def</ModuleDefinitionFile>
<AdditionalDependencies>dxguid.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\fsr_common\helpers\d3d11_helper.h" />
<ClInclude Include="..\fsr_common\helpers\debug_helper.h" />
<ClInclude Include="..\fsr_common\helpers\helpers.h" />
<ClInclude Include="..\fsr_common\helpers\ini_helper.h" />
<ClInclude Include="..\fsr_common\shaders\defines.h" />
<ClInclude Include="..\fsr_common\shaders\fsr_easu_cs_d3d.h" />
<ClInclude Include="..\fsr_common\shaders\fsr_rcas_cs_d3d.h" />
<ClInclude Include="CSuperResolutionMgr.h" />
<ClInclude Include="gta5_defines.h" />
<ClInclude Include="helpers\d3d11_helper.h" />
<ClInclude Include="helpers\debug_helper.h" />
<ClInclude Include="helpers\ini_helper.h" />
<ClInclude Include="shaders\defines.h" />
<ClInclude Include="shaders\fsr_easu_cs_d3d.h" />
<ClInclude Include="shaders\fsr_rcas_cs_d3d.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="wrappers\d3d11\ID3D11DeviceWrapper.h" />
<ClInclude Include="wrappers\d3d11\ID3D11DeviceContextWrapper.h" />
<ClInclude Include="wrappers\dxgi\IDXGIAdapterWrapper.h" />
<ClInclude Include="wrappers\dxgi\IDXGIDeviceWrapper.h" />
<ClInclude Include="wrappers\dxgi\IDXGIFactoryWrapper.h" />
<ClInclude Include="wrappers\dxgi\IDXGISwapChainWrapper.h" />
<ClInclude Include="wrappers\wrappers.h" />
</ItemGroup>
Expand All @@ -117,6 +123,9 @@
</ClCompile>
<ClCompile Include="wrappers\d3d11\ID3D11DeviceWrapper.cpp" />
<ClCompile Include="wrappers\d3d11\ID3D11DeviceContextWrapper.cpp" />
<ClCompile Include="wrappers\dxgi\IDXGIAdapterWrapper.cpp" />
<ClCompile Include="wrappers\dxgi\IDXGIDeviceWrapper.cpp" />
<ClCompile Include="wrappers\dxgi\IDXGIFactoryWrapper.cpp" />
<ClCompile Include="wrappers\dxgi\IDXGISwapChainWrapper.cpp" />
</ItemGroup>
<ItemGroup>
Expand Down
55 changes: 38 additions & 17 deletions gta5_fsr/gta5_fsr.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,6 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="shaders\defines.h">
<Filter>shaders</Filter>
</ClInclude>
<ClInclude Include="shaders\fsr_easu_cs_d3d.h">
<Filter>shaders</Filter>
</ClInclude>
<ClInclude Include="shaders\fsr_rcas_cs_d3d.h">
<Filter>shaders</Filter>
</ClInclude>
<ClInclude Include="wrappers\wrappers.h">
<Filter>wrappers</Filter>
</ClInclude>
Expand All @@ -40,21 +31,42 @@
<Filter>stdafx</Filter>
</ClInclude>
<ClInclude Include="CSuperResolutionMgr.h" />
<ClInclude Include="helpers\d3d11_helper.h">
<Filter>helpers</Filter>
</ClInclude>
<ClInclude Include="wrappers\dxgi\IDXGISwapChainWrapper.h">
<Filter>wrappers\dxgi</Filter>
</ClInclude>
<ClInclude Include="helpers\ini_helper.h">
<ClInclude Include="gta5_defines.h" />
<ClInclude Include="wrappers\d3d11\ID3D11DeviceWrapper.h">
<Filter>wrappers\d3d11</Filter>
</ClInclude>
<ClInclude Include="wrappers\dxgi\IDXGIAdapterWrapper.h">
<Filter>wrappers\dxgi</Filter>
</ClInclude>
<ClInclude Include="wrappers\dxgi\IDXGIDeviceWrapper.h">
<Filter>wrappers\dxgi</Filter>
</ClInclude>
<ClInclude Include="wrappers\dxgi\IDXGIFactoryWrapper.h">
<Filter>wrappers\dxgi</Filter>
</ClInclude>
<ClInclude Include="..\fsr_common\shaders\defines.h">
<Filter>shaders</Filter>
</ClInclude>
<ClInclude Include="..\fsr_common\shaders\fsr_easu_cs_d3d.h">
<Filter>shaders</Filter>
</ClInclude>
<ClInclude Include="..\fsr_common\shaders\fsr_rcas_cs_d3d.h">
<Filter>shaders</Filter>
</ClInclude>
<ClInclude Include="..\fsr_common\helpers\d3d11_helper.h">
<Filter>helpers</Filter>
</ClInclude>
<ClInclude Include="gta5_defines.h" />
<ClInclude Include="helpers\debug_helper.h">
<ClInclude Include="..\fsr_common\helpers\debug_helper.h">
<Filter>helpers</Filter>
</ClInclude>
<ClInclude Include="wrappers\d3d11\ID3D11DeviceWrapper.h">
<Filter>wrappers\d3d11</Filter>
<ClInclude Include="..\fsr_common\helpers\helpers.h">
<Filter>helpers</Filter>
</ClInclude>
<ClInclude Include="..\fsr_common\helpers\ini_helper.h">
<Filter>helpers</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
Expand All @@ -72,6 +84,15 @@
<ClCompile Include="wrappers\d3d11\ID3D11DeviceWrapper.cpp">
<Filter>wrappers\d3d11</Filter>
</ClCompile>
<ClCompile Include="wrappers\dxgi\IDXGIAdapterWrapper.cpp">
<Filter>wrappers\dxgi</Filter>
</ClCompile>
<ClCompile Include="wrappers\dxgi\IDXGIDeviceWrapper.cpp">
<Filter>wrappers\dxgi</Filter>
</ClCompile>
<ClCompile Include="wrappers\dxgi\IDXGIFactoryWrapper.cpp">
<Filter>wrappers\dxgi</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="exports.def" />
Expand Down
Loading

0 comments on commit 2db716c

Please sign in to comment.