// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry ifndef::doctype-manpage[] .Valid Usage ******************************************************************************** endif::doctype-manpage[] ifdef::doctype-manpage[] Valid Usage ----------- endif::doctype-manpage[] * pname:device must: be a valid sname:VkDevice handle * pname:buffer must: be a valid sname:VkBuffer handle * pname:memory must: be a valid sname:VkDeviceMemory handle * pname:buffer must: have been created, allocated or retrieved from pname:device * pname:memory must: have been created, allocated or retrieved from pname:device * Each of pname:device, pname:buffer and pname:memory must: have been created, allocated or retrieved from the same sname:VkPhysicalDevice * pname:buffer mustnot: already be backed by a memory object * pname:buffer mustnot: have been created with any sparse memory binding flags * pname:memoryOffset must: be less than the size of pname:memory * If pname:buffer was created with the ename:VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT or ename:VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, pname:memoryOffset must: be a multiple of the value of sname:VkPhysicalDeviceLimits::pname:minTexelBufferOffsetAlignment * If pname:buffer was created with the ename:VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, pname:memoryOffset must: be a multiple of the value of sname:VkPhysicalDeviceLimits::pname:minUniformBufferOffsetAlignment * If pname:buffer was created with the ename:VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, pname:memoryOffset must: be a multiple of the value of sname:VkPhysicalDeviceLimits::pname:minStorageBufferOffsetAlignment * pname:memory must: have been allocated using one of the memory types allowed in the pname:memoryTypeBits member of the sname:VkMemoryRequirements structure returned from a call to fname:vkGetBufferMemoryRequirements with pname:buffer * The sum of pname:memoryOffset and the size of pname:buffer must: be less than or equal to the size of pname:memory * pname:memoryOffset must: be an integer multiple of the pname:alignment member of the sname:VkMemoryRequirements structure returned from a call to fname:vkGetBufferMemoryRequirements with pname:buffer ifndef::doctype-manpage[] ******************************************************************************** endif::doctype-manpage[] ifndef::doctype-manpage[] .Host Synchronization ******************************************************************************** endif::doctype-manpage[] ifdef::doctype-manpage[] Host Synchronization -------------------- endif::doctype-manpage[] * Host access to pname:buffer must: be externally synchronized ifndef::doctype-manpage[] ******************************************************************************** endif::doctype-manpage[] ifndef::doctype-manpage[] .Return Codes ******************************************************************************** endif::doctype-manpage[] ifdef::doctype-manpage[] Return Codes ------------ endif::doctype-manpage[] ifndef::doctype-manpage[] <>:: endif::doctype-manpage[] ifdef::doctype-manpage[] On success, this command returns:: endif::doctype-manpage[] * ename:VK_SUCCESS ifndef::doctype-manpage[] <>:: 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 ifndef::doctype-manpage[] ******************************************************************************** endif::doctype-manpage[]