Repository navigation
Release 1.5.6 — Stability and Reflex Fixes
This is a maintenance release of both backends. XeMFG no longer risks losing the graphics device after graphics-menu changes, and the native Reflex latency output now works with games that pass a fixed Reflex frame token, such as Resonance: A Plague Tale Legacy. The DLSS-G backend fixes two rare crashes and stops repeating a refused frame count every frame.
XeMFG backend
- Graphics-menu changes no longer risk a device loss. Some games tag a resource with an internal D3D12 state while it is being recreated (The Witcher 3 does this when path tracing is toggled). Since 1.5.3, XeMFG replaces that state with the last valid state of the same resource. A resource recreated at the address of a released one could inherit the released resource's state, and XeFG then built its barriers from the wrong state. The state now belongs to the resource itself, so a new resource never inherits one.
- Native Reflex output with fixed frame tokens. With Latency output: Reflex, a game that passes the same Reflex frame token on every frame (Resonance: A Plague Tale Legacy passes token 0) lost Reflex pacing after the first frame, and frame generation never started. Every Reflex wait of the game now reaches NVIDIA Reflex with the game's own token and returns its result, and frame generation starts as it does with the XeLL output.
- Clearer Intel SDK log. Repeated XeFG messages are grouped by pattern, as the XeLL messages already were, so a loading screen can no longer use up the log entries before gameplay. Each entry reports how often its message occurred.
DLSS-G backend
- Rare startup crash fixed. When NGX handed out its parameter blocks on several threads at once, the multi-frame capability override could be installed twice and then call itself until the game crashed. It is now installed exactly once.
- Crash fixed with Legacy software pacing. With Legacy software pacing (
ForceFlipMeteringOff) on, a DLSS-G plugin that was unloading or could not be identified could crash the game. It is now left alone. - A refused frame count is not retried every frame. When the DLSS-G runtime refused the frame count selected in the panel, every frame repeated the refused request and its retry before sending the game's own request: three Streamline calls instead of one. The refusal is now remembered and the game's request is sent directly, as before. A new attempt happens when frame generation is turned off and on in the game, when the multiplier is changed, or when the game recreates its swapchain.
Compatibility
Existing configuration is kept. No game, Intel file or Streamline version needs to change.
Validation
The automated suite ran 179 tests with no failures, including new tests for:
- a resource recreated at a released address with an internal state;
- the multi-frame override installed from eight threads at once;
- a refused frame count and each reset;
- a game passing a fixed Reflex token on the native Reflex output;
- grouping of repeated SDK messages.
3 artifact-provenance tests skipped because they need the experimental addon and installed PE inputs, which are not part of this build.
Field sessions on NVIDIA driver 621.01 (RTX 4070 SUPER):
- The Witcher 3 (next-gen), XeMFG: path tracing turned on and off several times with frame generation on. About 4,000 resource tags with the internal state were replaced by the resource's last valid state, also while frame generation was active; frame generation resumed at 4x after each change, with no device or present failure.
- Resonance: A Plague Tale Legacy, XeMFG with Latency output: Reflex: the Reflex output was active and frame generation ran at 3x for the whole session (no frames without generation), with the game passing token 0 on every frame. No device, present or XeLL failure.
- CONTROL Resonant, XeMFG: frame generation at 4x with no frames without generation while the game requested it.
- Cyberpunk 2077, DLSS-G backend: gates and kernels applied to the 310.9.1 provider; the panel's 6x replaced the game's 5x request and the runtime accepted it; the game closed normally.
These are functional checks; no image-quality or physical-latency measurement was made.
Installation and rollback
Close the game, replace the previous addon with renodx-mfgunlock.addon64, keep only one MFG Unlock addon installed, and restart.
For rollback, close the process, restore your previous addon or the 1.5.5 release, and restart.
Building this version
The addon is the mfgunlock_native_xemfg target of tests/CMakeLists.txt, published as renodx-mfgunlock.addon64; see Building the XeMFG backend.