NVIDIA-RTX / NVIDIA-RTX/Streamline
Streamline VK_EXT_descriptor_heap Bug
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
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 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