Problem Description
When using VK_EXT_descriptor_heap, it's often the case that resource descriptors (buffers, images, acceleration structures) are stored in the same heap with a unified stride calculated from the max() of the descriptor size for each resource type - as returned by device properties. It would be convenience win for slang to support a unified stride within the emited SPIR-V.
Preferred Solution
Add -spirv-unified-descriptor-heap-stride to enable a unified stride using max(bufferDescriptorSize, imageDescriptorSize) as described here: https://docs.vulkan.org/features/latest/features/proposals/VK_EXT_descriptor_heap.html
Problem Description
When using
VK_EXT_descriptor_heap, it's often the case that resource descriptors (buffers, images, acceleration structures) are stored in the same heap with a unified stride calculated from themax()of the descriptor size for each resource type - as returned by device properties. It would be convenience win for slang to support a unified stride within the emited SPIR-V.Preferred Solution
Add
-spirv-unified-descriptor-heap-strideto enable a unified stride usingmax(bufferDescriptorSize, imageDescriptorSize)as described here: https://docs.vulkan.org/features/latest/features/proposals/VK_EXT_descriptor_heap.html