Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type VkBuffer = Ptr VkBuffer_T
- type VkImage = Ptr VkImage_T
- vkGetBufferMemoryRequirements :: ("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()
- vkBindBufferMemory :: ("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult
- vkGetImageMemoryRequirements :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()
- vkBindImageMemory :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult
- data VkMemoryRequirements = VkMemoryRequirements {}
Documentation
type VkBuffer = Ptr VkBuffer_T Source #
VkBuffer - Opaque handle to a buffer object
See Also
VkBindBufferMemoryInfo
,
VkBufferMemoryBarrier
,
VkBufferMemoryRequirementsInfo2
,
VkBufferViewCreateInfo
,
VkCmdProcessCommandsInfoNVX
,
VkDedicatedAllocationMemoryAllocateInfoNV
,
VkDescriptorBufferInfo
,
VkIndirectCommandsTokenNVX
,
VkMemoryDedicatedAllocateInfo
,
VkObjectTableIndexBufferEntryNVX
,
VkObjectTableVertexBufferEntryNVX
,
VkSparseBufferMemoryBindInfo
,
vkBindBufferMemory
,
vkCmdBindIndexBuffer
,
vkCmdBindVertexBuffers
,
vkCmdCopyBuffer
,
vkCmdCopyBufferToImage
,
vkCmdCopyImageToBuffer
,
vkCmdCopyQueryPoolResults
,
vkCmdDispatchIndirect
,
vkCmdDrawIndexedIndirect
,
vkCmdDrawIndexedIndirectCountAMD
,
vkCmdDrawIndirect
,
vkCmdDrawIndirectCountAMD
,
vkCmdFillBuffer
,
vkCmdUpdateBuffer
,
vkCmdWriteBufferMarkerAMD
,
vkCreateBuffer
,
vkDestroyBuffer
,
vkGetBufferMemoryRequirements
type VkImage = Ptr VkImage_T Source #
VkImage - Opaque handle to a image object
See Also
VkBindImageMemoryInfo
,
VkDedicatedAllocationMemoryAllocateInfoNV
,
VkImageMemoryBarrier
,
VkImageMemoryRequirementsInfo2
,
VkImageSparseMemoryRequirementsInfo2
,
VkImageViewCreateInfo
,
VkMemoryDedicatedAllocateInfo
,
VkSparseImageMemoryBindInfo
,
VkSparseImageOpaqueMemoryBindInfo
,
vkBindImageMemory
,
vkCmdBlitImage
,
vkCmdClearColorImage
,
vkCmdClearDepthStencilImage
,
vkCmdCopyBufferToImage
,
vkCmdCopyImage
,
vkCmdCopyImageToBuffer
,
vkCmdResolveImage
,
vkCreateImage
,
vkDestroyImage
,
vkGetImageMemoryRequirements
,
vkGetImageSparseMemoryRequirements
,
vkGetImageSubresourceLayout
,
vkGetSwapchainImagesKHR
vkGetBufferMemoryRequirements :: ("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO () Source #
vkGetBufferMemoryRequirements - Returns the memory requirements for specified Vulkan object
Parameters
device
is the logical device that owns the buffer.
buffer
is the buffer to query.pMemoryRequirements
points to an instance of theVkMemoryRequirements
structure in which the memory requirements of the buffer object are returned.
Valid Usage (Implicit)
device
must be a validVkDevice
handle
buffer
must be a validVkBuffer
handlepMemoryRequirements
must be a valid pointer to aVkMemoryRequirements
structurebuffer
must have been created, allocated, or retrieved fromdevice
See Also
vkBindBufferMemory :: ("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult Source #
vkBindBufferMemory - Bind device memory to a buffer object
Parameters
device
is the logical device that owns the buffer and memory.
buffer
is the buffer to be attached to memory.memory
is aVkDeviceMemory
object describing the device memory to attach.memoryOffset
is the start offset of the region ofmemory
which is to be bound to the buffer. The number of bytes returned in theVkMemoryRequirements
::size
member inmemory
, starting frommemoryOffset
bytes, will be bound to the specified buffer.
Description
vkBindBufferMemory
is equivalent to passing the same parameters
through
VkBindBufferMemoryInfo
to
vkBindBufferMemory2
.
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
- 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 to a buffer handle created with identical creation parameters tobuffer
andmemoryOffset
must be zero
Valid Usage (Implicit)
device
must be a validVkDevice
handle
buffer
must be a validVkBuffer
handlememory
must be a validVkDeviceMemory
handlebuffer
must have been created, allocated, or retrieved fromdevice
memory
must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
buffer
must be externally synchronized
Return Codes
[Success]
- VK_SUCCESS
[Failure]
- VK_ERROR_OUT_OF_HOST_MEMORY
VK_ERROR_OUT_OF_DEVICE_MEMORY
See Also
VkBuffer
, VkDevice
,
VkDeviceMemory
, VkDeviceSize
vkGetImageMemoryRequirements :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO () Source #
vkGetImageMemoryRequirements - Returns the memory requirements for specified Vulkan object
Parameters
device
is the logical device that owns the image.
image
is the image to query.pMemoryRequirements
points to an instance of theVkMemoryRequirements
structure in which the memory requirements of the image object are returned.
Valid Usage
image
must not have been created with theVK_IMAGE_CREATE_DISJOINT_BIT
flag set
Valid Usage (Implicit)
device
must be a validVkDevice
handle
image
must be a validVkImage
handlepMemoryRequirements
must be a valid pointer to aVkMemoryRequirements
structureimage
must have been created, allocated, or retrieved fromdevice
See Also
vkBindImageMemory :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult Source #
vkBindImageMemory - Bind device memory to an image object
Parameters
device
is the logical device that owns the image and memory.
image
is the image.memory
is theVkDeviceMemory
object describing the device memory to attach.memoryOffset
is the start offset of the region ofmemory
which is to be bound to the image. The number of bytes returned in theVkMemoryRequirements
::size
member inmemory
, starting frommemoryOffset
bytes, will be bound to the specified image.
Description
vkBindImageMemory
is equivalent to passing the same parameters through
VkBindImageMemoryInfo
to
vkBindImageMemory2
.
Valid Usage
image
must not have been created with theVK_IMAGE_CREATE_DISJOINT_BIT
set.
image
must not already be backed by a memory objectimage
must not have been created with any sparse memory binding flagsmemoryOffset
must be less than the size ofmemory
memory
must have been allocated using one of the memory types allowed in thememoryTypeBits
member of theVkMemoryRequirements
structure returned from a call tovkGetImageMemoryRequirements
withimage
memoryOffset
must be an integer multiple of thealignment
member of theVkMemoryRequirements
structure returned from a call tovkGetImageMemoryRequirements
withimage
- The
size
member of theVkMemoryRequirements
structure returned from a call tovkGetImageMemoryRequirements
withimage
must be less than or equal to the size ofmemory
minusmemoryOffset
- If
image
requires a dedicated allocation (as reported byvkGetImageMemoryRequirements2
inVkMemoryDedicatedRequirements
::requiresDedicatedAllocation forimage
),memory
must have been created withVkMemoryDedicatedAllocateInfo
::image
equal toimage
- 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 to an image handle created with identical creation parameters toimage
andmemoryOffset
must be zero
Valid Usage (Implicit)
device
must be a validVkDevice
handle
image
must be a validVkImage
handlememory
must be a validVkDeviceMemory
handleimage
must have been created, allocated, or retrieved fromdevice
memory
must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
image
must be externally synchronized
Return Codes
[Success]
- VK_SUCCESS
[Failure]
- VK_ERROR_OUT_OF_HOST_MEMORY
VK_ERROR_OUT_OF_DEVICE_MEMORY
See Also
VkDevice
,
VkDeviceMemory
, VkDeviceSize
,
VkImage
data VkMemoryRequirements Source #
VkMemoryRequirements - Structure specifying memory requirements
See Also
VkDeviceSize
,
VkMemoryRequirements2
,
vkGetBufferMemoryRequirements
, vkGetImageMemoryRequirements
VkMemoryRequirements | |
|
Instances
Eq VkMemoryRequirements Source # | |
(==) :: VkMemoryRequirements -> VkMemoryRequirements -> Bool # (/=) :: VkMemoryRequirements -> VkMemoryRequirements -> Bool # | |
Show VkMemoryRequirements Source # | |
showsPrec :: Int -> VkMemoryRequirements -> ShowS # show :: VkMemoryRequirements -> String # showList :: [VkMemoryRequirements] -> ShowS # | |
Storable VkMemoryRequirements Source # | |
sizeOf :: VkMemoryRequirements -> Int # alignment :: VkMemoryRequirements -> Int # peekElemOff :: Ptr VkMemoryRequirements -> Int -> IO VkMemoryRequirements # pokeElemOff :: Ptr VkMemoryRequirements -> Int -> VkMemoryRequirements -> IO () # peekByteOff :: Ptr b -> Int -> IO VkMemoryRequirements # pokeByteOff :: Ptr b -> Int -> VkMemoryRequirements -> IO () # peek :: Ptr VkMemoryRequirements -> IO VkMemoryRequirements # poke :: Ptr VkMemoryRequirements -> VkMemoryRequirements -> IO () # |