github mavismmg/MFGAdaUnlock-RenoDx 1.5.3
Release 1.5.3 — XeMFG Device-Loss Fix

latest release: 1.5.4
3 hours ago

This is a maintenance release of the XeMFG backend. It fixes a freeze in The Witcher 3: Wild Hunt (next-gen) when path tracing or other graphics settings were changed while frame generation was on. The DLSS-G backend is unchanged.

Changes

  • The Witcher 3: changing graphics settings with frame generation on no longer freezes the game. After some graphics-menu changes, such as switching path tracing, the game reports its depth buffer in an invalid Direct3D 12 resource state (a reserved bit, 0x80000000) for as long as frame generation stays on, although the buffer is still in the state the game reports for it otherwise (COPY_DEST). 1.5.0–1.5.2 passed that state to Intel frame generation unchanged. The resulting command list could not be closed, and the first frame after frame generation resumed lost the graphics device (DXGI_ERROR_INVALID_CALL): the game froze. The addon now replaces an invalid state with the last valid state the game reported for the same resource, and frame generation continues. When no valid state is known yet, that input is skipped and the frame is shown without generated frames. Each replacement is logged as native_tag_reserved_state.

  • Optional Direct3D 12 diagnostics. Two MFGAdaUnlock.ini settings help investigate a lost graphics device. Both are off by default and are meant for troubleshooting only:

    [Diagnostics]
    ForceDRED=1
    D3D12DebugLayer=1

    ForceDRED turns on DRED breadcrumbs and page-fault reporting; after a device loss the log names the unfinished command lists and their last operations. D3D12DebugLayer turns on the Direct3D 12 debug layer and writes its errors to the log as native_d3d12_message. The debug layer lowers the frame rate considerably and turns off the CUDA route, so remove both lines after collecting a log.

Compatibility

Existing configuration is kept. No reinstall of the Intel runtime files is needed.

Validation

The automated suite ran 173 tests with no failures; 3 artifact-provenance tests skipped because they need the experimental addon and installed PE inputs, which are not part of this build.

Field sessions in The Witcher 3: Wild Hunt (next-gen) on NVIDIA driver 621.01 (RTX 4070 SUPER), XeMFG at 4x, switching path tracing and ray-tracing settings repeatedly with frame generation on:

  • 1.5.2: the graphics device was lost on the 3rd to 6th time frame generation resumed, in three sessions. With the Direct3D 12 debug layer on, the same failure showed the reserved resource state, the failed command-list close and the device removal.
  • 1.5.3, diagnostics on: the invalid state was replaced by COPY_DEST, and the debug layer reported no error for the barrier that uses it.
  • 1.5.3, diagnostics off: frame generation resumed 17 times in one session, including after replaced states, with the CUDA route active, 4x generation and no device loss.

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.2 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.

Don't miss a new MFGAdaUnlock-RenoDx release

NewReleases is sending notifications on new releases.