| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Graphics.Vulkan.Core11.Promoted_from_VK_KHR_bind_memory2
Synopsis
- 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_MEMORY
VK_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_MEMORY
VK_ERROR_OUT_OF_DEVICE_MEMORY
See Also
data VkBindBufferMemoryInfo Source #
VkBindBufferMemoryInfo - Structure specifying how to bind a buffer to memory
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
| |
Instances
| Eq VkBindBufferMemoryInfo Source # | |
Methods (==) :: VkBindBufferMemoryInfo -> VkBindBufferMemoryInfo -> Bool # (/=) :: VkBindBufferMemoryInfo -> VkBindBufferMemoryInfo -> Bool # | |
| Show VkBindBufferMemoryInfo Source # | |
Methods showsPrec :: Int -> VkBindBufferMemoryInfo -> ShowS # show :: VkBindBufferMemoryInfo -> String # showList :: [VkBindBufferMemoryInfo] -> ShowS # | |
| Storable VkBindBufferMemoryInfo Source # | |
Methods sizeOf :: VkBindBufferMemoryInfo -> Int # alignment :: VkBindBufferMemoryInfo -> Int # peekElemOff :: Ptr VkBindBufferMemoryInfo -> Int -> IO VkBindBufferMemoryInfo # pokeElemOff :: Ptr VkBindBufferMemoryInfo -> Int -> VkBindBufferMemoryInfo -> IO () # peekByteOff :: Ptr b -> Int -> IO VkBindBufferMemoryInfo # pokeByteOff :: Ptr b -> Int -> VkBindBufferMemoryInfo -> IO () # peek :: Ptr VkBindBufferMemoryInfo -> IO VkBindBufferMemoryInfo # poke :: Ptr VkBindBufferMemoryInfo -> VkBindBufferMemoryInfo -> IO () # | |
data VkBindImageMemoryInfo Source #
VkBindImageMemoryInfo - Structure specifying how to bind an image to memory
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
| |
Instances
| Eq VkBindImageMemoryInfo Source # | |
Methods (==) :: VkBindImageMemoryInfo -> VkBindImageMemoryInfo -> Bool # (/=) :: VkBindImageMemoryInfo -> VkBindImageMemoryInfo -> Bool # | |
| Show VkBindImageMemoryInfo Source # | |
Methods showsPrec :: Int -> VkBindImageMemoryInfo -> ShowS # show :: VkBindImageMemoryInfo -> String # showList :: [VkBindImageMemoryInfo] -> ShowS # | |
| Storable VkBindImageMemoryInfo Source # | |
Methods sizeOf :: VkBindImageMemoryInfo -> Int # alignment :: VkBindImageMemoryInfo -> Int # peekElemOff :: Ptr VkBindImageMemoryInfo -> Int -> IO VkBindImageMemoryInfo # pokeElemOff :: Ptr VkBindImageMemoryInfo -> Int -> VkBindImageMemoryInfo -> IO () # peekByteOff :: Ptr b -> Int -> IO VkBindImageMemoryInfo # pokeByteOff :: Ptr b -> Int -> VkBindImageMemoryInfo -> IO () # peek :: Ptr VkBindImageMemoryInfo -> IO VkBindImageMemoryInfo # poke :: Ptr VkBindImageMemoryInfo -> VkBindImageMemoryInfo -> IO () # | |