Skip to content

Commit 348ae90

Browse files
Streamline SDK 2.10.0 Release
1 parent b998246 commit 348ae90

46 files changed

Lines changed: 903 additions & 531 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Streamline (SL) - Version 2.9.0
1+
# Streamline (SL) - Version 2.10.0
22

33
Streamline is an open-sourced cross-IHV solution that simplifies integration of the latest NVIDIA and other independent hardware vendors' super resolution technologies into applications and games. This framework allows developers to easily implement one single integration and enable multiple super-resolution technologies and other graphics effects supported by the hardware vendor.
44

changelog.txt

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,58 @@
1+
======== Release 2.10.0 Entries ========
2+
3+
* Added support for two additional DLSS Super Resolution Transformer
4+
Models:
5+
- `sl::DLSSPreset::ePresetL`
6+
- `sl::DLSSPreset::ePresetM`
7+
8+
* Updated `sl.dlss_g` to reduce latency on high refresh rate displays
9+
when Vertical Sync is enabled in the NVIDIA Control Panel.
10+
11+
* Updated `sl.interposer` to only load plugins from the OTA cache when
12+
updated versions of all requested plugins are available.
13+
14+
* Fixed a memory leak in `slGetFeatureRequirements()`.
15+
16+
* Fixed a bug in `slIsFeatureSupported` for `sl::kFeatureDLSS_G` where
17+
`sl::Result::eErrorOSDisabledHWS` was not returned when GPU-Accelerated
18+
Hardware Scheduling was disabled.
19+
20+
* Fixed a bug in `sl.common` where stale registry key information could
21+
cause NGX initialization to fail.
22+
23+
* Fixed a bug in `sl.interposer` where stale registry key information
24+
could prevent OTA Updates from downloading.
25+
26+
* Fixed a memory leak in `sl.nis` when `slFreeResources()` was called.
27+
Reported on GitHub by @CCPNobody as issue #85
28+
29+
* Fixed a bug in `sl.reflex` where the `VK_NV_low_latency` extension was
30+
required on unsupported hardware.
31+
32+
* Fixed a bug in DLSS-SR which could cause NvApp In-Game Overlay to
33+
incorrectly report DLSS-SR Override as "Inactive".
34+
35+
* Improved logging and documentation around presentation hooking. See
36+
section 2.2.2.3 "MEMORY MANAGEMENT" in `ProgrammingGuide.md` and
37+
section 2.0 "MANUAL HOOKING API" in `ProgrammingGuideManualHooking.md`
38+
for more information.
39+
40+
* Reduced verbosity of log messages for `slSetTagForFrame()`.
41+
Reported on GitHub by @simco50 as issue #80
42+
43+
* Added an `eAll` value to the following enumerations:
44+
- `sl::DirectSRVariantFlags`
45+
- `sl::DLSSGFlags`
46+
- `sl::DLSSGStatus`
47+
- `sl::FeatureRequirementFlags`
48+
- `sl::PreferenceFlags`
49+
50+
* Added an `eCount` value to the following enumerations:
51+
- `sl::DirectSROptimizationType`
52+
- `sl::DLSSDNormalRoughnessMode`
53+
- `sl::NvPerfMode`
54+
55+
156
======== Release 2.9.0 Entries ========
257

358
* Removed support for the following `sl::DLSSPreset` values:

docs/DLSS Programming Guide.pdf

0 Bytes
Binary file not shown.

docs/DLSS-FG Programming Guide.pdf

1 Byte
Binary file not shown.

docs/DLSS-RR Integration Guide.pdf

0 Bytes
Binary file not shown.

docs/ProgrammingGuide.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Streamline - SL
33
=======================
44

5-
Version 2.9.0
5+
Version 2.10.0
66
=======
77

88
1 SETTING UP
@@ -372,6 +372,19 @@ using PFun_ResourceReleaseCallback = void(Resource* resource, void* device);
372372
> **NOTE:**
373373
> Memory management done by the host is an optional feature and it is NOT required for the SL to work properly. If used, proper care needs to be taken to avoid releasing resources which are still used by the GPU.
374374
375+
> **IMPORTANT:**
376+
> Streamline defers destruction of internal GPU resources by a few frames for safety. These resources are actually released when Streamline performs garbage collection each frame.
377+
>
378+
> - In the default integration path, Streamline’s common plugin calls `presentCommon()` once per frame (and also collects from internal pools). If `presentCommon()` is not invoked, garbage collection will not run and memory can grow across events such as swapchain resize.
379+
> - If you use manual hooking or otherwise bypass the default interposer, you must ensure the common plugin’s `presentCommon()` function is called every frame. This is required for internal bookkeeping and garbage collection.
380+
> - Debug tip: set a breakpoint in the common plugin’s `presentCommon()` function. Verify it is hit each frame during normal rendering and around swapchain resize.
381+
382+
> **If `presentCommon()` is not called:**
383+
> - Ensure Streamline is initialized early in process startup and not disabled by configuration.
384+
> - If you are using manual hooking or a custom integration, wire your frame presentation path so that Streamline’s common plugin executes `presentCommon()` exactly once per rendered frame (typically at the end of the frame). The recommended way is to upgrade your frame presentation interface using `slUpgradeInterface` immediately after creation (e.g., the swapchain on DirectX), as described in the Manual Hooking guide, so Streamline can invoke `presentCommon()`.
385+
> - If your engine has multiple presentation paths (e.g., different backends or windowing modes), make sure all active paths invoke `presentCommon()`.
386+
> - After changes, re-run with a breakpoint in `presentCommon()` to confirm it executes every frame and around window resizes.
387+
375388
#### 2.2.3 INITIALIZATION
376389
377390
To initialize an SDK instance, simply call the following method:

