Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
4cfcc60
chore: remove fsr and xess :C
doodlum Sep 23, 2025
52f7772
chore: add back fidelityfx
doodlum Sep 23, 2025
4b2d67a
feat: dx11 fsr3
doodlum Sep 23, 2025
b594f8a
chore: clean up texture management
doodlum Sep 23, 2025
6854fab
fix: clean up
doodlum Sep 23, 2025
0f086e8
chore: more cleanup
doodlum Sep 23, 2025
2133add
chore: fix fg
doodlum Sep 23, 2025
e72966e
fix: optimised interop
doodlum Sep 23, 2025
286a7af
style: 🎨 apply pre-commit.ci formatting
pre-commit-ci[bot] Sep 23, 2025
ad58d85
chore: cleanup
doodlum Sep 23, 2025
c3ff1dc
Merge branch 'upscaler-downgrade' of https://github.com/doodlum/skyri…
doodlum Sep 23, 2025
06407b1
fix: fix nonsense
doodlum Sep 23, 2025
09986bc
style: 🎨 apply pre-commit.ci formatting
pre-commit-ci[bot] Sep 23, 2025
5a4d8e3
chore: clean up
doodlum Sep 23, 2025
0f7c646
Merge branch 'upscaler-downgrade' of https://github.com/doodlum/skyri…
doodlum Sep 23, 2025
ae505ab
fix: only nt handle
doodlum Sep 23, 2025
ddd7737
chore: quality tweaks
doodlum Sep 23, 2025
ba56d3c
chore: tweaks
doodlum Sep 23, 2025
2e7ecd7
style: 🎨 apply pre-commit.ci formatting
pre-commit-ci[bot] Sep 23, 2025
2b58d3f
Merge branch 'upscaler-downgrade' of https://github.com/doodlum/skyri…
doodlum Sep 23, 2025
8c720eb
perf: optimise fsr
doodlum Sep 23, 2025
f33bacd
fix: scratch buffer memory leak
doodlum Sep 23, 2025
49598f2
fix: what
doodlum Sep 23, 2025
073039b
chore: remove backend label
doodlum Sep 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@
[submodule "extern/Streamline-DX12"]
path = extern/Streamline-DX12
url = https://github.com/NVIDIAGameWorks/Streamline.git
[submodule "extern/FidelityFX-SDK"]
path = extern/FidelityFX-SDK
url = https://github.com/MapleHinata/FidelityFX-SDK
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ include(XeSS-SDK)

find_path(DETOURS_INCLUDE_DIRS "detours/detours.h")
find_library(DETOURS_LIBRARY detours REQUIRED)
include(FidelityFX-SDK)

target_compile_definitions(
${PROJECT_NAME}
Expand Down
15 changes: 15 additions & 0 deletions cmake/FidelityFX-SDK.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
set(FFX_API_VK OFF)
set(FFX_API_DX12 OFF)
set(FFX_ALL OFF)
set(FFX_FSR3 ON)
set(FFX_FSR ON)
set(FFX_AUTO_COMPILE_SHADERS 1)
Comment thread
doodlum marked this conversation as resolved.

add_subdirectory(${CMAKE_SOURCE_DIR}/extern/FidelityFX-SDK/sdk)

target_link_libraries(
${PROJECT_NAME}
PRIVATE
ffx_backend_dx11_x64
ffx_fsr3_x64
)
1 change: 1 addition & 0 deletions extern/FidelityFX-SDK
Submodule FidelityFX-SDK added at 8138c9
19 changes: 2 additions & 17 deletions features/Upscaling/Shaders/Upscaling/EncodeTexturesCS.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,7 @@ Texture2D<float2> MotionVectorMask : register(t2);
Texture2D<float> DepthMask : register(t3);

RWTexture2D<float> ReactiveMask : register(u0);

#if defined(DLSS) || defined(FSR)
RWTexture2D<float> TransparencyCompositionMask : register(u1);
#endif

RWTexture2D<float2> MotionVectorOutput : register(u2);

[numthreads(8, 8, 1)] void main(uint3 dispatchID : SV_DispatchThreadID) {
Expand All @@ -27,14 +23,13 @@ RWTexture2D<float2> MotionVectorOutput : register(u2);
float2 taaMask = TAAMask[dispatchID.xy];
float transparencyCompositionMask = NormalsWaterMask[dispatchID.xy].z;

#if defined(DLSS)
float depth = DepthMask[dispatchID.xy];

#if defined(DLSS) || defined(XESS)
// Find longest motion vector in 5x5 neighborhood
float2 motionVector = MotionVectorMask[dispatchID.xy];
float2 longestMotionVector = motionVector;
float maxMotionLengthSq = dot(motionVector, motionVector);
#endif

[unroll]
for (int y = -2; y <= 2; y++) {
Expand All @@ -50,10 +45,6 @@ RWTexture2D<float2> MotionVectorOutput : register(u2);

// Take neighbor if it's longer AND closer
if (neighborDepth < depth){
taaMask.x = min(taaMask.x, TAAMask[samplePos].x);

#if defined(DLSS) || defined(XESS)

float2 neighborMotionVector = MotionVectorMask[samplePos];

// Square motion vector for length
Expand All @@ -63,21 +54,15 @@ RWTexture2D<float2> MotionVectorOutput : register(u2);
maxMotionLengthSq = motionLengthSq;
longestMotionVector = neighborMotionVector;
}
#endif
}
}
}

#if defined(DLSS) || defined(XESS)
MotionVectorOutput[dispatchID.xy] = longestMotionVector;
#endif

#if defined(DLSS) || defined(FSR)
float reactiveMask = taaMask.x * 0.1 + taaMask.y;
ReactiveMask[dispatchID.xy] = reactiveMask;

TransparencyCompositionMask[dispatchID.xy] = transparencyCompositionMask;
#else
float reactiveMask = taaMask.x * 0.01 + taaMask.y;
ReactiveMask[dispatchID.xy] = reactiveMask + transparencyCompositionMask * 0.1;
#endif
}
Binary file not shown.
218 changes: 0 additions & 218 deletions include/FidelityFX/upscalers/include/ffx_upscale.h

This file was deleted.

88 changes: 0 additions & 88 deletions include/FidelityFX/upscalers/include/ffx_upscale.hpp

This file was deleted.

Loading