Hello,
I was pleased to see the DLSSG SDK released, however it looks like Nvidia only released it via Streamline and did not include the source for the DLSSG plugin.
Reading through the SL documentation:
Streamline/ProgrammingGuideDLSS_G.md at main · NVIDIAGameWorks/Streamline (github.com)
DLSS-G intercepts
IDXGISwapChain::Present
and when using VulkanvkQueuePresentKHR
andvkAcquireNextImageKHR
calls and executes them asynchronously.
While this is neat, for my application, I would like to explore using DLSSG without going through IDXGISwapChain::Present()
, so I can control other processing and how the interpolated frame is presented.
I was hoping to be able to use DLSSG in a way where I submit all the required bits (color buffer, depth buffer, MV, etc) and can just “evaluate features” and either wait or retrieve the interpolated image as a texture.
I suspect this might be possible if using the DLSSG SDK directly, but it does not look like this is available. I tried looking into some of the strings/symbols in the DLL, an I can see things like DLSSG.OutputInterpolated
, which I suspect would be an NGX_Parameter where one could specify a destination texture for the interpolated output…
I also suspect there might be a way to Detour IDXGISwapChain::Present()
and somehow readback from the swapchain the interpolated texture before it’s been presented… but this sounds a little tedious to do.
Perhaps I am missing something fundamental here. but otherwise do you have plans to make this scenario possible (meaning more friendly) and/or release a lower level DLSSG SDK?
Thank you!