VK_KHR_descriptor_update_template(3)

# VK_KHR_descriptor_update_template(3) Manual Page

## Name

VK_KHR_descriptor_update_template - device extension

Loading… please wait.

## Registered Extension Number

86

## Revision

1

## Extension and Version Dependencies

- Requires Vulkan 1.0

## Deprecation state

- Promoted to Vulkan 1.1

### Other Extension Metadata

Last Modified Date

  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 descriptors 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 Object Types

- VkDescriptorUpdateTemplateKHR

### New Commands

- vkCreateDescriptorUpdateTemplateKHR

- vkDestroyDescriptorUpdateTemplateKHR

- vkUpdateDescriptorSetWithTemplateKHR

If VK_KHR_push_descriptor is supported:

- vkCmdPushDescriptorSetWithTemplateKHR

### New Structures

- VkDescriptorUpdateTemplateCreateInfoKHR

- VkDescriptorUpdateTemplateEntryKHR

### New Enums

- VkDescriptorUpdateTemplateTypeKHR

### New Bitmasks

- VkDescriptorUpdateTemplateCreateFlagsKHR

### 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:

- Extending VkDebugReportObjectTypeEXT:

  - `VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT`

If VK_KHR_push_descriptor is supported:

- Extending VkDescriptorUpdateTemplateType:

  - `VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR`

### Version History

- Revision 1, 2016-01-11 (Markus Tavenrath)

  - Initial draft

## See Also

VkDescriptorUpdateTemplateCreateFlagsKHR, VkDescriptorUpdateTemplateCreateInfoKHR, VkDescriptorUpdateTemplateEntryKHR, VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateTypeKHR, vkCreateDescriptorUpdateTemplateKHR, vkDestroyDescriptorUpdateTemplateKHR, vkUpdateDescriptorSetWithTemplateKHR

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright (c) 2014-2020 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0