blob: 89cf78a39c9b853227fbd08e75d9a96688c14bbc [file] [log] [blame]
// Copyright (c) 2016-2018 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/
include::meta/VK_KHR_descriptor_update_template.txt[]
*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
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's required to rebuild descriptor sets for each frame.
For those cases it's 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 slink:VkDescriptorSet with a pointer to a user defined data structure
which describes the new descriptors.
=== New Object Types
* slink:VkDescriptorUpdateTemplateKHR
=== New Enum Constants
Extending elink:VkStructureType:
** ename:VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR
=== New Enums
* elink:VkDescriptorUpdateTemplateCreateFlagsKHR
* elink:VkDescriptorUpdateTemplateTypeKHR
=== New Structures
* slink:VkDescriptorUpdateTemplateEntryKHR
* slink:VkDescriptorUpdateTemplateCreateInfoKHR
=== New Functions
* flink:vkCreateDescriptorUpdateTemplateKHR
* flink:vkDestroyDescriptorUpdateTemplateKHR
* flink:vkUpdateDescriptorSetWithTemplateKHR
ifdef::VK_KHR_push_descriptor[]
* flink:vkCmdPushDescriptorSetWithTemplateKHR
endif::VK_KHR_push_descriptor[]
=== Promotion to Vulkan 1.1
ifdef::VK_KHR_push_descriptor[]
flink: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>>`.
endif::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.
=== Version History
* Revision 1, 2016-01-11 (Markus Tavenrath)
- Initial draft