86

1

## Extension and Version Dependencies

• Requires Vulkan 1.0

## Contact

2017-09-05

IP Status

No known IP claims.

Interactions and External Dependencies
• Interacts with VK_KHR_push_descriptor

• Promoted to Vulkan 1.1 Core

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 initializaton 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 a user 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 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