| // 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 |