DLSS Super Resolution (and DLAA) via the user-built shim, with Ray Reconstruction as an Auto / On / Off option #962

Closed
opened 2026-10-23 05:24:03 +00:00 by sky_line · 1 comment
Owner

Follow-up to #870 (DLSS Ray Reconstruction, option B: MIT shim + user-supplied NVIDIA SDK).

Why

Ray Reconstruction (RR) upscales and replaces the ray-tracing denoisers. It pays off when noisy RT signals are on (RT reflections, GI, ReSTIR DI), but with ray tracing off -- or with only RT shadows, whose own denoiser is cheap -- it costs more than plain upscaling and gives nothing back. DLSS Super Resolution (SR) is the cheaper network that lifts weaker RTX cards (20 / 30 series) without ray tracing. Today those users only have FSR.

Wanted

  1. Shim: contrib/ngxshim gains the SR feature (NGX DLSS, nvngx_dlss) next to RR (nvngx_dlssd): create / evaluate / release, the same C ABI style, a bumped shim version, capability query per feature (so a user with only one NVIDIA library still gets the other). No NVIDIA code or binaries in the repo or CI (option B rules stand).
  2. Viewer: an SR path in the upscaler slot: colour, depth, motion vectors, jitter, exposure / reactive inputs as needed, the same render-scale presets (DLAA, Quality, Balanced, Performance, Ultra Performance), mip bias, history reset rules.
  3. UI / settings:
    • The upscaler list shows FSR and DLSS, each with its quality levels (no separate RR entries).
    • A separate Ray Reconstruction: Auto / On / Off control (new setting, e.g. RenderVKDlssRayReconstruction 0 off / 1 on / 2 auto, default auto), enabled only when DLSS is selected.
    • Auto = RR when DLSS is selected and at least one noisy RT signal is active (RT reflections, GI, ReSTIR DI); SR otherwise (ray tracing off, or RT shadows only).
    • A mode whose NVIDIA library is missing is greyed out with a hint pointing at the wiki page.
    • Migration: today's RenderVKUpscaler 7-11 (RR modes) become DLSS at the same quality level with RR on, so existing users see no change.
  4. Switching: RR <-> SR switches (Auto following RT settings live) re-create the NGX feature without a device wait mid-recording (prestep pattern) and reset history once.
  5. Wiki: wiki/docs/dlss-rr.md (website repo) updated: RR works on all RTX cards (20-series+) and is aimed at ray-tracing setups; SR for raw FPS without ray tracing; which NVIDIA library each needs.

Test

  • RTX card, ray tracing off: DLSS shows SR; Ultra Performance gives a large FPS gain; image stable, no RR guide passes in the timers.
  • Ray tracing + RT reflections / GI on, RR Auto: RR active (log line), as today.
  • RT shadows only, Auto: SR.
  • Only nvngx_dlss present: SR works, RR option greyed; only nvngx_dlssd: RR works, SR greyed.
  • Old settings with RenderVKUpscaler 7-11 migrate to DLSS + RR on.
Follow-up to #870 (DLSS Ray Reconstruction, option B: MIT shim + user-supplied NVIDIA SDK). ## Why Ray Reconstruction (RR) upscales **and** replaces the ray-tracing denoisers. It pays off when noisy RT signals are on (RT reflections, GI, ReSTIR DI), but with ray tracing off -- or with only RT shadows, whose own denoiser is cheap -- it costs more than plain upscaling and gives nothing back. DLSS **Super Resolution** (SR) is the cheaper network that lifts weaker RTX cards (20 / 30 series) without ray tracing. Today those users only have FSR. ## Wanted 1. **Shim:** `contrib/ngxshim` gains the SR feature (NGX DLSS, `nvngx_dlss`) next to RR (`nvngx_dlssd`): create / evaluate / release, the same C ABI style, a bumped shim version, capability query per feature (so a user with only one NVIDIA library still gets the other). No NVIDIA code or binaries in the repo or CI (option B rules stand). 2. **Viewer:** an SR path in the upscaler slot: colour, depth, motion vectors, jitter, exposure / reactive inputs as needed, the same render-scale presets (DLAA, Quality, Balanced, Performance, Ultra Performance), mip bias, history reset rules. 3. **UI / settings:** - The upscaler list shows **FSR** and **DLSS**, each with its quality levels (no separate RR entries). - A separate **Ray Reconstruction: Auto / On / Off** control (new setting, e.g. `RenderVKDlssRayReconstruction` 0 off / 1 on / 2 auto, default auto), enabled only when DLSS is selected. - **Auto** = RR when DLSS is selected and at least one noisy RT signal is active (RT reflections, GI, ReSTIR DI); SR otherwise (ray tracing off, or RT shadows only). - A mode whose NVIDIA library is missing is greyed out with a hint pointing at the wiki page. - Migration: today's `RenderVKUpscaler` 7-11 (RR modes) become DLSS at the same quality level with RR on, so existing users see no change. 4. **Switching:** RR <-> SR switches (Auto following RT settings live) re-create the NGX feature without a device wait mid-recording (prestep pattern) and reset history once. 5. **Wiki:** `wiki/docs/dlss-rr.md` (website repo) updated: RR works on all RTX cards (20-series+) and is aimed at ray-tracing setups; SR for raw FPS without ray tracing; which NVIDIA library each needs. ## Test - RTX card, ray tracing off: DLSS shows SR; Ultra Performance gives a large FPS gain; image stable, no RR guide passes in the timers. - Ray tracing + RT reflections / GI on, RR Auto: RR active (log line), as today. - RT shadows only, Auto: SR. - Only `nvngx_dlss` present: SR works, RR option greyed; only `nvngx_dlssd`: RR works, SR greyed. - Old settings with `RenderVKUpscaler` 7-11 migrate to DLSS + RR on.
sky_line added this to the Slipstream project 2026-10-23 05:24:03 +00:00
Author
Owner

Fixed in 1.5.0 Beta 1 (5823b0575d). Reopen if you still see it.

Fixed in 1.5.0 Beta 1 (5823b0575d). Reopen if you still see it.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#962
No description provided.