vk_streamline: Vulkan reflex support (frame limiter) fails to work
opened an issue, as I asked on discord.. I'm running vk_streamline NV Pro sample: https://github.com/nvpro-samples/vk_streamline
it's interesting sample, because is a simple example using Reflex Vulkan, DLSS Vulkan and DLSS-G Vulkan.. Reflex Vulkan seems uses NvLowLatencyVk.dll which has this entrypoints:
NvLL_VK_DestroyLowLatencyDevice
NvLL_VK_GetLatency
NvLL_VK_GetSleepStatus
NvLL_VK_InitLowLatencyDevice
NvLL_VK_Initialize
NvLL_VK_NotifyOutOfBandQueue
NvLL_VK_SetLatencyMarker
NvLL_VK_SetSleepMode
NvLL_VK_Sleep
NvLL_VK_Unload
really, all I see is a nvapi_QueryInterface string but no nvapi64.dll reference in the DLL..
I attach sample binary in case you trust me to do your simple experiments:
https://drive.google.com/file/d/13IrihRqwYVVNPGjf3wU-wIKHGqNSFwp_/view?usp=sharing
tested on Ubuntu 23.10.. but when I compiled I tested initially on Ubu 23.04 I believe and worked also..
note I use:
export WINEHAGS=0
export DXVK_ENABLE_NVAPI=1
if on a hags enabled Wine build, as using WINEHAGS=1 crashes due to dlss-g issues..
using latest dxvk-nvapi (reflex enabled) and a enabled reflex (ll2 driver) I see following errors:
[07.03.2024 19-52-30][streamline][warn]vulkan.cpp:867[init] Low latency API for VK failed to initialize device -3
[07.03.2024 19-52-31][streamline][error]vulkan.cpp:3069[setSleepMode] NvLL_VK_SetSleepMode(m_device, ¶ms) failed - error 4294967293
[07.03.2024 19-52-31][streamline][error]reflexentry.cpp:321[slSetData] ctx.compute->setSleepMode(ctx.constants) failed
[07.03.2024 19-52-31][streamline][error]vulkan.cpp:3115[sleep] NvLL_VK_Sleep(m_device, reflexSemaphoreValue) failed - error 4294967293
[07.03.2024 19-52-35][streamline][warn]reflexentry.cpp:275[slSetData] Low-latency modes are only supported on NVIDIA hardware through Reflex, collecting latency stats only
adding esullivan-nvidia @esullivan-nvidia to the loop to see if he can help finding issues in Reflex Vulkan support (via using NvLowLatencyVk.dll)..
It appears that we'll be able to implement this once Nvidia releases NVAPI headers containing related entrypoints.
https://github.com/NVIDIA/nvapi/commit/67af97007f59c248c01e520d8c8fb70e243a3240 is out now so I can start working on that.