NVIDIA-RTX / NVIDIA-RTX/Streamline

DLSS-G internal resource race on Vulkan

Open
#115 0 comments 0 reactions 0 assignees View on GitHub

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.

https://youtu.be/nX5Gl8FWL8c

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.