VK_KHR_descriptor_update_template

Other Extension Metadata

Last Modified Date

2017-09-05

IP Status

No known IP claims.

Interactions and External Dependencies
Contributors
  • Jeff Bolz, NVIDIA
  • Michael Worcester, Imagination Technologies

Description

Applications may wish to update a fixed set of descriptors in a large number of descriptor sets very frequently, i.e. during initialization phase or if it is required to rebuild descriptor sets for each frame. For those cases it is also not unlikely that all information required to update a single descriptor set is stored in a single struct. This extension provides a way to update a fixed set of descriptors in a single VkDescriptorSet with a pointer to an application-defined data structure describing the new descriptors.

Promotion to Vulkan 1.1

vkCmdPushDescriptorSetWithTemplateKHR is included as an interaction with VK_KHR_push_descriptor. If Vulkan 1.1 and VK_KHR_push_descriptor are supported, this is included by VK_KHR_push_descriptor.

The base functionality in this extension is included in core Vulkan 1.1, with the KHR suffix omitted. The original type, enum, and command names are still available as aliases of the core functionality.

New Object Types

New Commands

If VK_KHR_push_descriptor is supported:

New Structures

New Enums

New Bitmasks

New Enum Constants

  • VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME
  • VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION
  • Extending VkDescriptorUpdateTemplateType:
    • VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR
  • Extending VkObjectType:
    • VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR
  • Extending VkStructureType:
    • VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR

If VK_EXT_debug_report is supported:

If VK_KHR_push_descriptor is supported:

Version History

  • Revision 1, 2016-01-11 (Markus Tavenrath)
    • Initial draft