NVIDIA-RTX / NVIDIA-RTX/Streamline
Evaluating DLSS on compute queue using Streamline fails due to Streamline transitioning resources into graphics-only states
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 1.2k
- Forks
- 159
- PR merge metrics
- No merged PRs in 30d
Description
Steps to reproduce: try to 'slEvaluateFeature' DLSS through Streamline on the compute queue.
Description:
Since DLSS does (to my knowledge) not use graphics hardware, it should be entirely possible to run DLSS on the async compute queue.
However, when I pass 'slEvaluateFeature' a compute command list, and execute it on a compute queue, I get:
D3D12 ERROR: ID3D12CommandList::ResourceBarrier: D3D12_RESOURCE_STATES has invalid flags (0x80) for compute command list. [ RESOURCE_MANIPULATION ERROR #537: RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE]
This is because the DLSS plugin uses chi::ResourceState::eTextureRead for all of its texture resource states for some reason, even though that maps to D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE, which I don't believe is necessary for DLSS's compute shaders, and which cannot be used on a compute queue.
I tried lying to the API, saying my resources were already in D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE or D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE, but it still tries to interact with D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE (maybe because of an internal resource?), breaking evaluation.
I also tried fixing it myself, but the build instructions did not work.
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
Start with the DLSS plugin's handling of chi::ResourceState::eTextureRead and the slEvaluateFeature path for compute command lists. Reproduce the failure with a D3D12 compute queue and validation enabled, then verify that DLSS evaluation no longer requests graphics-only resource states; the reported build instructions also need to work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100