diff --git a/CyberXeSS/CyberXeSS.vcxproj b/CyberXeSS/CyberXeSS.vcxproj
index 3493a3d8..3fbc1e08 100644
--- a/CyberXeSS/CyberXeSS.vcxproj
+++ b/CyberXeSS/CyberXeSS.vcxproj
@@ -178,40 +178,39 @@ copy $(SolutionDir)nvngx.ini $(SolutionDir)x64\Release\a\
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
diff --git a/CyberXeSS/NVNGX_DLSS_Dx11.cpp b/CyberXeSS/NVNGX_DLSS_Dx11.cpp
index f7563891..5a52fc7c 100644
--- a/CyberXeSS/NVNGX_DLSS_Dx11.cpp
+++ b/CyberXeSS/NVNGX_DLSS_Dx11.cpp
@@ -4,9 +4,9 @@
#include
#include "Config.h"
-#include "XeSSFeature_Dx11.h"
-#include "FSR2Feature_Dx11.h"
-#include "FSR2Feature_Dx11On12.h"
+#include "backends/xess/XeSSFeature_Dx11.h"
+#include "backends/fsr2/FSR2Feature_Dx11.h"
+#include "backends/fsr2/FSR2Feature_Dx11On12.h"
#include "NVNGX_Parameter.h"
inline ID3D11Device* D3D11Device = nullptr;
diff --git a/CyberXeSS/NVNGX_DLSS_Dx12.cpp b/CyberXeSS/NVNGX_DLSS_Dx12.cpp
index 7c90948a..c25f9a62 100644
--- a/CyberXeSS/NVNGX_DLSS_Dx12.cpp
+++ b/CyberXeSS/NVNGX_DLSS_Dx12.cpp
@@ -5,8 +5,8 @@
#include
#include "Config.h"
-#include "XeSSFeature_Dx12.h"
-#include "FSR2Feature_Dx12.h"
+#include "backends/xess/XeSSFeature_Dx12.h"
+#include "backends/fsr2/FSR2Feature_Dx12.h"
#include "NVNGX_Parameter.h"
inline ID3D12Device* D3D12Device = nullptr;
diff --git a/CyberXeSS/NVNGX_DLSS_Vk.cpp b/CyberXeSS/NVNGX_DLSS_Vk.cpp
index e6f98731..ac37714c 100644
--- a/CyberXeSS/NVNGX_DLSS_Vk.cpp
+++ b/CyberXeSS/NVNGX_DLSS_Vk.cpp
@@ -5,7 +5,7 @@
#include
#include "Config.h"
-#include "FSR2Feature_Vk.h"
+#include "backends/fsr2/FSR2Feature_Vk.h"
#include "NVNGX_Parameter.h"
VkInstance vkInstance;
diff --git a/CyberXeSS/IFeature.cpp b/CyberXeSS/backends/IFeature.cpp
similarity index 99%
rename from CyberXeSS/IFeature.cpp
rename to CyberXeSS/backends/IFeature.cpp
index 3f40b581..630c8198 100644
--- a/CyberXeSS/IFeature.cpp
+++ b/CyberXeSS/backends/IFeature.cpp
@@ -1,5 +1,5 @@
#pragma once
-#include "pch.h"
+#include "../pch.h"
#include "IFeature.h"
void IFeature::SetHandle(unsigned int InHandleId)
diff --git a/CyberXeSS/IFeature.h b/CyberXeSS/backends/IFeature.h
similarity index 100%
rename from CyberXeSS/IFeature.h
rename to CyberXeSS/backends/IFeature.h
diff --git a/CyberXeSS/IFeature_Dx11.h b/CyberXeSS/backends/IFeature_Dx11.h
similarity index 100%
rename from CyberXeSS/IFeature_Dx11.h
rename to CyberXeSS/backends/IFeature_Dx11.h
diff --git a/CyberXeSS/IFeature_Dx12.cpp b/CyberXeSS/backends/IFeature_Dx12.cpp
similarity index 100%
rename from CyberXeSS/IFeature_Dx12.cpp
rename to CyberXeSS/backends/IFeature_Dx12.cpp
diff --git a/CyberXeSS/IFeature_Dx12.h b/CyberXeSS/backends/IFeature_Dx12.h
similarity index 97%
rename from CyberXeSS/IFeature_Dx12.h
rename to CyberXeSS/backends/IFeature_Dx12.h
index a36598b2..8da8855b 100644
--- a/CyberXeSS/IFeature_Dx12.h
+++ b/CyberXeSS/backends/IFeature_Dx12.h
@@ -1,5 +1,5 @@
#pragma once
-#include "d3d12.h"
+#include
#include "IFeature.h"
class IFeature_Dx12 : public virtual IFeature
diff --git a/CyberXeSS/IFeature_Vk.h b/CyberXeSS/backends/IFeature_Vk.h
similarity index 100%
rename from CyberXeSS/IFeature_Vk.h
rename to CyberXeSS/backends/IFeature_Vk.h
diff --git a/CyberXeSS/FSR2Feature.cpp b/CyberXeSS/backends/fsr2/FSR2Feature.cpp
similarity index 95%
rename from CyberXeSS/FSR2Feature.cpp
rename to CyberXeSS/backends/fsr2/FSR2Feature.cpp
index 48328dc4..20ba85d7 100644
--- a/CyberXeSS/FSR2Feature.cpp
+++ b/CyberXeSS/backends/fsr2/FSR2Feature.cpp
@@ -1,7 +1,7 @@
#pragma once
-#include "pch.h"
+#include "../../pch.h"
+#include "../../Config.h"
#include "FSR2Feature.h"
-#include "Config.h"
double FSR2Feature::GetDeltaTime()
{
diff --git a/CyberXeSS/FSR2Feature.h b/CyberXeSS/backends/fsr2/FSR2Feature.h
similarity index 99%
rename from CyberXeSS/FSR2Feature.h
rename to CyberXeSS/backends/fsr2/FSR2Feature.h
index dbf9fd2f..b998ecd1 100644
--- a/CyberXeSS/FSR2Feature.h
+++ b/CyberXeSS/backends/fsr2/FSR2Feature.h
@@ -1,7 +1,7 @@
#pragma once
#include
-#include "IFeature.h"
+#include "../IFeature.h"
inline static std::string ResultToString(FfxErrorCode result)
{
diff --git a/CyberXeSS/FSR2Feature_Dx11.cpp b/CyberXeSS/backends/fsr2/FSR2Feature_Dx11.cpp
similarity index 99%
rename from CyberXeSS/FSR2Feature_Dx11.cpp
rename to CyberXeSS/backends/fsr2/FSR2Feature_Dx11.cpp
index 206c3801..8b02b745 100644
--- a/CyberXeSS/FSR2Feature_Dx11.cpp
+++ b/CyberXeSS/backends/fsr2/FSR2Feature_Dx11.cpp
@@ -1,7 +1,8 @@
#pragma once
-#include "pch.h"
+#include "../../pch.h"
+#include "../../Config.h"
+
#include "FSR2Feature_Dx11.h"
-#include "Config.h"
bool FSR2FeatureDx11::Init(ID3D11Device* InDevice, ID3D11DeviceContext* InContext, const NVSDK_NGX_Parameter* InParameters)
{
diff --git a/CyberXeSS/FSR2Feature_Dx11.h b/CyberXeSS/backends/fsr2/FSR2Feature_Dx11.h
similarity index 96%
rename from CyberXeSS/FSR2Feature_Dx11.h
rename to CyberXeSS/backends/fsr2/FSR2Feature_Dx11.h
index fa82c257..8feadf42 100644
--- a/CyberXeSS/FSR2Feature_Dx11.h
+++ b/CyberXeSS/backends/fsr2/FSR2Feature_Dx11.h
@@ -1,5 +1,5 @@
#pragma once
-#include "IFeature_Dx11.h"
+#include "../IFeature_Dx11.h"
#include "FSR2Feature.h"
#include
diff --git a/CyberXeSS/FSR2Feature_Dx11On12.cpp b/CyberXeSS/backends/fsr2/FSR2Feature_Dx11On12.cpp
similarity index 99%
rename from CyberXeSS/FSR2Feature_Dx11On12.cpp
rename to CyberXeSS/backends/fsr2/FSR2Feature_Dx11On12.cpp
index 9bef0fff..890e0942 100644
--- a/CyberXeSS/FSR2Feature_Dx11On12.cpp
+++ b/CyberXeSS/backends/fsr2/FSR2Feature_Dx11On12.cpp
@@ -1,9 +1,10 @@
#pragma once
-#include "pch.h"
-#include "FSR2Feature_Dx11on12.h"
-#include "Config.h"
+#include "../../pch.h"
+#include "../../Config.h"
-#include "dxgi1_6.h"
+#include "FSR2Feature_Dx11on12.h"
+
+#include
#include
#define ASSIGN_DESC(dest, src) dest->Width = src.Width; dest->Height = src.Height; dest->Format = src.Format; dest->BindFlags = src.BindFlags;
diff --git a/CyberXeSS/FSR2Feature_Dx11On12.h b/CyberXeSS/backends/fsr2/FSR2Feature_Dx11On12.h
similarity index 98%
rename from CyberXeSS/FSR2Feature_Dx11On12.h
rename to CyberXeSS/backends/fsr2/FSR2Feature_Dx11On12.h
index d022b9bf..2b334096 100644
--- a/CyberXeSS/FSR2Feature_Dx11On12.h
+++ b/CyberXeSS/backends/fsr2/FSR2Feature_Dx11On12.h
@@ -1,5 +1,5 @@
#pragma once
-#include "IFeature_Dx11.h"
+#include "../IFeature_Dx11.h"
#include "FSR2Feature.h"
#include
diff --git a/CyberXeSS/FSR2Feature_Dx12.cpp b/CyberXeSS/backends/fsr2/FSR2Feature_Dx12.cpp
similarity index 99%
rename from CyberXeSS/FSR2Feature_Dx12.cpp
rename to CyberXeSS/backends/fsr2/FSR2Feature_Dx12.cpp
index 608f868f..e37fe306 100644
--- a/CyberXeSS/FSR2Feature_Dx12.cpp
+++ b/CyberXeSS/backends/fsr2/FSR2Feature_Dx12.cpp
@@ -1,7 +1,8 @@
#pragma once
-#include "pch.h"
+#include "../../pch.h"
+#include "../../Config.h"
+
#include "FSR2Feature_Dx12.h"
-#include "Config.h"
bool FSR2FeatureDx12::Init(ID3D12Device* InDevice, const NVSDK_NGX_Parameter* InParameters)
{
diff --git a/CyberXeSS/FSR2Feature_Dx12.h b/CyberXeSS/backends/fsr2/FSR2Feature_Dx12.h
similarity index 95%
rename from CyberXeSS/FSR2Feature_Dx12.h
rename to CyberXeSS/backends/fsr2/FSR2Feature_Dx12.h
index 1aa242f8..9aa67cf7 100644
--- a/CyberXeSS/FSR2Feature_Dx12.h
+++ b/CyberXeSS/backends/fsr2/FSR2Feature_Dx12.h
@@ -1,6 +1,6 @@
#pragma once
#include "FSR2Feature.h"
-#include "IFeature_Dx12.h"
+#include "../IFeature_Dx12.h"
#include
#include
diff --git a/CyberXeSS/FSR2Feature_Vk.cpp b/CyberXeSS/backends/fsr2/FSR2Feature_Vk.cpp
similarity index 99%
rename from CyberXeSS/FSR2Feature_Vk.cpp
rename to CyberXeSS/backends/fsr2/FSR2Feature_Vk.cpp
index d0819a4a..e0d7e63d 100644
--- a/CyberXeSS/FSR2Feature_Vk.cpp
+++ b/CyberXeSS/backends/fsr2/FSR2Feature_Vk.cpp
@@ -1,7 +1,8 @@
#pragma once
-#include "pch.h"
+#include "../../pch.h"
+#include "../../Config.h"
+
#include "FSR2Feature_Vk.h"
-#include "Config.h"
#include "nvsdk_ngx_vk.h"
diff --git a/CyberXeSS/FSR2Feature_Vk.h b/CyberXeSS/backends/fsr2/FSR2Feature_Vk.h
similarity index 96%
rename from CyberXeSS/FSR2Feature_Vk.h
rename to CyberXeSS/backends/fsr2/FSR2Feature_Vk.h
index 01dd7fae..3e17288d 100644
--- a/CyberXeSS/FSR2Feature_Vk.h
+++ b/CyberXeSS/backends/fsr2/FSR2Feature_Vk.h
@@ -5,7 +5,7 @@
#include
#include "FSR2Feature.h"
-#include "IFeature_Vk.h"
+#include "../IFeature_Vk.h"
class FSR2FeatureVk : public FSR2Feature, public IFeature_Vk
{
diff --git a/CyberXeSS/XeSSFeature.cpp b/CyberXeSS/backends/xess/XeSSFeature.cpp
similarity index 99%
rename from CyberXeSS/XeSSFeature.cpp
rename to CyberXeSS/backends/xess/XeSSFeature.cpp
index dffc63e4..078681c7 100644
--- a/CyberXeSS/XeSSFeature.cpp
+++ b/CyberXeSS/backends/xess/XeSSFeature.cpp
@@ -1,7 +1,8 @@
#pragma once
-#include "pch.h"
+#include "../../pch.h"
+#include "../../Config.h"
+
#include "XeSSFeature.h"
-#include "Config.h"
inline void XeSSLogCallback(const char* Message, xess_logging_level_t Level)
{
diff --git a/CyberXeSS/XeSSFeature.h b/CyberXeSS/backends/xess/XeSSFeature.h
similarity index 98%
rename from CyberXeSS/XeSSFeature.h
rename to CyberXeSS/backends/xess/XeSSFeature.h
index fd068071..947923db 100644
--- a/CyberXeSS/XeSSFeature.h
+++ b/CyberXeSS/backends/xess/XeSSFeature.h
@@ -1,5 +1,5 @@
#pragma once
-#include "IFeature.h"
+#include "../IFeature.h"
#include "xess_d3d12.h"
#include "xess_debug.h"
#include
diff --git a/CyberXeSS/XeSSFeature_Dx11.cpp b/CyberXeSS/backends/xess/XeSSFeature_Dx11.cpp
similarity index 99%
rename from CyberXeSS/XeSSFeature_Dx11.cpp
rename to CyberXeSS/backends/xess/XeSSFeature_Dx11.cpp
index eae747aa..5ccc2978 100644
--- a/CyberXeSS/XeSSFeature_Dx11.cpp
+++ b/CyberXeSS/backends/xess/XeSSFeature_Dx11.cpp
@@ -1,9 +1,10 @@
#pragma once
-#include "pch.h"
-#include "XeSSFeature_Dx11.h"
-#include "Config.h"
+#include "../../pch.h"
+#include "../../Config.h"
-#include "dxgi1_6.h"
+#include "XeSSFeature_Dx11.h"
+
+#include
#include
#define ASSIGN_DESC(dest, src) dest->Width = src.Width; dest->Height = src.Height; dest->Format = src.Format; dest->BindFlags = src.BindFlags;
diff --git a/CyberXeSS/XeSSFeature_Dx11.h b/CyberXeSS/backends/xess/XeSSFeature_Dx11.h
similarity index 98%
rename from CyberXeSS/XeSSFeature_Dx11.h
rename to CyberXeSS/backends/xess/XeSSFeature_Dx11.h
index 56162cbc..bf506c07 100644
--- a/CyberXeSS/XeSSFeature_Dx11.h
+++ b/CyberXeSS/backends/xess/XeSSFeature_Dx11.h
@@ -1,5 +1,5 @@
#pragma once
-#include "IFeature_Dx11.h"
+#include "../IFeature_Dx11.h"
#include "XeSSFeature.h"
#include
#include
diff --git a/CyberXeSS/XeSSFeature_Dx12.cpp b/CyberXeSS/backends/xess/XeSSFeature_Dx12.cpp
similarity index 99%
rename from CyberXeSS/XeSSFeature_Dx12.cpp
rename to CyberXeSS/backends/xess/XeSSFeature_Dx12.cpp
index 5ba44fb3..064d6814 100644
--- a/CyberXeSS/XeSSFeature_Dx12.cpp
+++ b/CyberXeSS/backends/xess/XeSSFeature_Dx12.cpp
@@ -1,7 +1,8 @@
#pragma once
-#include "pch.h"
+#include "../../pch.h"
+#include "../../Config.h"
+
#include "XeSSFeature_Dx12.h"
-#include "Config.h"
bool XeSSFeatureDx12::Init(ID3D12Device* InDevice, const NVSDK_NGX_Parameter* InParameters)
{
diff --git a/CyberXeSS/XeSSFeature_Dx12.h b/CyberXeSS/backends/xess/XeSSFeature_Dx12.h
similarity index 94%
rename from CyberXeSS/XeSSFeature_Dx12.h
rename to CyberXeSS/backends/xess/XeSSFeature_Dx12.h
index 725a3a3f..83f7ffb8 100644
--- a/CyberXeSS/XeSSFeature_Dx12.h
+++ b/CyberXeSS/backends/xess/XeSSFeature_Dx12.h
@@ -1,5 +1,5 @@
#pragma once
-#include "IFeature_Dx12.h"
+#include "../IFeature_Dx12.h"
#include "XeSSFeature.h"
#include
diff --git a/CyberXeSS/framework.h b/CyberXeSS/framework.h
deleted file mode 100644
index 4470756e..00000000
--- a/CyberXeSS/framework.h
+++ /dev/null
@@ -1,35 +0,0 @@
-//#pragma once
-//
-//#define WIN32_LEAN_AND_MEAN
-//#define NOMINMAX
-//#define WIN32_NO_STATUS
-//
-//#include
-//#include
-//#include
-//#include
-//#include
-//#include
-//#include
-//#include
-//#include
-//#include
-//#include
-//#include
-//#include
-//#include
-//
-//#include
-//
-//#define NV_WINDOWS
-//#define NVSDK_NGX
-//#define NGX_ENABLE_DEPRECATED_GET_PARAMETERS
-//#define NGX_ENABLE_DEPRECATED_SHUTDOWN
-//#include
-//#include
-//#include
-//
-//#include
-//
-//#define SPDLOG_USE_STD_FORMAT
-//#include "spdlog/spdlog.h"