Repository navigation
Releases: zmodelerlover/OpenNR-ReShade
Release list
v0.7.15
danielblnc async without flicker, empty game motion
- danielblnc in async no longer flickers NR on and off. When one job takes longer than a frame, the frames the runtime turns down because the last job is still running keep the last correction (up to two frames) instead of showing the game's own picture. Same-frame timing is unchanged.
- A game whose motion vectors are never written gets optical flow instead. Two all-zero readings of the game's motion in a moving scene make the add-on give that buffer up, as it already did for
AMD_Neural_Feed.fx; FidelityFX optical flow or the estimator takes over (Assetto Corsa with Custom Shaders Patch flashed before).
Same runtimes and bridge protocol (v6) as v0.7.14. Full notes in CHANGELOG.md.
v0.7.14 - OpenNR
OpenNR
The project is called OpenNR now: the add-on and its panel are OpenNR in ReShade's Add-ons tab (OpenNR (32-bit) on the 32-bit route), and the repositories moved to zmodelerlover/OpenNR-ReShade, zmodelerlover/OpenNR-Installer and MatheusFerreiraS/OpenNR-OptiScaler (the old addresses redirect). The runtimes and the bridge protocol are v0.7.13's, and the files in the game folder keep their names, so every setting stays.
Full notes in CHANGELOG.md.
v0.7.13
mochizuki on its new runtime, and HIP finds its device when the LUIDs disagree.
- mochizuki runs on its new runtime, with NVIDIA's 310.9.16 model by default (about a third faster than 310.8). The panel shows Old model (310.8) when both models are installed, and int4 mixed when its files are there; either rebuilds the network.
- The network runs inside the runtime's RenoDX stage, which composes the picture: Intensity, Colour, Style, Local tone, Structure, Skin, the character mask and Passes go to it. On Encoding 0 the frame goes to the runtime as 8-bit sRGB, the way an SDR game's frame does in OptiScaler.
- Compose, Guard and Output smoothing are hidden on mochizuki, where they did nothing. They stay on danielblnc.
- HIP device matching fallback. When no HIP device carries the D3D12 adapter's LUID (seen on an RX 7600 on the DX11 route), the add-on takes the one device with the adapter's name, or the only one HIP has, and the log lists every device HIP reports.
Full notes in CHANGELOG.md.
v0.7.12
Built on v0.7.11 with the same runtimes and the same bridge protocol (v6).
- The companion effect keeps its motion on a still screen. v0.7.11 took the effect's motion away for the
session after two probe readings of an all-zero field, and a loading screen, menu or pause reads all zero
honestly, so a correct Launchpad setup could lose it for the run. A zero reading now counts only when the depth
fed with it changed since the last reading (the scene moved), and the effect's motion is taken again 1200
presents later, doubling to 9600, to see whether its field still reads all zero. While it reads all zero the
probe keeps looking, less often each time, instead of stopping after five readings. - A motion provider below AMD_Neural_Feed is taken again, as before v0.7.11: the effect reads its field a
frame late. The panel and the log still name it and say to move it above for this frame's motion. - A shadow map can no longer become the D3D11 depth guide. Ranking by draws let a shadow cascade or atlas
(2048x2048, 1024x4096), which out-draws the scene, take the slot. Only depth buffers with the backbuffer's
shape (ReShade's test, aspect within 10%) rank by draws now; with none of that shape, most-bound wins as before
v0.7.11. Draws are counted per recording thread, so a deferred context's draws go to its own depth buffer, and
only on D3D11. A buffer nothing was drawn into never wins this way, and a GPU-driven scene's indirect draws
count too. The 32-bit bridge does the same. - A D3D11 depth buffer that reads FLAT is handled as in v0.7.10 again: withheld, copied just before the
game's clears and probed again. v0.7.11 passed it over for another buffer first, which could drop the right
buffer before the copy before the clears was tried and reopen a shadow-map pick. - mochizuki puts back the Scale and Passes its network was built at. The old network could still run a frame
after a change and make the refused values the ones to put back, which then did nothing. They are now taken
from a network of a new size (from the first frame after a build, on a runtime that cannot report its size),
and the values put back are written toamd-nr.initoo, so the next launch does not start at the refused ones.
v0.7.11
Built on v0.7.10 with the same runtimes and the same bridge protocol (v6).
- The add-on no longer imports dxgi.dll (issue #22, Dragon Age: Inquisition; not yet run in the game). The add-on imported
CreateDXGIFactory1and
CreateDXGIFactory2fromdxgi.dll, and with ReShade asd3d11.dllthe game quit at start with
DXGI_ERROR_INVALID_CALL(0x887A0001), as NFS 2015 once did overd3d12.dll. The factory is resolved where it is
first wanted (core/shared/dxgi_entry.h), the FidelityFX optical flow's included, and the add-on imports only
kernel32, user32, shell32, ole32 and bcrypt;tools/import_table_check.pyfails a build that imports more. amd-nr.loggoes to%LOCALAPPDATA%\amd-nrwhen the game's folder is not writable (a game under Program
Files), and its first line says so. Export logs looks there first.- danielblnc 0.6.0 gets a defined pre-exposure. Its Record reads a float at packet+0x60, FSR's pre-exposure
(UsePreExposure=1, its default), one past the 0x60 bytes the add-on handed it, so it read stack bytes. The
packet is 0x68 bytes with 1 there;tools/runtime_offsets_check.pycounts the runtime's reads at +0x60 and holds
the packet to them. Older builds stop at 0x60 and are unchanged. - AMD_Neural_Feed.fx's motion needs the provider its
AMDNR_MV_PROVIDERsamples (issues #18, #7). Any
provider being on used to be enough, so Launchpad on with the effect compiled for another provider fed an
all-zero field while the panel said the effect was feeding it. The provider has to be enabled and above the
effect; when it is below, the panel and the log name it and say to move it above. And when the effect's field
reads exactly still everywhere in two probe readings running, FidelityFX optical flow (or the estimator) takes
motion back until the effect's setup changes. - mochizuki says when it refuses the network. After a Scale or Passes change the runtime can free the old
network and then refuse the new one (insufficient VRAM), retrying every 10 s while the panel said it was
running and counted the frames as processed. The panel now saysmochizuki: network refusedwith the runtime's
reason, in the warning colour; after 3 s of refusal the add-on puts back the last Scale and Passes the network
ran at, logs why and says so in the panel. On either runtime a frame no pass ran on is no longer counted as
processed. - The D3D11 depth guide is the buffer the most draws went into (issue #19), with binds as the tie-break, as
ReShade picks; the log names its pointer and draw count. A chosen buffer the probe reads FLAT twice in a moving
scene gives the slot to the next candidate, twice at most, before the copy before the clears is tried. The
32-bit bridge ranks by draws too. - The 32-bit helper stays same-frame when the wire carries
Inline=0, which the settings table allows since
v0.7.10;test-x86bridge-v2checks it again, and its panel assertion follows the colour-only routes.
v0.7.10
Async on 64-bit games, NR back on after a GPU freeze, and mochizuki by default on RX 9000.
- Timing on 64-bit games (Performance): Same frame or Async. Async stops the game's GPU queue from waiting for the network every frame, and the result lands one frame later; danielblnc traces the freezes some players met to those waits. Frames that arrive while the network is still busy go out as the game drew them, so a slower card gets the effect on fewer frames. Applies the next time the game starts.
- A GPU freeze no longer stands the add-on down for the whole session. When one danielblnc job holds the GPU for 2 s, the network switches off and the panel says why; tick Enabled (or the hotkey) to turn it back on. The 32-bit helper does the same (bridge protocol v6).
- mochizuki runs where it's installed. With no
NrBackendinamd-nr.ini, an installed mochizuki (RX 9000) runs; the installer now puts it in on every RX 9000. Pairs with mochizuki 0.4.10-amd-nr, which builds again on AMD driver 32.0.32015. - A mochizuki build that crashed falls back to danielblnc on the next start and says so in the panel; picking mochizuki again tries once more, with a detailed log.
Full notes in CHANGELOG.md.
v0.7.9
RX 6000 cards with AMD's HIP SDK, and danielblnc's public 0.6.0.
- RX 6000 (RDNA2) cards now work with AMD's HIP SDK 7.2 installed. The SDK does not put
amdhip64_7.dllon the system path, so the add-on stopped withHIP: amdhip64_7.dll failed to load (error 126)even where danielblnc's own setup worked. It now loads it from the SDK's folder (HIP_PATH). The 32-bit helper does the same. - danielblnc's 0.6.0 is public and is the runtime the installer puts in.
- Your settings stay. Same bridge protocol as v0.7.5.
Full notes in CHANGELOG.md.
v0.7.8
Direct3D 10 games, 32-bit OpenGL games, and a stand-down before a GPU freeze.
- Direct3D 10 games now work, 64-bit and 32-bit (Just Cause 2). The frame goes through a small D3D11 stage on the game's own GPU and then takes the D3D11 route. Colour only.
- 32-bit OpenGL games now work (Half-Life). The 32-bit helper shares the frame with OpenGL through D3D11, as the 64-bit OpenGL route does. Colour only.
- D3D10.1 games that compile shaders while running no longer crash under ReShade (Just Cause 2). ReShade 6.8.0 hooked one shader compiler into a loop with another; the add-on puts the original back.
- A network job that holds the GPU for 2 seconds turns NR off until the game restarts. Some RX 9060 XT players with danielblnc's runtime saw single jobs take about 4 s every 10 to 30 minutes, and two close together locked the whole PC. The panel says why and suggests the mochizuki runtime;
StallStandDownMsinamd-nr.inisets the limit (0 turns it off). The 32-bit helper does the same. - Your settings stay. Same bridge protocol as v0.7.5.
Full notes in CHANGELOG.md.
v0.7.7
danielblnc's Style reaches the network, and OpenGL games no longer crash on load.
- Style (Default, Natural, Cinematic) now changes the network, as in danielblnc's own overlay, instead of being a colour grade on the finished frame. It is under Experimental; changing it restarts the temporal history. mochizuki gets the same Style.
- OpenGL games no longer crash when they start (Firestorm). A helper meant only for Vulkan games kept the add-on loaded after ReShade unloaded it, then crashed while cleaning up.
- The 32-bit pair is v0.7.7's too, so 32-bit games get the same fixes.
- Your settings stay. Same bridge protocol as v0.7.5.
Full notes in CHANGELOG.md.
v0.7.6 - danielblnc's 0.6.0 supporter build, and 0.5.1 public
danielblnc's 0.6.0 supporter build, and 0.5.1 public.
- danielblnc 0.5.1 is public (Alpha 0.5.1) and is the runtime the installer puts in. It is the same file v0.7.2 already ran.
- danielblnc's 0.6.0 supporter build runs. It is not distributed: if you have it, pick it in the installer's runtime card with your own
version.dllor setup, and the installer patches it for the add-on. It adds RX 6000 (RDNA2) cards, which need AMD's HIP SDK 7.2 runtime, and fixes flicker in dark areas and on small lights. - Your settings stay. Same bridge protocol as v0.7.5.
Checked against the 0.6.0 binary and run on a D3D11 host on an RX 9070 XT; not yet played in a game, and not tried on an RDNA2 card. Full notes in CHANGELOG.md.