Skip to content

Fork of FidelityFX SDK that adds DLSS and detached upscaling capability

License

Notifications You must be signed in to change notification settings

DenizUgur/Detached-FSR-DLSS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to Detached FSR/DLSS Framework

This repository showcases a sample implementation of the Detached FSR/DLSS Framework. It is possible to run the sample without detaching the upscaler as well. You can access the documentation for the individual methods used below:

How to build the sample

Building the sample is exactly the same as building the FidelityFX SDK. You can find the instructions here. Be sure to build "Native-backed DLL" version.

To build our modified sample you should follow these instructions:

  1. Install the following software developer tool minimum versions:
  1. Generate Visual Studio FSR sample solutions:

Native-backend DLL version

> <installation path>\BuildFSRSolutionNativeDll.bat

This will generate a build\ directory where you will find the solution for either the native-backend-backed SDK samples (FidelityFX SDK Native.sln).

Also be sure to download media files using the following command:

> <installation path>\UpdateMedia.bat

More information about this tool can be found here.

A note on the sample

Detaching the upscaler from the rendering process requires both process to be in sync. To account for scheduling issues and not to drop any rendered frames, both processes will wait for each other to fill/empty the resource pool. The resource pool is a static pool of 10 buffers. Each buffer has enough space for all the required resources for both FSR and DLSS to function.

It is possible to optimize this aspect by using a dynamic resource pool. This will allow the upscaler to run at a different rate than the renderer. However, at this time this sample is no more than a proof of concept.

How to run the sample

Since we deploy two seperate processes for the upscaling and rendering, it becomes difficult to run it within the Visual Studio IDE. We recommend building the solution and the use the helper CLI tool (governor) to run the sample.

  1. Build the solution using the instructions above.
  2. Run the sample using the following command:
# Display help
python governor.py -h

# Example usage
python governor.py --render-res 1285 835 --upscaler FSR3

# Example usage without detaching the upscaler
python governor.py --render-res 1285 835 --upscaler FSR3 --use-default

# Example usage if you want to launch the upscaler from Visual Studio
python governor.py --render-res 1285 835 --upscaler FSR3 --skip-upscaler # This will skip launching the upscaler

About

Fork of FidelityFX SDK that adds DLSS and detached upscaling capability

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • C++ 81.0%
  • C 15.8%
  • HLSL 2.0%
  • GLSL 0.6%
  • CMake 0.5%
  • Batchfile 0.1%