feat(render3d): DLSS super resolution and Reflex through NVIDIA Streamline

streamline.ludic: slInit before the Vulkan instance, feature support per
adapter, a frame token per frame, Reflex sleep and PCL latency markers, and
DLSS super resolution on the lit HDR frame (Halton jitter, depth + zero
motion vectors with camera motion from clipToPrevClip, matrices carrying
the Vulkan path's y flip and depth remap). Bloom, tonemap and sharpen read
the upscaled size. The device asks for privateData and present_id, which
Streamline's hooks need. R3D_DLSS / R3D_REFLEX / R3D_SL_LOG for tests.
gpu_feature_implemented: DLSS and Reflex.

ludic bundle (Windows): app native "<dir>" copies native libraries beside
the executable.

Verified on an RTX 3070 Ti: DLSS Quality evaluates 1280x720 -> 1920x1080.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-15 19:26:12 +03:00
parent ad8f44b78a
commit ac539b0150
10 changed files with 529 additions and 6 deletions

View file

@ -310,6 +310,21 @@ function cmd_bundle_windows() -> int {
packed = true
}
# 2b. `app native "<dir>"`: native libraries loaded at run time (NVIDIA Streamline's DLLs and
# their licence texts) go beside the executable, where LoadLibrary finds them. Never packed:
# a DLL has to be a real file.
let native = manifest_app(m, "native")
if native != "" {
if not Fs.exists(native) {
err(`ludic bundle: app native "{native}" does not exist\n`)
return 1
}
if not shq(`cp -R "{native}"/. "{root}/"`) {
err("ludic bundle: could not place the native libraries\n")
return 1
}
}
# 3. what to mount and where the game writes
var idx = ""
if packed { idx = idx + "pack game.lpak" + nl() }