NVIDIA-RTX / NVIDIA-RTX/Streamline

Streamline VK_EXT_descriptor_heap Bug

Open
#122 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

Hi im trying to integrate DLSS with Streamline and init seems fine since it report all instances and such needed and return DLSS = true. And then i added Evaluate function and i only see a black screen. I tryed many hours to find a solution on what i was doing wrong but couldnt find any. So i checked GITHUB Issues on this repo and found #109 i tryed his temporary solution by adding:

Binding one dummy (empty, 0-binding) `VkDescriptorSet` via `vkCmdBindDescriptorSets` 
on the command buffer immediately before `slEvaluateFeature(kFeatureDLSS, ...)` makes DLSS actually dispatch and 
produce correct output:

// One-time setup
vk::DescriptorSetLayoutCreateInfo layoutInfo{.bindingCount = 0, .pBindings = nullptr};
auto dummySetLayout = vk::raii::DescriptorSetLayout(device, layoutInfo);

vk::DescriptorPoolCreateInfo poolInfo{.maxSets = 1, .poolSizeCount = 0, .pPoolSizes = nullptr};
auto dummyPool = vk::raii::DescriptorPool(device, poolInfo);

vk::DescriptorSetAllocateInfo allocInfo{
    .descriptorPool = *dummyPool, .descriptorSetCount = 1, .pSetLayouts = &*dummySetLayout
};
auto dummySet = vk::raii::DescriptorSets(device, allocInfo).front().release();

vk::PipelineLayoutCreateInfo pipelineLayoutInfo{.setLayoutCount = 1, .pSetLayouts = &*dummySetLayout};
auto dummyPipelineLayout = vk::raii::PipelineLayout(device, pipelineLayoutInfo);

// Every frame, right before slEvaluateFeature(kFeatureDLSS, ...):
vkCmdBindDescriptorSets(cmd, VK_PIPELINE_BIND_POINT_COMPUTE, *dummyPipelineLayout, 0, 1, &dummySet, 0, nullptr); ```
this solved the issue but obiously not intended right i know VK_EXT_descriptor_heap is still new. I wanted to ask if this is a known issue.  And this is fine to use until resolved ? 

here is the commit with everything i did to enable streamline and dlss https://github.com/VanKalanchoe/Noxiouse/commit/a07294ee74d937e55302d18ef6f0d797f229d0ab 

here is the nsight capture without the temporary fix
https://www.dropbox.com/scl/fi/hk5pbcd1llpzlzzs5l8fb/NoxEditor_2026_09_09_13_49_44.ngfx-capture?rlkey=jqo3fnl79pkr53ywrk6r4q6a2&st=kqgkzj2m&dl=0

here is the nsight capture with the temporary fix
https://www.dropbox.com/scl/fi/c7ove2kneiu03ds3ba921/NoxEditor_2026_09_09_13_51_06.ngfx-capture?rlkey=rnmb36lg9n7i7rkbmz25ifgmy&st=fhqhpa9p&dl=0

im using a 5800x and RTX3070
Driver Version: 610.74
Streamline SDK: 2.14.1 unzipped
VK_API_VERSION_1_4
VK_EXT_descriptor_heap
VK_EXT_shader_object

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

Start with the linked integration commit and compare the two provided Nsight captures, focusing on the call to slEvaluateFeature(kFeatureDLSS, ...) and the preceding vkCmdBindDescriptorSets workaround. Review the Streamline 2.14.1 integration context and VK_EXT_descriptor_heap usage shown in the report. Done means establishing whether this is a known issue and whether the temporary workaround is supported.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.