
This is a compatibility matrix for Easy AIO. Notice that when a game doesn't have DLSS available it requires a "feeder." The role of this feeder is to act as a virtual config which provides data for the DLSS5 model when a game doesn't already support DLSS.
There is an HLSL shader called DLSSFeed.fx that does this. Below is the comment in that file.
The minimal inputs to get the model to even work are motion vectors, depth buffers, color buffers, and validation masks.
You also notice that for games that don't have DLSS, motion vectors have to be inferred using very basic optical flow methods like VORT or Launchpad.
Comment from DLSSFeed.fx
"It turns what ReShade already has into the guide textures DLSS needs, in the exact layout the add-on expects:
DLSS5_MV RG16F motion vectors in PIXELS, pointing from the current pixel to where it was in the previous frame (DLSS convention). Vectors that fail validation (below) are zeroed.
DLSS5_Depth R32F the game's raw hardware depth (not linearised), sampled at backbuffer size, with ReShade's RESHADE_DEPTH_INPUT_* orientation fixes applied.
DLSS5_Mask R8 "bias current colour" mask for DLSS: 1 where the motion vector could be trusted, so DLSS leans on the current frame there instead history in. "
----
"MOTION VECTOR PROVIDER -- set the DLSS5_MV_PROVIDER preprocessor definition (ReShade overlay:
this effect's "Preprocessor definitions", or the global list) and enable that provider's
technique ABOVE this one in the effect list:
0 texMotionVectors the community-standard shared texture: qUINT_motionvectors,
dh_uber_motion, ReshadeMotionEstimation (DRME -- NOTE: DRME does not
compile on ReShade 6.8, "cannot sample from texture that is also used
as render target"; it then silently writes nothing) [default]
1 Launchpad iMMERSE Launchpad (MartysMods_LAUNCHPAD.fx): Deferred::MotionVectorsTex.
Launchpad only runs its optical flow when asked to, so this mode also
files that per-frame request (Launchpad's IPC buffer, see below).
2 VORT vort_Motion.fx (MIT): MotVectTexVort -- the recommended provider
3 LumeniteFX Kernel lumenite_Kernel.fx ("LUMENITE: Kernel"): Kernel::tFlow -- pyramidal
optical flow with per-level median + a-trous filtering and previous-
frame seeding. 1/8 resolution, upsampled here. Needs no depth buffer.
4 LumeniteFX QuantMotion
lumenite_QuantMotion.fx: QuantMotion::tFlow -- the light cut of 3.
This is the same mechanism dh_uber_rt (USE_MARTY_LAUNCHPAD_MOTION / USE_VORT_MOTION) and
vort (V_MV_MODE) use: the selected provider's OUTPUT texture is declared here exactly as the
provider declares it, so ReShade binds the same resource, and only that one is allocated.
Every provider above hands out delta UV with prev_uv = uv + mv. Nothing of any provider is
included or bundled: this file contains no third-party code and includes no third-party
files beyond ReShade's own headers."
Edit:
And here is the C++ code that implements the feed.
https://github.com/jlrouzies-fr/DLSS5-Feeder/blob/main/src/dlss5-feed.cpp
Last edited by sc94597 - 4 hours ago