/ appendices / VK_KHR_descriptor_update_template.txt
VK_KHR_descriptor_update_template.txt
 1  // Copyright (c) 2016-2019 Khronos Group. This work is licensed under a
 2  // Creative Commons Attribution 4.0 International License; see
 3  // http://creativecommons.org/licenses/by/4.0/
 4  
 5  include::meta/VK_KHR_descriptor_update_template.txt[]
 6  
 7  *Last Modified Date*::
 8      2017-09-05
 9  *IP Status*::
10      No known IP claims.
11  *Interactions and External Dependencies*::
12    - Interacts with `<<VK_KHR_push_descriptor>>`
13    - Promoted to Vulkan 1.1 Core
14  *Contributors*::
15    - Jeff Bolz, NVIDIA
16    - Michael Worcester, Imagination Technologies
17  
18  Applications may wish to update a fixed set of descriptors in a large number
19  of descriptors sets very frequently, i.e. during initializaton phase or if
20  it is required to rebuild descriptor sets for each frame.
21  For those cases it is also not unlikely that all information required to
22  update a single descriptor set is stored in a single struct.
23  This extension provides a way to update a fixed set of descriptors in a
24  single slink:VkDescriptorSet with a pointer to a user defined data structure
25  which describes the new descriptors.
26  
27  
28  === New Object Types
29  
30    * sname:VkDescriptorUpdateTemplateKHR
31  
32  === New Enum Constants
33  
34  Extending elink:VkStructureType:
35  
36    ** ename:VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR
37  
38  === New Enums
39  
40    * tlink:VkDescriptorUpdateTemplateCreateFlagsKHR
41    * elink:VkDescriptorUpdateTemplateTypeKHR
42  
43  === New Structures
44  
45    * slink:VkDescriptorUpdateTemplateEntryKHR
46    * slink:VkDescriptorUpdateTemplateCreateInfoKHR
47  
48  === New Functions
49  
50    * flink:vkCreateDescriptorUpdateTemplateKHR
51    * flink:vkDestroyDescriptorUpdateTemplateKHR
52    * flink:vkUpdateDescriptorSetWithTemplateKHR
53  ifdef::VK_KHR_push_descriptor[]
54    * flink:vkCmdPushDescriptorSetWithTemplateKHR
55  endif::VK_KHR_push_descriptor[]
56  
57  === Promotion to Vulkan 1.1
58  
59  ifdef::VK_KHR_push_descriptor[]
60  flink:vkCmdPushDescriptorSetWithTemplateKHR is included as an interaction
61  with `<<VK_KHR_push_descriptor>>`.
62  If Vulkan 1.1 and VK_KHR_push_descriptor are supported, this is included by
63  `<<VK_KHR_push_descriptor>>`.
64  endif::VK_KHR_push_descriptor[]
65  
66  The base functionality in this extension is included in core Vulkan 1.1,
67  with the KHR suffix omitted.
68  The original type, enum and command names are still available as aliases of
69  the core functionality.
70  
71  === Version History
72  
73    * Revision 1, 2016-01-11 (Markus Tavenrath)
74      - Initial draft