Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
device
is the logical device that owns the buffers and memory.
bindInfoCount
is the number of elements inpBindInfos
.pBindInfos
is 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)
device
must be a validVkDevice
handle
pBindInfos
must be a valid pointer to an array ofbindInfoCount
validVkBindBufferMemoryInfo
structuresbindInfoCount
must 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
device
is the logical device that owns the images and memory.
bindInfoCount
is the number of elements inpBindInfos
.pBindInfos
is 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)
device
must be a validVkDevice
handle
pBindInfos
must be a valid pointer to an array ofbindInfoCount
validVkBindImageMemoryInfo
structuresbindInfoCount
must 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
buffer
must not already be backed by a memory object
buffer
must not have been created with any sparse memory binding flagsmemoryOffset
must be less than the size ofmemory
- If
buffer
was created with theVK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT
orVK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT
,memoryOffset
must be a multiple ofVkPhysicalDeviceLimits
::minTexelBufferOffsetAlignment
- If
buffer
was created with theVK_BUFFER_USAGE_UNIFORM_BUFFER_BIT
,memoryOffset
must be a multiple ofVkPhysicalDeviceLimits
::minUniformBufferOffsetAlignment
- If
buffer
was created with theVK_BUFFER_USAGE_STORAGE_BUFFER_BIT
,memoryOffset
must be a multiple ofVkPhysicalDeviceLimits
::minStorageBufferOffsetAlignment
memory
must have been allocated using one of the memory types allowed in thememoryTypeBits
member of theVkMemoryRequirements
structure returned from a call tovkGetBufferMemoryRequirements
withbuffer
memoryOffset
must be an integer multiple of thealignment
member of theVkMemoryRequirements
structure returned from a call tovkGetBufferMemoryRequirements
withbuffer
- The
size
member of theVkMemoryRequirements
structure returned from a call tovkGetBufferMemoryRequirements
withbuffer
must be less than or equal to the size ofmemory
minusmemoryOffset
- If
buffer
requires a dedicated allocation(as reported byvkGetBufferMemoryRequirements2
inVkMemoryDedicatedRequirements
::requiresDedicatedAllocation forbuffer
),memory
must have been created withVkMemoryDedicatedAllocateInfo
::buffer
equal tobuffer
andmemoryOffset
must be zero - If the
VkMemoryAllocateInfo
provided whenmemory
was allocated included an instance ofVkMemoryDedicatedAllocateInfo
in itspNext
chain, andVkMemoryDedicatedAllocateInfo
::buffer
was notVK_NULL_HANDLE
, thenbuffer
must equalVkMemoryDedicatedAllocateInfo
::buffer
andmemoryOffset
must be zero. - If
buffer
was created withVkDedicatedAllocationBufferCreateInfoNV
::dedicatedAllocation
equal toVK_TRUE
,memory
must have been created withVkDedicatedAllocationMemoryAllocateInfoNV
::buffer
equal tobuffer
andmemoryOffset
must be zero - If the
pNext
chain includesVkBindBufferMemoryDeviceGroupInfo
, all instances ofmemory
specified byVkBindBufferMemoryDeviceGroupInfo
::pDeviceIndices
must have been allocated
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO
pNext
must beNULL
or a pointer to a valid instance ofVkBindBufferMemoryDeviceGroupInfo
buffer
must be a validVkBuffer
handlememory
must be a validVkDeviceMemory
handle- Both of
buffer
, andmemory
must have been created, allocated, or retrieved from the sameVkDevice
See Also
VkBuffer
,
VkDeviceMemory
, VkDeviceSize
,
VkStructureType
, vkBindBufferMemory2
,
vkBindBufferMemory2KHR
VkBindBufferMemoryInfo | |
|
Instances
Eq VkBindBufferMemoryInfo Source # | |
Show VkBindBufferMemoryInfo Source # | |
showsPrec :: Int -> VkBindBufferMemoryInfo -> ShowS # show :: VkBindBufferMemoryInfo -> String # showList :: [VkBindBufferMemoryInfo] -> ShowS # | |
Storable VkBindBufferMemoryInfo Source # | |
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
image
must not already be backed by a memory object
image
must not have been created with any sparse memory binding flagsmemoryOffset
must be less than the size ofmemory
- If the
pNext
chain does not include an instance of theVkBindImagePlaneMemoryInfo
structure,memory
must have been allocated using one of the memory types allowed in thememoryTypeBits
member of theVkMemoryRequirements
structure returned from a call tovkGetImageMemoryRequirements2
withimage
- If the
pNext
chain does not include an instance of theVkBindImagePlaneMemoryInfo
structure,memoryOffset
must be an integer multiple of thealignment
member of theVkMemoryRequirements
structure returned from a call tovkGetImageMemoryRequirements2
withimage
- If the
pNext
chain does not include an instance of theVkBindImagePlaneMemoryInfo
structure, the difference of the size ofmemory
andmemoryOffset
must be greater than or equal to thesize
member of theVkMemoryRequirements
structure returned from a call tovkGetImageMemoryRequirements2
with the sameimage
- If the
pNext
chain includes an instance of theVkBindImagePlaneMemoryInfo
structure,image
must have been created with theVK_IMAGE_CREATE_DISJOINT_BIT
bit set. - If the
pNext
chain includes an instance of theVkBindImagePlaneMemoryInfo
structure,memory
must have been allocated using one of the memory types allowed in thememoryTypeBits
member of theVkMemoryRequirements
structure returned from a call tovkGetImageMemoryRequirements2
withimage
and the correctplaneAspect
for this plane in theVkImagePlaneMemoryRequirementsInfo
structure attached to theVkImageMemoryRequirementsInfo2
’spNext
chain - If the
pNext
chain includes an instance of theVkBindImagePlaneMemoryInfo
structure,memoryOffset
must be an integer multiple of thealignment
member of theVkMemoryRequirements
structure returned from a call tovkGetImageMemoryRequirements2
withimage
and the correctplaneAspect
for this plane in theVkImagePlaneMemoryRequirementsInfo
structure attached to theVkImageMemoryRequirementsInfo2
’spNext
chain - If the
pNext
chain includes an instance of theVkBindImagePlaneMemoryInfo
structure, the difference of the size ofmemory
andmemoryOffset
must be greater than or equal to thesize
member of theVkMemoryRequirements
structure returned from a call tovkGetImageMemoryRequirements2
with the sameimage
and the correctplaneAspect
for this plane in theVkImagePlaneMemoryRequirementsInfo
structure attached to theVkImageMemoryRequirementsInfo2
’spNext
chain - If
image
requires a dedicated allocation (as reported byvkGetImageMemoryRequirements2
inVkMemoryDedicatedRequirements
::requiresDedicatedAllocation forimage
),memory
must have been created withVkMemoryDedicatedAllocateInfo
::image
equal toimage
andmemoryOffset
must be zero - If the
VkMemoryAllocateInfo
provided whenmemory
was allocated included an instance ofVkMemoryDedicatedAllocateInfo
in itspNext
chain, andVkMemoryDedicatedAllocateInfo
::image
was notVK_NULL_HANDLE
, thenimage
must equalVkMemoryDedicatedAllocateInfo
::image
andmemoryOffset
must be zero. - If
image
was created withVkDedicatedAllocationImageCreateInfoNV
::dedicatedAllocation
equal toVK_TRUE
,memory
must have been created withVkDedicatedAllocationMemoryAllocateInfoNV
::image
equal toimage
andmemoryOffset
must be zero - If the
pNext
chain includesVkBindImageMemoryDeviceGroupInfo
, all instances ofmemory
specified byVkBindImageMemoryDeviceGroupInfo
::pDeviceIndices
must have been allocated - If the
pNext
chain includesVkBindImageMemoryDeviceGroupInfo
, andVkBindImageMemoryDeviceGroupInfo
::splitInstanceBindRegionCount
is not zero, thenimage
must have been created with theVK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT
bit set - If the
pNext
chain includesVkBindImageMemoryDeviceGroupInfo
, all elements ofVkBindImageMemoryDeviceGroupInfo
::pSplitInstanceBindRegions
must be valid rectangles contained within the dimensions ofimage
- If the
pNext
chain includesVkBindImageMemoryDeviceGroupInfo
, the union of the areas of all elements ofVkBindImageMemoryDeviceGroupInfo
::pSplitInstanceBindRegions
that correspond to the same instance ofimage
must cover the entire image. - If
image
was created with a valid swapchain handle inVkImageSwapchainCreateInfoKHR
::swapchain
, then thepNext
chain must include a valid instance ofVkBindImageMemorySwapchainInfoKHR
- If the
pNext
chain includes an instance ofVkBindImageMemorySwapchainInfoKHR
,memory
must beVK_NULL_HANDLE
- If the
pNext
chain does not include an instance ofVkBindImageMemorySwapchainInfoKHR
,memory
must be a validVkDeviceMemory
handle
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO
- Each
pNext
member of any structure (including this one) in thepNext
chain must be eitherNULL
or a pointer to a valid instance ofVkBindImageMemoryDeviceGroupInfo
,VkBindImageMemorySwapchainInfoKHR
, orVkBindImagePlaneMemoryInfo
- Each
sType
member in thepNext
chain must be unique image
must be a validVkImage
handle- Both of
image
, andmemory
that are valid handles must have been created, allocated, or retrieved from the sameVkDevice
See Also
VkDeviceMemory
, VkDeviceSize
,
VkImage
,
VkStructureType
, vkBindImageMemory2
,
vkBindImageMemory2KHR
VkBindImageMemoryInfo | |
|
Instances
Eq VkBindImageMemoryInfo Source # | |
(==) :: VkBindImageMemoryInfo -> VkBindImageMemoryInfo -> Bool # (/=) :: VkBindImageMemoryInfo -> VkBindImageMemoryInfo -> Bool # | |
Show VkBindImageMemoryInfo Source # | |
showsPrec :: Int -> VkBindImageMemoryInfo -> ShowS # show :: VkBindImageMemoryInfo -> String # showList :: [VkBindImageMemoryInfo] -> ShowS # | |
Storable VkBindImageMemoryInfo Source # | |
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 () # |