Descriptor Heap Support
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 3.4k
- Forks
- 125
- PR merge metrics
- No merged PRs in 30d
Description
Whilst descriptor heap can be used with regular descriptor sets/bindings.
It also allows for untyped access which is much more flexible.
// VkPhysicalDeviceDescriptorHeapPropertiesEXT::bufferDescriptorSize == 16 (0x10)
layout(descriptor_heap) buffer SSBO {
vec4 payload;
} s_buffers[];
void main() {
s_buffers[6].payload = vec4(1.0);
}
https://github.khronos.org/SPIRV-Registry/extensions/EXT/SPV_EXT_descriptor_heap.html
https://github.khronos.org/SPIRV-Registry/extensions/KHR/SPV_KHR_untyped_pointers.html
https://github.com/KhronosGroup/SPIRV-Guide/blob/main/chapters/untyped_pointers.md
https://docs.vulkan.org/guide/latest/descriptor_heap.html#_untyped_shader_model
https://docs.vulkan.org/refpages/latest/refpages/source/VK_EXT_descriptor_heap.html
https://docs.vulkan.org/features/latest/features/proposals/VK_EXT_descriptor_heap.html
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
No repository files, tests, or entry points are named in the issue. Start by reading the linked SPIR-V and Vulkan descriptor-heap specifications, then locate the compiler’s existing descriptor-set and binding support; done means descriptor heaps and untyped access are supported with corresponding coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100