Engine: native presets K and M in the D3D12 shim, wider game coverage

A standalone Vulkan inference engine (engine/) for DLSS presets K and M that
runs from weights extracted from the user's own nvngx_dlss.dll, with d4r's
own input, network and reconstruction shaders or the native HIP network
layers, recorded into the game's command list by the shim. Opt-in
([Engine] Enabled / D4R_ENGINE=1); anything uncovered falls back to the
CUDA/ZLUDA path with the reason logged.

Byte-identical to NGX's CUDA backend under the phase-capable reference
(1706x960 -> 2560x1440, native HIP network, eleven frames, RX 9070 XT):
- K render- and display-resolution motion vectors, HDR and LDR
- K game-supplied exposure and automatic exposure with any pre-exposure
  and exposure scale (one residual: effective exposure exactly 2 or 4)
- K and M with the DLSS indicator's inverted-axis parameters
- M with any exposure settings (NGX ignores them for M)
K packages need the current compile_k.py (marker D4RO0003).

Also: HIP shared buffers are pooled across feature recreation (ROCm leaks
destroyed imports), hipnet.bin must match the preset, M-only games do not
load the K model, install_d4r_runtime.sh stages k, k-ldr, m, m-ldr with
hip/, the activation table has a generator (gen_activation_m.py), and
package_release.sh can bundle the engine's shaders (never its weights).

Signed-off-by: woutermans <[email protected]>
This commit is contained in:
woutermans committed 2026-10-10 20:54:01 +02:00
1 parent 16cfc1f063
commit e0d1549a21
82 files changed
+13335 -96

No files matched your search

+3 -2
View File
@@ -1,5 +1,5 @@
d4r
Copyright 2026 countervolts
Copyright 2026 countervolts and the d4r contributors
This product is licensed under the GNU General Public License, version 3 only
(GPL-3.0-only; see LICENSE), except for the files
@@ -27,7 +27,8 @@ This repository contains no NVIDIA software. The NVIDIA DLSS feature library (nv
the NGX core (_nvngx.dll) are NVIDIA's; you supply your own copies, and their use is governed by
NVIDIA's license terms. At build time, kernels/tools/extract_dlss_ptx.py reads PTX from your copy
of nvngx_dlss.dll into kernels/extracted/, which is not part of the repository and must not be
redistributed.
redistributed. The same holds for the model files the native engine's tools write (engine/README.md):
weights.bin, offsets.bin, lut.bin, hipnet.bin and model.json hold values read from NVIDIA's DLSS.
NVIDIA and DLSS are trademarks of NVIDIA Corporation. AMD, Radeon and FSR are trademarks of
Advanced Micro Devices, Inc. This project is not affiliated with or endorsed by either company.