Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype VkCommandPoolCreateFlagBits = VkCommandPoolCreateFlagBits VkFlags
- pattern VK_COMMAND_POOL_CREATE_TRANSIENT_BIT :: VkCommandPoolCreateFlagBits
- pattern VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT :: VkCommandPoolCreateFlagBits
- newtype VkCommandPoolResetFlagBits = VkCommandPoolResetFlagBits VkFlags
- pattern VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT :: VkCommandPoolResetFlagBits
- type VkCommandPool = Ptr VkCommandPool_T
- vkCreateCommandPool :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkCommandPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCommandPool" ::: Ptr VkCommandPool) -> IO VkResult
- vkDestroyCommandPool :: ("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()
- vkResetCommandPool :: ("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolResetFlags) -> IO VkResult
- data VkCommandPoolCreateInfo = VkCommandPoolCreateInfo {}
- type VkCommandPoolCreateFlags = VkCommandPoolCreateFlagBits
- type VkCommandPoolResetFlags = VkCommandPoolResetFlagBits
Documentation
newtype VkCommandPoolCreateFlagBits Source #
VkCommandPoolCreateFlagBits - Bitmask specifying usage behavior for a command pool
See Also
Instances
pattern VK_COMMAND_POOL_CREATE_TRANSIENT_BIT :: VkCommandPoolCreateFlagBits Source #
VK_COMMAND_POOL_CREATE_TRANSIENT_BIT
specifies that command buffers
allocated from the pool will be short-lived, meaning that they will be
reset or freed in a relatively short timeframe. This flag may be used
by the implementation to control memory allocation behavior within the
pool.
pattern VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT :: VkCommandPoolCreateFlagBits Source #
VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT
allows any command
buffer allocated from a pool to be individually reset to the initial
state;
either by calling
vkResetCommandBuffer
, or via the
implicit reset when calling
vkBeginCommandBuffer
. If this
flag is not set on a pool, then vkResetCommandBuffer
must not be
called for any command buffer allocated from that pool.
newtype VkCommandPoolResetFlagBits Source #
VkCommandPoolResetFlagBits - Bitmask controlling behavior of a command pool reset
See Also
Instances
pattern VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT :: VkCommandPoolResetFlagBits Source #
VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT
specifies that resetting a
command pool recycles all of the resources from the command pool back to
the system.
type VkCommandPool = Ptr VkCommandPool_T Source #
VkCommandPool - Opaque handle to a command pool object
See Also
VkCommandBufferAllocateInfo
,
vkCreateCommandPool
, vkDestroyCommandPool
,
vkFreeCommandBuffers
,
vkResetCommandPool
,
vkTrimCommandPool
,
vkTrimCommandPoolKHR
vkCreateCommandPool :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkCommandPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCommandPool" ::: Ptr VkCommandPool) -> IO VkResult Source #
vkCreateCommandPool - Create a new command pool object
Parameters
device
is the logical device that creates the command pool.
pCreateInfo
contains information used to create the command pool.pAllocator
controls host memory allocation as described in the Memory Allocation chapter.pCommandPool
points to aVkCommandPool
handle in which the created pool is returned.
Valid Usage (Implicit)
device
must be a validVkDevice
handle
pCreateInfo
must be a valid pointer to a validVkCommandPoolCreateInfo
structure- If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validVkAllocationCallbacks
structure pCommandPool
must be a valid pointer to aVkCommandPool
handle
Return Codes
[Success]
- VK_SUCCESS
[Failure]
- VK_ERROR_OUT_OF_HOST_MEMORY
VK_ERROR_OUT_OF_DEVICE_MEMORY
See Also
VkAllocationCallbacks
,
VkCommandPool
, VkCommandPoolCreateInfo
,
VkDevice
vkDestroyCommandPool :: ("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () Source #
vkDestroyCommandPool - Destroy a command pool object
Parameters
device
is the logical device that destroys the command pool.
commandPool
is the handle of the command pool to destroy.pAllocator
controls host memory allocation as described in the Memory Allocation chapter.
Description
When a pool is destroyed, all command buffers allocated from the pool are freed.
Any primary command buffer allocated from another VkCommandPool
that
is in the recording or executable
state
and has a secondary command buffer allocated from commandPool
recorded
into it, becomes
invalid.
Valid Usage
- All
VkCommandBuffer
objects allocated fromcommandPool
must not be in the pending state.
- If
VkAllocationCallbacks
were provided whencommandPool
was created, a compatible set of callbacks must be provided here - If no
VkAllocationCallbacks
were provided whencommandPool
was created,pAllocator
must beNULL
Valid Usage (Implicit)
device
must be a validVkDevice
handle
- If
commandPool
is notVK_NULL_HANDLE
,commandPool
must be a validVkCommandPool
handle - If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validVkAllocationCallbacks
structure - If
commandPool
is a valid handle, it must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
commandPool
must be externally synchronized
See Also
vkResetCommandPool :: ("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolResetFlags) -> IO VkResult Source #
vkResetCommandPool - Reset a command pool
Parameters
device
is the logical device that owns the command pool.
commandPool
is the command pool to reset.flags
is a bitmask ofVkCommandPoolResetFlagBits
controlling the reset operation.
Description
Resetting a command pool recycles all of the resources from all of the command buffers allocated from the command pool back to the command pool. All command buffers that have been allocated from the command pool are put in the initial state.
Any primary command buffer allocated from another VkCommandPool
that
is in the recording or executable
state
and has a secondary command buffer allocated from commandPool
recorded
into it, becomes
invalid.
Valid Usage
- All
VkCommandBuffer
objects allocated fromcommandPool
must not be in the pending state
Valid Usage (Implicit)
device
must be a validVkDevice
handle
commandPool
must be a validVkCommandPool
handleflags
must be a valid combination ofVkCommandPoolResetFlagBits
valuescommandPool
must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
commandPool
must be externally synchronized
Return Codes
[Success]
- VK_SUCCESS
[Failure]
- VK_ERROR_OUT_OF_HOST_MEMORY
VK_ERROR_OUT_OF_DEVICE_MEMORY
See Also
data VkCommandPoolCreateInfo Source #
VkCommandPoolCreateInfo - Structure specifying parameters of a newly created command pool
Valid Usage
queueFamilyIndex
must be the index of a queue family available in the calling command’sdevice
parameter
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO
pNext
must beNULL
flags
must be a valid combination ofVkCommandPoolCreateFlagBits
values
See Also
VkCommandPoolCreateFlags
,
VkStructureType
, vkCreateCommandPool
VkCommandPoolCreateInfo | |
|
Instances
Eq VkCommandPoolCreateInfo Source # | |
Show VkCommandPoolCreateInfo Source # | |
showsPrec :: Int -> VkCommandPoolCreateInfo -> ShowS # show :: VkCommandPoolCreateInfo -> String # showList :: [VkCommandPoolCreateInfo] -> ShowS # | |
Storable VkCommandPoolCreateInfo Source # | |
sizeOf :: VkCommandPoolCreateInfo -> Int # alignment :: VkCommandPoolCreateInfo -> Int # peekElemOff :: Ptr VkCommandPoolCreateInfo -> Int -> IO VkCommandPoolCreateInfo # pokeElemOff :: Ptr VkCommandPoolCreateInfo -> Int -> VkCommandPoolCreateInfo -> IO () # peekByteOff :: Ptr b -> Int -> IO VkCommandPoolCreateInfo # pokeByteOff :: Ptr b -> Int -> VkCommandPoolCreateInfo -> IO () # peek :: Ptr VkCommandPoolCreateInfo -> IO VkCommandPoolCreateInfo # poke :: Ptr VkCommandPoolCreateInfo -> VkCommandPoolCreateInfo -> IO () # |
type VkCommandPoolCreateFlags = VkCommandPoolCreateFlagBits Source #
VkCommandPoolCreateFlags - Bitmask of VkCommandPoolCreateFlagBits
Description
VkCommandPoolCreateFlags
is a bitmask type for setting a mask of zero
or more VkCommandPoolCreateFlagBits
.
See Also
type VkCommandPoolResetFlags = VkCommandPoolResetFlagBits Source #
VkCommandPoolResetFlags - Bitmask of VkCommandPoolResetFlagBits
Description
VkCommandPoolResetFlags
is a bitmask type for setting a mask of zero
or more VkCommandPoolResetFlagBits
.