NVIDIA-RTX / NVIDIA-RTX/Streamline
DLSS-G internal resource race on Vulkan
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 1.2k
- Forks
- 159
- PR merge metrics
- No merged PRs in 30d
Description
On Vulkan, DLSS Frame Generation accesses resources as they are being written to, and using the inputsProcessingCompletionFence does not fix the problem. This makes it extremely difficult to validate the inputs in the development builds. This means that if the camera moves too fast then the incorrect depth/motion-vector difference becomes enough to tag as a dynamic object, so everything in the scene is considered a dynamic object.
This can be observed most easily on Doom The Dark Ages.
The impact on the resultant frame generation is unknown.
The only current solution is forcing a CPU wait because the dlss-g streamline DLL is closed source. This means that dlss-g processes the previous inputs correctly.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Use Doom The Dark Ages as the reproduction case and compare DLSS-G behavior with and without the reported CPU wait on Vulkan. Investigate the inputsProcessingCompletionFence behavior and determine whether the resource race can be reproduced and validated in development builds; done means the incorrect depth/motion-vector classification no longer occurs.
Written by the indexing model from the issue text.
Assessment
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100