/ 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