Vulkan-Docs/doc/specs/vulkan/validity/protos/vkBindBufferMemory.txt

69 lines
3.5 KiB
Plaintext

// 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 size of pname:buffer must: be less than or equal to the size of pname:memory minus pname:memoryOffset
* 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[]
<<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
ifndef::doctype-manpage[]
********************************************************************************
endif::doctype-manpage[]