VK_NV_per_stage_descriptor_set
Other Extension Metadata
Last Modified Date
2023-10-16
IP Status
No known IP claims.
Contributors
- Daniel Story, Nintendo
Description
This extension introduces a new descriptor set layout creation flag that allows bindings in a descriptor set to be scoped to each shader stage. This means that shaders bound at the same time may use completely different descriptor set layouts without any restrictions on compatibility, and that the descriptor limits that would otherwise apply to the union of all stages together instead apply to each stage individually. It also means that descriptors shared by multiple stages must be bound to each stage or set of stages that use a unique descriptor set layout using their specific per stage descriptor set layout(s).
This extension also allows each of the new descriptor binding functions from
VK_KHR_maintenance6 to have their VkPipelineLayout member be
optionally set to VK_NULL_HANDLE, in which case the pipeline layout
information is taken from a VkPipelineLayoutCreateInfo structure in
the pNext
chain.
This enables descriptors to be directly bound using descriptor set layouts
without applications needing to create and manage VkPipelineLayout
objects at command recording time.
New Structures
- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
New Enum Constants
VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME
VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION
- Extending VkDescriptorSetLayoutCreateFlagBits:
VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV
- Extending VkStructureType:
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV
Issues
None
Version History
- Revision 1, 2023-10-16 (Piers Daniell)
- Initial draft