Shutdown and GPU-lifetime fixes following the report of an exit-time GPU hang and NVIDIA Event 153 resets.
- Fixed duplicate DX12 NGX shutdown and reset backend initialization state after successful teardown.
- Retire and drain NR before releasing its parent upscalers and shutting down NGX. If completion remains unknown, retain the runtime and resources instead of freeing them.
- Fixed smart-pointer destruction bypassing the shutdown guard, and prevented leftover DX11/DX12/Vulkan contexts from being destroyed during CRT teardown.
- Added exit safeguards for logger workers, late Streamline buffer access, callbacks and device-removal fences.
The confirmed control-flow defects are corrected. The affected user's GPU hang has not been reproduced here, so its resolution still needs a game/driver retest. The release includes targeted mitigations for plausible teardown failures. Rendering shaders, TDR settings and RTX40 MFG patches are unchanged; the separate RTX40 MFG black-screen report is not claimed fixed.
Both Release x64 builds and the automated prerelease checks passed. Added tests cover cleanup order, one-call shutdown, retry after failure, process detach, unsubmitted/blocked work and removed-device fences. All archive contents and checksums were verified. No RTX40 hardware validation is claimed.
Use OptiScaler-NR-v0.8.6.zip for the standard build, or OptiScaler-NR-v0.8.6-rtx40-mfg.zip for the optional RTX40 MFG build. Extract the complete package. NVIDIA model/FG runtime DLLs are not bundled.
Source: dac290ed17ed88962a7f9ee63a41b7500a0fc923 on codex/nr-v0.8.6-shutdown.