DLSS5-Feeder v0.5.2 - Vulkan works without the launcher
Vulkan games now work with no launcher, no bat, and no extra download.
The layer is no longer part of the happy path
The Vulkan transport imports the feeder's D3D12 fences and textures into the game's own VkDevice. That needs the KHR external-interop extensions plus the timelineSemaphore feature, and Vulkan fixes all of them at vkCreateDevice. v0.5.1 shipped VK_LAYER_feed_vk and a launcher bat for this, on the stated premise that nothing in-process could add them after the fact.
That premise was wrong about when the add-on is loaded. ReShade's Vulkan layer calls load_addons() inside its own vkCreateInstance hook and fires create_device from there — before the game ever calls vkCreateDevice. So the add-on now hooks vulkan-1.dll's exported vkCreateDevice itself and appends whichever of the extensions the driver supports, switching timelineSemaphore on. The loader hands out that same export for vkGetInstanceProcAddr(instance, "vkCreateDevice"), so every loading style lands in the hook, above ReShade's own layer, which then passes the extended list down.
If the driver refuses the extended list, the call is retried with the app's untouched create info — the hook can never be the reason a game refuses to start. dlss5-feed.log names every extension and where it came from.
For Vulkan games this means: just install the add-on like a 64-bit D3D11/D3D12 game. feed-vk-layer.zip remains as the out-of-process fallback for the case where the hook cannot run, and the log says which case you are in.
DOOM (2016) needed this too
Worth correcting the v0.5.1 notes, which listed DOOM as "all present — nothing to do". Its own vkCreateDevice asks for 2 extensions and the hook adds 7. v0.5.1 only worked there because ReShade's device hook happens to add external_memory_win32 and timeline_semaphore below us. The interop gap was never a Tekken 3 Recomp special case — it is the normal state of affairs, which is why this belongs in the add-on rather than in a component you have to know to download.
Fixed: the per-extension log lines were lying
Present in the v0.5.1 layer as well. The "did the app already ask for this?" test ran against the vector being appended to, so by the time the per-extension lines were written, every extension just added reported as (app) instead of ADDED — on exactly the lines you read when diagnosing a failure. It now tests against the original VkDeviceCreateInfo. Behaviour was always correct; only the log was wrong. Both the add-on and the layer are fixed.
Notes
- MinHook (BSD-2-Clause, Tsuda Kageyu) is now vendored under
external/minhookand built into the add-on;build.bathandles it. - The hook is removed on DLL unload — ReShade refcounts add-on loading per Vulkan instance, so a game that creates a probe instance, destroys it, then creates the real one reloads the add-on in between.
- D3D11, D3D12 and 32-bit paths are unchanged; the hook only arms on a Vulkan
create_device.
Downloads — 64-bit games: dlss5-feed.addon64 + DLSS5_Feed.fx. 32-bit (and D3D9) games: dlss5-feed.addon32 + DLSS5_Feed.fx + dlss5-feed-host64.exe. Vulkan games: same as 64-bit; add feed-vk-layer.zip only if the log tells you to. Full steps in the README.