Problem statement:
Descriptor heaps increase flexibility and allow GPU management of descriptors, but only in one way: Copying existing descriptors in the heap, or on and off the heap. BDA decreases the need for dynamically creating buffer descriptors, however e.g. filling a region of a storage buffer and letting other shaders access is as a uniform buffer could have improvements depending on how uniform buffers are implemented. The bigger problem is images though: You need an image descriptor to access the sampling hardware on the GPU. As it stands you'd need a CPU roundtrip if you need the image size to be dependent on GPU memory contents, reading the size from the GPU, creating the image and then continuing to dispatch shaders. Additionally this could be useful for a future extension that makes input attachments dynamic, which is mentioned in the descriptor heap feature proposal document. Together with BDA this would allow full GPU-side memory management (except creating new VkDeviceMemory allocations). It could be considered for optional features of the final KHR extension to create different descriptor types GPU-side.
Problem statement:
Descriptor heaps increase flexibility and allow GPU management of descriptors, but only in one way: Copying existing descriptors in the heap, or on and off the heap. BDA decreases the need for dynamically creating buffer descriptors, however e.g. filling a region of a storage buffer and letting other shaders access is as a uniform buffer could have improvements depending on how uniform buffers are implemented. The bigger problem is images though: You need an image descriptor to access the sampling hardware on the GPU. As it stands you'd need a CPU roundtrip if you need the image size to be dependent on GPU memory contents, reading the size from the GPU, creating the image and then continuing to dispatch shaders. Additionally this could be useful for a future extension that makes input attachments dynamic, which is mentioned in the descriptor heap feature proposal document. Together with BDA this would allow full GPU-side memory management (except creating new VkDeviceMemory allocations). It could be considered for optional features of the final KHR extension to create different descriptor types GPU-side.