Supporting SPV_EXT_descriptor_heap and its dependency of SPV_KHR_untyped_pointers would be very helpful as VK_EXT_descriptor_heap and GLSL_EXT_descriptor_heap have been released into the Vulkan ecosystem.
The GLSL_EXT_descriptor_heap adds a new "bindless" binding type:
layout(descriptor_heap) uniform texture2D heapTexture2D[];
That is somewhat of a new paradigm for SPIRV-Reflect to support as it's not a traditional binding.
A good example of this can be found at https://github.com/nvpro-samples/vk_mini_samples/tree/main/samples/descriptor_heap that currently fails to reflect.
The "untyped pointer" usage of descriptor heaps makes reflection a little awkward but ideally a solution would simply indicate that a resource and/or sample heap are bound for usage and optionally the user provided stride.
Supporting SPV_EXT_descriptor_heap and its dependency of SPV_KHR_untyped_pointers would be very helpful as VK_EXT_descriptor_heap and GLSL_EXT_descriptor_heap have been released into the Vulkan ecosystem.
The GLSL_EXT_descriptor_heap adds a new "bindless" binding type:
layout(descriptor_heap) uniform texture2D heapTexture2D[];That is somewhat of a new paradigm for SPIRV-Reflect to support as it's not a traditional binding.
A good example of this can be found at https://github.com/nvpro-samples/vk_mini_samples/tree/main/samples/descriptor_heap that currently fails to reflect.
The "untyped pointer" usage of descriptor heaps makes reflection a little awkward but ideally a solution would simply indicate that a resource and/or sample heap are bound for usage and optionally the user provided stride.