๐Ÿ“ฆ bevyengine / dlss_wgpu

๐Ÿ“„ README.md ยท 51 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51# dlss_wgpu - Deep Learning Super Sampling for wgpu

A wrapper for using [DLSS](https://www.nvidia.com/en-us/geforce/technologies/dlss) with [wgpu](https://github.com/gfx-rs/wgpu) when targeting Vulkan.

## Version Chart

| dlss_wgpu |   dlss   | wgpu  |
| :-------: | :------: | :---: |
|  v3.0.0   | v310.5.0 |  v28  |
|  v2.0.0   | v310.4.0 |  v27  |
|  v1.0.1   | v310.4.0 |  v26  |
|  v1.0.0   | v310.3.0 |  v26  |

## Downloading The DLSS SDK

The DLSS SDK cannot be redistributed by this crate. You will need to download the SDK as follows:

* Ensure you comply with the [DLSS SDK license](https://github.com/NVIDIA/DLSS/blob/v310.5.0/LICENSE.txt)
* Clone the [NVIDIA DLSS Super Resolution SDK v310.5.0](https://github.com/NVIDIA/DLSS/tree/v310.5.0)
* Set the environment variable `DLSS_SDK = /path/to/DLSS`

## Build Dependencies

* Install the DLSS SDK
* Install the [Vulkan SDK](https://vulkan.lunarg.com/sdk/home) and set the `VULKAN_SDK` environment variable
* Install [clang](https://rust-lang.github.io/rust-bindgen/requirements.html#clang)

## Distributing Your App

Once your app is compiled, you do not need to distribute the entire DLSS SDK, or set the `DLSS_SDK` environment variable. You only need to distribute the DLSS DLL(s) and license text as follows:

1. Copy the DLL:
    * Windows: Copy `$DLSS_SDK/lib/Windows_x86_64/rel/nvngx_dlss.dll` to the same directory as your app
    * Linux: Copy `$DLSS_SDK/lib/Linux_x86_64/rel/libnvidia-ngx-dlss.so.310.5.0` to the same directory as your app
2. Include the full copyright and license blurb texts from section `9.5` of `$DLSS_SDK/doc/DLSS_Programming_Guide_Release.pdf` with your app
3. Additionally, for DLSS ray reconstruction:
    * Windows: Copy `$DLSS_SDK/lib/Windows_x86_64/rel/nvngx_dlssd.dll` to the same directory as your app
    * Linux: Copy `$DLSS_SDK/lib/Linux_x86_64/rel/libnvidia-ngx-dlssd.so.310.5.0` to the same directory as your app

## Debug Overlay

When `dlss_wgpu` is compiled with the `debug_overlay` cargo feature, and the `DLSS_SDK` environment variable is set, the development version of the DLSS DLLs will be linked.

The development version of the DLSS SDK comes with an in-app overlay to help debug usage of DLSS. See section `8.2` of `$DLSS_SDK/doc/DLSS_Programming_Guide_Release.pdf` for details.

## Validation Errors

Due to a bug in DLSS, you should [expect to see Vulkan validation errors](https://forums.developer.nvidia.com/t/validation-errors-using-dlss-vulkan-sdk-due-to-vkcmdclearcolorimage/326493).

These errors are safe to ignore.