You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A game that reports its input and output dimensions the wrong way round has them swapped back. DLSS never returns an image smaller than the one it is given, so an output below the input is not a contract. Four engines write them inverted: Gallipoli, The Elder Scrolls Online, Phantasy Star Online 2 and House Party's Unity plugin. Earlier releases patched the output from the output texture instead, which works only while the allocation equals the display size; under dynamic resolution it never does, and the feature that was built could not be evaluated. Aimed at issues #5 and #8; not verified in either.
An exposure texture supplied by the game is mirrored to the D3D12 side. Mount & Blade II: Bannerlord creates with AutoExposure clear and supplies a 1x1 exposure texture every frame; the bridge copied the flags faithfully and dropped the texture, so its feature accumulated with no exposure at all. Before 1.0.16 the forced flags=107 carried AutoExposure and hid this. The mirror uses the same typed-format conversion as the other four, without which a typeless exposure texture — Phantasy Star Online 2 supplies one — would have kept the defect.
The parameter block no longer keeps a released pointer when the exposure mirror is dropped: the key is cleared and the GPU drained first. The block is allocated once per session and NGX does not reference-count what it holds.
nvngx_dlssnr.dll and nvngx_dlss.dll are looked for beside the game as well as beside the add-on, and the log says which. ReShade can load add-ons from another directory, and the message claimed the game folder while only the add-on's had been searched.
The NGX data path is the game's folder when the two differ. Pointing NGX at a directory holding none of its files was never intended.
Added
The fault address and the module that owns it, as an offset into that module, when NGX initialisation or device creation raises an exception. An absolute address changes every run.
probe=1 creates a D3D12 device and calls Init_Ext without waiting for the game to call DLSS, for titles whose DLSS comes from another add-on. Off by default.
Every add-on's load address is listed.
Changed
The reactive mask was probed under a name that is not an NGX key. It is DLSS.Input.Bias.Current.Color.Mask; the log asked for BiasCurrentColorMask, so every "absent" it has ever reported was a probe of a name nothing sets. Whether any title supplies one is still unknown. The transparency-layer keys are probed for the same reason.
Absent resources distinguish a key the game left unset from one this runtime does not have. NGX results are named rather than printed as signed decimals: the -1160773616 in every previous log was 0xBAD00010, UnsupportedParameter.
Notes
Verified on Baldur's Gate 3 only in that the three dimension repairs stay silent there, the contract is unchanged, and the session is clean. None of the fixes above has been seen doing its work.
Issue #7 (Batman: Arkham Knight) is not fixed. It faults in Init_Ext like Prey 2017; this release is the first that names the module and offset.