| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Graphics.Vulkan.Core11.Promoted_from_VK_KHR_bind_memory2
- pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO :: VkStructureType
- pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: VkStructureType
- pattern VK_IMAGE_CREATE_ALIAS_BIT :: VkImageCreateFlagBits
- vkBindBufferMemory2 :: ("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindBufferMemoryInfo) -> IO VkResult
- vkBindImageMemory2 :: ("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindImageMemoryInfo) -> IO VkResult
- data VkBindBufferMemoryInfo = VkBindBufferMemoryInfo {}
- data VkBindImageMemoryInfo = VkBindImageMemoryInfo {}
Documentation
pattern VK_IMAGE_CREATE_ALIAS_BIT :: VkImageCreateFlagBits Source #
vkBindBufferMemory2 :: ("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindBufferMemoryInfo) -> IO VkResult Source #
vkBindBufferMemory2 - Bind device memory to buffer objects
Parameters
deviceis the logical device that owns the buffers and memory.
bindInfoCountis the number of elements inpBindInfos.pBindInfosis a pointer to an array of structures of typeVkBindBufferMemoryInfo, describing buffers and memory to bind.
Description
On some implementations, it may be more efficient to batch memory bindings into a single command.
Valid Usage (Implicit)
devicemust be a validVkDevicehandle
pBindInfosmust be a valid pointer to an array ofbindInfoCountvalidVkBindBufferMemoryInfostructuresbindInfoCountmust be greater than0
Return Codes
- Success
- -
VK_SUCCESS
- Failure
- -
VK_ERROR_OUT_OF_HOST_MEMORYVK_ERROR_OUT_OF_DEVICE_MEMORY
See Also
vkBindImageMemory2 :: ("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindImageMemoryInfo) -> IO VkResult Source #
vkBindImageMemory2 - Bind device memory to image objects
Parameters
deviceis the logical device that owns the images and memory.
bindInfoCountis the number of elements inpBindInfos.pBindInfosis a pointer to an array of structures of typeVkBindImageMemoryInfo, describing images and memory to bind.
Description
On some implementations, it may be more efficient to batch memory bindings into a single command.
Valid Usage (Implicit)
devicemust be a validVkDevicehandle
pBindInfosmust be a valid pointer to an array ofbindInfoCountvalidVkBindImageMemoryInfostructuresbindInfoCountmust be greater than0
Return Codes
- Success
- -
VK_SUCCESS
- Failure
- -
VK_ERROR_OUT_OF_HOST_MEMORYVK_ERROR_OUT_OF_DEVICE_MEMORY
See Also
data VkBindBufferMemoryInfo Source #
VkBindBufferMemoryInfo - Structure specifying how to bind a buffer to memory
Description
Valid Usage
buffermust not already be backed by a memory object
buffermust not have been created with any sparse memory binding flagsmemoryOffsetmust be less than the size ofmemory- If
bufferwas created with theVK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BITorVK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT,memoryOffsetmust be a multiple ofVkPhysicalDeviceLimits::minTexelBufferOffsetAlignment - If
bufferwas created with theVK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,memoryOffsetmust be a multiple ofVkPhysicalDeviceLimits::minUniformBufferOffsetAlignment - If
bufferwas created with theVK_BUFFER_USAGE_STORAGE_BUFFER_BIT,memoryOffsetmust be a multiple ofVkPhysicalDeviceLimits::minStorageBufferOffsetAlignment memorymust have been allocated using one of the memory types allowed in thememoryTypeBitsmember of theVkMemoryRequirementsstructure returned from a call tovkGetBufferMemoryRequirementswithbuffermemoryOffsetmust be an integer multiple of thealignmentmember of theVkMemoryRequirementsstructure returned from a call tovkGetBufferMemoryRequirementswithbuffer- The
sizemember of theVkMemoryRequirementsstructure returned from a call tovkGetBufferMemoryRequirementswithbuffermust be less than or equal to the size ofmemoryminusmemoryOffset - If
bufferrequires a dedicated allocation(as reported byvkGetBufferMemoryRequirements2inVkMemoryDedicatedRequirements::requiresDedicatedAllocation forbuffer),memorymust have been created withVkMemoryDedicatedAllocateInfo::bufferequal tobufferandmemoryOffsetmust be zero - If the
VkMemoryAllocateInfoprovided whenmemorywas allocated included an instance ofVkMemoryDedicatedAllocateInfoin itspNextchain, andVkMemoryDedicatedAllocateInfo::bufferwas notVK_NULL_HANDLE, thenbuffermust equalVkMemoryDedicatedAllocateInfo::bufferandmemoryOffsetmust be zero. - If
bufferwas created withVkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocationequal toVK_TRUE,memorymust have been created withVkDedicatedAllocationMemoryAllocateInfoNV::bufferequal tobufferandmemoryOffsetmust be zero - If the
pNextchain includesVkBindBufferMemoryDeviceGroupInfo, all instances ofmemoryspecified byVkBindBufferMemoryDeviceGroupInfo::pDeviceIndicesmust have been allocated
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO
pNextmust beNULLor a pointer to a valid instance ofVkBindBufferMemoryDeviceGroupInfobuffermust be a validVkBufferhandlememorymust be a validVkDeviceMemoryhandle- Both of
buffer, andmemorymust have been created, allocated, or retrieved from the sameVkDevice
See Also
VkBuffer,
VkDeviceMemory, VkDeviceSize,
VkStructureType, vkBindBufferMemory2,
vkBindBufferMemory2KHR
Constructors
| VkBindBufferMemoryInfo | |
Fields
| |
data VkBindImageMemoryInfo Source #
VkBindImageMemoryInfo - Structure specifying how to bind an image to memory
Description
Valid Usage
imagemust not already be backed by a memory object
imagemust not have been created with any sparse memory binding flagsmemoryOffsetmust be less than the size ofmemory- If the
pNextchain does not include an instance of theVkBindImagePlaneMemoryInfostructure,memorymust have been allocated using one of the memory types allowed in thememoryTypeBitsmember of theVkMemoryRequirementsstructure returned from a call tovkGetImageMemoryRequirements2withimage - If the
pNextchain does not include an instance of theVkBindImagePlaneMemoryInfostructure,memoryOffsetmust be an integer multiple of thealignmentmember of theVkMemoryRequirementsstructure returned from a call tovkGetImageMemoryRequirements2withimage - If the
pNextchain does not include an instance of theVkBindImagePlaneMemoryInfostructure, the difference of the size ofmemoryandmemoryOffsetmust be greater than or equal to thesizemember of theVkMemoryRequirementsstructure returned from a call tovkGetImageMemoryRequirements2with the sameimage - If the
pNextchain includes an instance of theVkBindImagePlaneMemoryInfostructure,imagemust have been created with theVK_IMAGE_CREATE_DISJOINT_BITbit set. - If the
pNextchain includes an instance of theVkBindImagePlaneMemoryInfostructure,memorymust have been allocated using one of the memory types allowed in thememoryTypeBitsmember of theVkMemoryRequirementsstructure returned from a call tovkGetImageMemoryRequirements2withimageand the correctplaneAspectfor this plane in theVkImagePlaneMemoryRequirementsInfostructure attached to theVkImageMemoryRequirementsInfo2’spNextchain - If the
pNextchain includes an instance of theVkBindImagePlaneMemoryInfostructure,memoryOffsetmust be an integer multiple of thealignmentmember of theVkMemoryRequirementsstructure returned from a call tovkGetImageMemoryRequirements2withimageand the correctplaneAspectfor this plane in theVkImagePlaneMemoryRequirementsInfostructure attached to theVkImageMemoryRequirementsInfo2’spNextchain - If the
pNextchain includes an instance of theVkBindImagePlaneMemoryInfostructure, the difference of the size ofmemoryandmemoryOffsetmust be greater than or equal to thesizemember of theVkMemoryRequirementsstructure returned from a call tovkGetImageMemoryRequirements2with the sameimageand the correctplaneAspectfor this plane in theVkImagePlaneMemoryRequirementsInfostructure attached to theVkImageMemoryRequirementsInfo2’spNextchain - If
imagerequires a dedicated allocation (as reported byvkGetImageMemoryRequirements2inVkMemoryDedicatedRequirements::requiresDedicatedAllocation forimage),memorymust have been created withVkMemoryDedicatedAllocateInfo::imageequal toimageandmemoryOffsetmust be zero - If the
VkMemoryAllocateInfoprovided whenmemorywas allocated included an instance ofVkMemoryDedicatedAllocateInfoin itspNextchain, andVkMemoryDedicatedAllocateInfo::imagewas notVK_NULL_HANDLE, thenimagemust equalVkMemoryDedicatedAllocateInfo::imageandmemoryOffsetmust be zero. - If
imagewas created withVkDedicatedAllocationImageCreateInfoNV::dedicatedAllocationequal toVK_TRUE,memorymust have been created withVkDedicatedAllocationMemoryAllocateInfoNV::imageequal toimageandmemoryOffsetmust be zero - If the
pNextchain includesVkBindImageMemoryDeviceGroupInfo, all instances ofmemoryspecified byVkBindImageMemoryDeviceGroupInfo::pDeviceIndicesmust have been allocated - If the
pNextchain includesVkBindImageMemoryDeviceGroupInfo, andVkBindImageMemoryDeviceGroupInfo::splitInstanceBindRegionCountis not zero, thenimagemust have been created with theVK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BITbit set - If the
pNextchain includesVkBindImageMemoryDeviceGroupInfo, all elements ofVkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegionsmust be valid rectangles contained within the dimensions ofimage - If the
pNextchain includesVkBindImageMemoryDeviceGroupInfo, the union of the areas of all elements ofVkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegionsthat correspond to the same instance ofimagemust cover the entire image. - If
imagewas created with a valid swapchain handle inVkImageSwapchainCreateInfoKHR::swapchain, then thepNextchain must include a valid instance ofVkBindImageMemorySwapchainInfoKHR - If the
pNextchain includes an instance ofVkBindImageMemorySwapchainInfoKHR,memorymust beVK_NULL_HANDLE - If the
pNextchain does not include an instance ofVkBindImageMemorySwapchainInfoKHR,memorymust be a validVkDeviceMemoryhandle
Valid Usage (Implicit)
sTypemust beVK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO
- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofVkBindImageMemoryDeviceGroupInfo,VkBindImageMemorySwapchainInfoKHR, orVkBindImagePlaneMemoryInfo - Each
sTypemember in thepNextchain must be unique imagemust be a validVkImagehandle- Both of
image, andmemorythat are valid handles must have been created, allocated, or retrieved from the sameVkDevice
See Also
VkDeviceMemory, VkDeviceSize,
VkImage,
VkStructureType, vkBindImageMemory2,
vkBindImageMemory2KHR
Constructors
| VkBindImageMemoryInfo | |
Fields
| |