In this blog, Vulkan Strategy Officer, Tobias Hector, explains the recent release of the VK_EXT_descriptor_heap extension. This extension is the first concrete attempt at totally replacing the existing descriptor set subsystem in Vulkan. While it’s shipping as an EXT for now, it’s on a path to becoming future core functionality.
The Vulkan Working Group attempted to fix the descriptor model with VK_EXT_descriptor_buffer, which developers have had some success with, but we used incremental (if large!) improvements to the existing descriptor set functionality, making it necessary to check for a variety of descriptor set extensions. This incremental approach also didn’t attract wide industry backing, resulting in cross-vendor portability issues. So, we took the lessons learned from VK_EXT_descriptor_buffer, and designed a completely new subsystem.