This project combines Streamline (https://github.com/NVIDIAGameWorks/Streamline) and Donut (https://github.com/NVIDIAGameWorks/donut) to create a sample app demonstrating a Streamline integration.
There is also an experimental option to enable NGX-only integration instead of using Streamline.
PATH. The best way to do this is to install a recent (1.2.198.1 or newer) Vulkan SDK from https://www.vulkan.org/ and ensure that its bin directory is in the build machine's system PATH.git submodule update --init --recursive-DUSE_SL=1 - the default).streamline/ folder_sdk (unless you specified the -dir commandline option). Copy the entire contents of the _sdk folder to the sample app's streamline folder.-DUSE_SL=0), and turn FrameWarp on (-DSTREAMLINE_FEATURE_LATEWARP=1)
*** Please note the disclaimers in the USE_SL=OFF path of NVWrapper.h ***
*** If using Vulkan path with USE_SL=OFF, revert the patch to the donut/nvrhi/Vulkan-Headers repo ***include, lib) to the sample app's ngx folder.amd64, x86) to the sample app's nvapi folder. This can be any of the public releases (version R560+)donut\ShaderMake\CMakeLists.txt):
# Example path to installed Windows SDK
$winsdk_bin = "${env:ProgramFiles(x86)}\Windows Kits\10\bin\10.0.22621.0\x64"
cmake -DSHADERMAKE_SEARCH_FOR_COMPILERS=0 -DDXC_PATH="$winsdk_bin/dxc.exe" -DDXC_SPIRV_PATH="$env:VULKAN_SDK/Bin/dxc.exe" -DFXC_PATH="$winsdk_bin/fxc.exe" ...
make.bat). If using Streamline integration, Cmake will attempt to locate plugins by searching first the streamline/bin/x64 and then the streamline/bin/x64/development folders for sl.interposer.dll. If found, it will copy all SL plugin DLLs from the folder where sl.interposer.dll was located.build.bat)run.bat)-AMD_AGS, adds support for AMD AGS, and shows how devs might go about integrating SL around this.| Arguments | Effect |
|---|---|
| -vk | Run with Vulkan |
| -d3d11 | Run with D3D11 |
| -d3d12 | Run with D3D12 |
| -height 1080 | Sets height |
| -fullscreen | Sets fullscreen (by default game runs in windowed) |
| -verbose | Allows vebose info level logging logging |
| -logToFile | Logs to file |
| -debug | Enables NVRHI and Graphics API validation Layer |
| -noSigCheck | Does not do streamline dll signiture check |
| -vsync | Enables Vsync |
| -sllog | Enables streamline logging |
| -scene "/myscene.fbx" | Loads a custom scene |
| -maxFrames 100 | Sets number of frames to render before the app shuts down |
| -Reflex_mode 1 | Sets Reflex mode: 1:On 2:Boost |
| -Reflex_fpsCap 60 | Sets Refex FPS cap to a given number |
| -DLSS_mode 1 | Sets the DLSS mode startup: 0:Off 1:MaxPerf 2:Balanced 3:MaxQual 4:UtraPerf 5:DLAA |
| -viewport | Specifies backbuffer viewport extent in the format: (offsetLeft,offsetTop,widthxheight) e.g. (320,180,1280x720) |
C++
90.8%
HLSL
5.2%
CMake
2.4%
C
1.4%
This project combines Streamline (https://github.com/NVIDIAGameWorks/Streamline) and Donut (https://github.com/NVIDIAGameWorks/donut) to create a sample app demonstrating a Streamline integration.
There is also an experimental option to enable NGX-only integration instead of using Streamline.
PATH. The best way to do this is to install a recent (1.2.198.1 or newer) Vulkan SDK from https://www.vulkan.org/ and ensure that its bin directory is in the build machine's system PATH.git submodule update --init --recursive-DUSE_SL=1 - the default).streamline/ folder_sdk (unless you specified the -dir commandline option). Copy the entire contents of the _sdk folder to the sample app's streamline folder.-DUSE_SL=0), and turn FrameWarp on (-DSTREAMLINE_FEATURE_LATEWARP=1)
*** Please note the disclaimers in the USE_SL=OFF path of NVWrapper.h ***
*** If using Vulkan path with USE_SL=OFF, revert the patch to the donut/nvrhi/Vulkan-Headers repo ***include, lib) to the sample app's ngx folder.amd64, x86) to the sample app's nvapi folder. This can be any of the public releases (version R560+)donut\ShaderMake\CMakeLists.txt):
# Example path to installed Windows SDK
$winsdk_bin = "${env:ProgramFiles(x86)}\Windows Kits\10\bin\10.0.22621.0\x64"
cmake -DSHADERMAKE_SEARCH_FOR_COMPILERS=0 -DDXC_PATH="$winsdk_bin/dxc.exe" -DDXC_SPIRV_PATH="$env:VULKAN_SDK/Bin/dxc.exe" -DFXC_PATH="$winsdk_bin/fxc.exe" ...
make.bat). If using Streamline integration, Cmake will attempt to locate plugins by searching first the streamline/bin/x64 and then the streamline/bin/x64/development folders for sl.interposer.dll. If found, it will copy all SL plugin DLLs from the folder where sl.interposer.dll was located.build.bat)run.bat)-AMD_AGS, adds support for AMD AGS, and shows how devs might go about integrating SL around this.| Arguments | Effect |
|---|---|
| -vk | Run with Vulkan |
| -d3d11 | Run with D3D11 |
| -d3d12 | Run with D3D12 |
| -height 1080 | Sets height |
| -fullscreen | Sets fullscreen (by default game runs in windowed) |
| -verbose | Allows vebose info level logging logging |
| -logToFile | Logs to file |
| -debug | Enables NVRHI and Graphics API validation Layer |
| -noSigCheck | Does not do streamline dll signiture check |
| -vsync | Enables Vsync |
| -sllog | Enables streamline logging |
| -scene "/myscene.fbx" | Loads a custom scene |
| -maxFrames 100 | Sets number of frames to render before the app shuts down |
| -Reflex_mode 1 | Sets Reflex mode: 1:On 2:Boost |
| -Reflex_fpsCap 60 | Sets Refex FPS cap to a given number |
| -DLSS_mode 1 | Sets the DLSS mode startup: 0:Off 1:MaxPerf 2:Balanced 3:MaxQual 4:UtraPerf 5:DLAA |
| -viewport | Specifies backbuffer viewport extent in the format: (offsetLeft,offsetTop,widthxheight) e.g. (320,180,1280x720) |
C++
90.8%
HLSL
5.2%
CMake
2.4%
C
1.4%