Things that the DLSS SDK documentation fails to mention about DX12

  • Whether you have to wait on a fence if you use the compute engine to initialize DLSS (assuming yes)
  • That you have to wait for the GPU to become idle before shutting down DLSS
  • That the target must be a RWTexture, not a render target
  • That the source texture and the motion vectors must be brought into D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE | D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE state. Probably the same for the depth buffer, even though I don’t see it in the sample.
  • That the target must be brought into D3D12_RESOURCE_STATE_UNORDERED_ACCESS state.
  • When you have to define NV_WINDOWS before including the headers
  • The documentation does mention that NGX modifies the command list state. It would be good if it also mentioned that this includes descriptor heaps.

This has been a bit problematic for developing games. A lot more developers are incorporating FSR instead of DLSS, and having more extensive documentation might help give Nvidia more of that competitive edge.

Hi @codemonkkkey!

Thank you for your input! Those a very good points and I am sorry there was no sooner reply.
I will make sure to forward it to the team so they can improve their documentation efforts!

And @numerius-negidius I am curious, do you have some data on your statement regarding FSR vs DLSS? I would be very interested to learn more about it.


1 Like