// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry
.Valid Usage (Implicit)
****
* [[VUID-vkCreateDescriptorUpdateTemplate-device-parameter]] pname:device must: be a valid sname:VkDevice handle
* [[VUID-vkCreateDescriptorUpdateTemplate-pCreateInfo-parameter]] pname:pCreateInfo must: be a valid pointer to a valid sname:VkDescriptorUpdateTemplateCreateInfo structure
* [[VUID-vkCreateDescriptorUpdateTemplate-pAllocator-parameter]] If pname:pAllocator is not `NULL`, pname:pAllocator must: be a valid pointer to a valid sname:VkAllocationCallbacks structure
* [[VUID-vkCreateDescriptorUpdateTemplate-pDescriptorUpdateTemplate-parameter]] pname:pDescriptorUpdateTemplate must: be a valid pointer to a sname:VkDescriptorUpdateTemplate handle
****

.Return Codes
****
ifndef::doctype-manpage[]
<<fundamentals-successcodes,Success>>::
endif::doctype-manpage[]
ifdef::doctype-manpage[]
On success, this command returns::
endif::doctype-manpage[]
* ename:VK_SUCCESS
ifndef::doctype-manpage[]
<<fundamentals-errorcodes,Failure>>::
endif::doctype-manpage[]
ifdef::doctype-manpage[]
On failure, this command returns::
endif::doctype-manpage[]
* ename:VK_ERROR_OUT_OF_HOST_MEMORY
* ename:VK_ERROR_OUT_OF_DEVICE_MEMORY
****