docs/ProgrammingGuideDLSS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Streamline - DLSS
66
>The focus of this guide is on using Streamline to integrate DLSS into an application. For more information about DLSS itself, please visit the [NVIDIA Developer DLSS Page](https://developer.nvidia.com/rtx/dlss)
77
>For information on user interface considerations when using the DLSS plugin, please see the ["RTX UI Developer Guidelines.pdf"](<RTX UI Developer Guidelines.pdf>) document included with this SDK.
88
9-
Version 2.9.0
9+
Version 2.10.0
1010
=======
1111

1212
### 1.0 INITIALIZE AND SHUTDOWN
@@ -187,7 +187,7 @@ if(SL_FAILED(result, slDLSSSetOptions(viewport, dlssOptions)))
187187
```
188188

189189
> **NOTE:**
190-
> `sl::DLSSPreset::ePresetA` to `sl::DLSSPreset::ePresetE` are deprecated and should not be used. They will no longer be available in subsequent SDKs. `sl::DLSSPreset::ePresetG` to `sl::DLSSPreset::ePresetI` are reserved and should also not be used.
190+
> `sl::DLSSPreset::ePresetA` to `sl::DLSSPreset::ePresetE` are no longer available. `sl::DLSSPreset::ePresetG` to `sl::DLSSPreset::ePresetI` are reserved and should also not be used.
191191
192192
> **NOTE:**
193193
> To turn off DLSS set `sl::DLSSOptions.mode` to `sl::DLSSMode::eOff`, note that this does NOT release any resources, for that please use `slFreeResources`

docs/ProgrammingGuideDLSS_G.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Streamline - DLSS-G
55

66
NVIDIA DLSS Frame Generation (“DLSS-FG” or “DLSS-G”) is an AI based technology that infers frames based on rendered frames coming from a game engine or rendering pipeline. This document explains how to integrate DLSS-G into a renderer.
77

8-
Version 2.9.0
8+
Version 2.10.0
99
=======
1010

1111
### 0.0 Integration checklist
@@ -30,6 +30,7 @@ In-game UI for enabling/disabling DLSS-G is implemented | [RTX UI Guidelines](<R
3030
Only full production non-watermarked libraries are packaged in the release build | N/A |
3131
No errors or unexpected warnings in Streamline and DLSS-G log files while running the feature | N/A |
3232
Ensure extent resolution or resource size, whichever is in use, for `Hudless` and `UI Color and Alpha` buffers exactly match that of backbuffer. | N/A |
33+
Execute the DLSS-G In-Game Enhanced Debug Visualization Tests | [Section 23.0](#230-enhanced-in-game-debug-visualization) |
3334

3435
### 1.0 REQUIREMENTS
3536

@@ -985,3 +986,7 @@ Dynamic Frame Generation leverages stochastic control to automatically trigger D
985986
Dynamic Frame Generation is enabled when DLSS-G is in auto mode. To activate Dynamic Frame Generation, set `mode` to `sl::DLSSGMode::eAuto`.
986987

987988
When using non-production (development) builds of `sl.dlss_g.dll`, the status of Dynamic Frame Generation and the current state of DLSS-G is displayed on the DLSS-G status window.
989+
990+
### 23.0 Enhanced In-Game Debug visualization
991+
992+
The developer FG NGX feature contains an in-game debug visualization feature that can be used to accurately validate GPU and CPU input resources are correct. Consult the **Troubleshooting and Optional Features** section of the [DLSS-FG Programming Guide.pdf](<DLSS-FG Programming Guide.pdf>) for more details.

docs/ProgrammingGuideDLSS_RR.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Streamline - DLSS-RR
66
>The focus of this guide is on using Streamline to integrate DLSS Ray Reconstruction (DLSS-RR) into an application. For more information about DLSS-RR itself, please visit the [NVIDIA Developer DLSS Page](https://developer.nvidia.com/rtx/dlss)
77
>For information on user interface considerations when using the DLSS-RR plugin, please see the ["RTX UI Developer Guidelines.pdf"](<RTX UI Developer Guidelines.pdf>) document included in the DLSS SDK.
88
9-
Version 2.9.0
9+
Version 2.10.0
1010
=======
1111

1212
### 1.0 INITIALIZE AND SHUTDOWN
@@ -392,7 +392,7 @@ if(SL_FAILED(result, slDLSSDSetOptions(viewport, dlssOptions)))
392392
```
393393

394394
> **NOTE:**
395-
> `sl::DLSSDPreset::ePresetA` to `sl::DLSSDPreset::ePresetC` are deprecated and should not be used. They will no longer be available in subsequent SDKs.
395+
> `sl::DLSSDPreset::ePresetA` to `sl::DLSSDPreset::ePresetC` are no longer available.
396396
397397
> **NOTE:**
398398
> To turn off DLSS-RR set `sl::DLSSDOptions.mode` to `sl::DLSSDMode::eOff`, note that this does NOT release any resources, for that please use `slFreeResources`

docs/ProgrammingGuideDeepDVC.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ The filter is controlled by two parameters:
1313
| Intensity | Controls how strong or subtle the filter effect will be on an image. | A low intensity will keep the images closer to the original, while a high intensity will make the filter effect more pronounced. A zero value will result in the original image. | [0, 1] |
1414
| Saturation Boost | Enhances the colors in your image, making them more vibrant and eye-catching. | This setting will only be active if you've turned up the Intensity. Once active, you'll see colors pop up more, making the image look more lively. | [0, 1] |
1515

16-
Version 2.9.0
16+
Version 2.10.0
1717
=======
1818

1919
### 1.0 CHECK IF DEEPDVC IS SUPPORTED

0 commit comments

Comments
 (0)