Skip to content

Releases: NIGos/dlss5-d3d12-fix

v2.6.1

Choose a tag to compare

@NIGos NIGos released this 29 Aug 14:42

Superseded from DLSS 5 Neural Rendering v3.3.5, which handles a mipped DLSS output itself. Update that add-on rather than installing this. This release remains useful only where it cannot be updated.

Diagnostics only. No change to add-on behaviour.

Added

  • Startup report: required files present beside the add-on, other ReShade add-ons present, and the GPU description.
  • Loaded DLSS-related modules, listed at hook installation and again at unload. Presence on disk and presence in the process are reported separately: the first indicates a file that was never installed, the second a file that was loaded and produced nothing.
  • A note when substitution is running but the DLSS 5 add-on has never created a neural-rendering feature (NGX id 18), naming the checks that apply.
  • A note that a refused feature-18 creation is commonly followed by a successful creation through a route this log cannot observe.

Changed

  • Reporting instructions request ReShade.log in addition to this add-on's log. The DLSS 5 add-on writes its own entries there.

Upgrading

  • Replace the file. Existing configuration files are read unchanged.

v2.6.0

Choose a tag to compare

@NIGos NIGos released this 29 Aug 13:53

Fixed

  • Removed the background thread that polled for the NGX entry point. A ReShade add-on can be unloaded at any time — some games load and discard them during a startup hardware-detection pass — and a thread executing inside an unmapped module terminates the process.
  • Hook installation is now driven by loader library-arrival notifications. No thread is involved.
  • Hooks belonging to an unloaded module are dropped rather than written back to unmapped memory.

Added

  • NGX results are named as well as numbered, for example 0xBAD0000C OutOfDate.
  • Where no entry point is ever hooked, the log states at unload whether DLSS was never initialised or was initialised and never detoured.

Known limitation

  • Detection depends on library-arrival notifications. An add-on that hooked after the last library a game loads would not be detected.

Upgrading

  • Replace the file. Existing configuration files are read unchanged.

v2.5.1

Choose a tag to compare

@NIGos NIGos released this 29 Aug 11:15

Corrects built-in defaults that did not match the documentation. Users of 2.5.0 should update.

Fixed

  • use_vtable defaulted to 1, selecting the GetDesc method that hangs the GPU. Documented default is 0.
  • nr_quality defaulted to -1, altering the quality preset it is documented to leave alone at -2.
  • No configuration file was written, so neither default was visible or correctable.

Impact

  • In that mode nothing is substituted. The consumer's mip check passes on an unmodified mipped texture and the failure surfaces further downstream as an unrelated error.

Changed

  • All seven settings are written to dlss5-d3d12-fix.cfg on first run.
  • Existing configuration files are read unchanged and are not overwritten. Verify that yours reads use_vtable=0.

v2.5.0

Choose a tag to compare

@NIGos NIGos released this 29 Aug 09:15

Initial release. Written for Resonance: A Plague Tale Legacy, the only title currently known to require it. Nothing in the code is specific to that game.

Purpose

  • A DLSS 5 neural-rendering add-on requires the DLSS output texture to have exactly one mip level, and silently does nothing otherwise — no log entry, no error.
  • Some engines supply an output and depth buffer with a full mip chain, which NGX itself accepts.
  • This add-on supplies a single-mip substitute for the duration of each evaluate and copies the result back, on the game's own device and queue. The DLSS 5 add-on is not modified.

Scope

  • Only the super-sampling feature is substituted. Ray reconstruction and frame generation arrive through the same entry point with unrelated parameter blocks.
  • Where the output already has one mip, nothing is substituted.
  • Not a general remedy for DLSS 5 failing to start. If the log flags no resource, the cause is elsewhere.

Notes

  • Bypassing the consumer's mip check was attempted two ways: a false MipLevels reported through a replaced ID3D12Resource::GetDesc, and a binary patch of the comparison. Both produce DXGI_ERROR_DEVICE_HUNG. The check guards code that cannot process a mip chain.

Requirements

  • ReShade 6.8+ with add-on support
  • A DLSS 5 Neural Rendering add-on and its nvngx_dlssnr.dll
  • A D3D12 game with DLSS