vulkan-2.0.0.0: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Core10.CommandPool

Synopsis

Documentation

newtype VkCommandPoolCreateFlagBits Source #

VkCommandPoolCreateFlagBits - Bitmask specifying usage behavior for a command pool

See Also

VkCommandPoolCreateFlags

Instances

Eq VkCommandPoolCreateFlagBits Source # 
Ord VkCommandPoolCreateFlagBits Source # 
Read VkCommandPoolCreateFlagBits Source # 
Show VkCommandPoolCreateFlagBits Source # 
Storable VkCommandPoolCreateFlagBits Source # 
Bits VkCommandPoolCreateFlagBits Source # 

Methods

(.&.) :: VkCommandPoolCreateFlagBits -> VkCommandPoolCreateFlagBits -> VkCommandPoolCreateFlagBits #

(.|.) :: VkCommandPoolCreateFlagBits -> VkCommandPoolCreateFlagBits -> VkCommandPoolCreateFlagBits #

xor :: VkCommandPoolCreateFlagBits -> VkCommandPoolCreateFlagBits -> VkCommandPoolCreateFlagBits #

complement :: VkCommandPoolCreateFlagBits -> VkCommandPoolCreateFlagBits #

shift :: VkCommandPoolCreateFlagBits -> Int -> VkCommandPoolCreateFlagBits #

rotate :: VkCommandPoolCreateFlagBits -> Int -> VkCommandPoolCreateFlagBits #

zeroBits :: VkCommandPoolCreateFlagBits #

bit :: Int -> VkCommandPoolCreateFlagBits #

setBit :: VkCommandPoolCreateFlagBits -> Int -> VkCommandPoolCreateFlagBits #

clearBit :: VkCommandPoolCreateFlagBits -> Int -> VkCommandPoolCreateFlagBits #

complementBit :: VkCommandPoolCreateFlagBits -> Int -> VkCommandPoolCreateFlagBits #

testBit :: VkCommandPoolCreateFlagBits -> Int -> Bool #

bitSizeMaybe :: VkCommandPoolCreateFlagBits -> Maybe Int #

bitSize :: VkCommandPoolCreateFlagBits -> Int #

isSigned :: VkCommandPoolCreateFlagBits -> Bool #

shiftL :: VkCommandPoolCreateFlagBits -> Int -> VkCommandPoolCreateFlagBits #

unsafeShiftL :: VkCommandPoolCreateFlagBits -> Int -> VkCommandPoolCreateFlagBits #

shiftR :: VkCommandPoolCreateFlagBits -> Int -> VkCommandPoolCreateFlagBits #

unsafeShiftR :: VkCommandPoolCreateFlagBits -> Int -> VkCommandPoolCreateFlagBits #

rotateL :: VkCommandPoolCreateFlagBits -> Int -> VkCommandPoolCreateFlagBits #

rotateR :: VkCommandPoolCreateFlagBits -> Int -> VkCommandPoolCreateFlagBits #

popCount :: VkCommandPoolCreateFlagBits -> Int #

FiniteBits VkCommandPoolCreateFlagBits Source # 

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

VkCommandPoolResetFlags

Instances

Eq VkCommandPoolResetFlagBits Source # 
Ord VkCommandPoolResetFlagBits Source # 
Read VkCommandPoolResetFlagBits Source # 
Show VkCommandPoolResetFlagBits Source # 
Storable VkCommandPoolResetFlagBits Source # 
Bits VkCommandPoolResetFlagBits Source # 

Methods

(.&.) :: VkCommandPoolResetFlagBits -> VkCommandPoolResetFlagBits -> VkCommandPoolResetFlagBits #

(.|.) :: VkCommandPoolResetFlagBits -> VkCommandPoolResetFlagBits -> VkCommandPoolResetFlagBits #

xor :: VkCommandPoolResetFlagBits -> VkCommandPoolResetFlagBits -> VkCommandPoolResetFlagBits #

complement :: VkCommandPoolResetFlagBits -> VkCommandPoolResetFlagBits #

shift :: VkCommandPoolResetFlagBits -> Int -> VkCommandPoolResetFlagBits #

rotate :: VkCommandPoolResetFlagBits -> Int -> VkCommandPoolResetFlagBits #

zeroBits :: VkCommandPoolResetFlagBits #

bit :: Int -> VkCommandPoolResetFlagBits #

setBit :: VkCommandPoolResetFlagBits -> Int -> VkCommandPoolResetFlagBits #

clearBit :: VkCommandPoolResetFlagBits -> Int -> VkCommandPoolResetFlagBits #

complementBit :: VkCommandPoolResetFlagBits -> Int -> VkCommandPoolResetFlagBits #

testBit :: VkCommandPoolResetFlagBits -> Int -> Bool #

bitSizeMaybe :: VkCommandPoolResetFlagBits -> Maybe Int #

bitSize :: VkCommandPoolResetFlagBits -> Int #

isSigned :: VkCommandPoolResetFlagBits -> Bool #

shiftL :: VkCommandPoolResetFlagBits -> Int -> VkCommandPoolResetFlagBits #

unsafeShiftL :: VkCommandPoolResetFlagBits -> Int -> VkCommandPoolResetFlagBits #

shiftR :: VkCommandPoolResetFlagBits -> Int -> VkCommandPoolResetFlagBits #

unsafeShiftR :: VkCommandPoolResetFlagBits -> Int -> VkCommandPoolResetFlagBits #

rotateL :: VkCommandPoolResetFlagBits -> Int -> VkCommandPoolResetFlagBits #

rotateR :: VkCommandPoolResetFlagBits -> Int -> VkCommandPoolResetFlagBits #

popCount :: VkCommandPoolResetFlagBits -> Int #

FiniteBits VkCommandPoolResetFlagBits Source # 

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 #

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 a VkCommandPool handle in which the created pool is returned.

Description

Valid Usage (Implicit)

  • device must be a valid VkDevice handle
  • pCreateInfo must be a valid pointer to a valid VkCommandPoolCreateInfo structure
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
  • pCommandPool must be a valid pointer to a VkCommandPool 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 from commandPool must not be in the pending state.
  • If VkAllocationCallbacks were provided when commandPool was created, a compatible set of callbacks must be provided here
  • If no VkAllocationCallbacks were provided when commandPool was created, pAllocator must be NULL

Valid Usage (Implicit)

  • device must be a valid VkDevice handle
  • If commandPool is not VK_NULL_HANDLE, commandPool must be a valid VkCommandPool handle
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
  • If commandPool is a valid handle, it must have been created, allocated, or retrieved from device

Host Synchronization

  • Host access to commandPool must be externally synchronized

See Also

VkAllocationCallbacks, VkCommandPool, VkDevice

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.

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 from commandPool must not be in the pending state

Valid Usage (Implicit)

  • device must be a valid VkDevice handle
  • commandPool must be a valid VkCommandPool handle
  • flags must be a valid combination of VkCommandPoolResetFlagBits values
  • commandPool must have been created, allocated, or retrieved from device

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

VkCommandPool, VkCommandPoolResetFlags, VkDevice

data VkCommandPoolCreateInfo Source #

VkCommandPoolCreateInfo - Structure specifying parameters of a newly created command pool

Description

Valid Usage

  • queueFamilyIndex must be the index of a queue family available in the calling command’s device parameter

Valid Usage (Implicit)

  • sType must be VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO

See Also

VkCommandPoolCreateFlags, VkStructureType, vkCreateCommandPool

Constructors

VkCommandPoolCreateInfo 

Fields

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

VkCommandPoolCreateFlagBits, VkCommandPoolCreateInfo

type VkCommandPoolResetFlags = VkCommandPoolResetFlagBits Source #

VkCommandPoolResetFlags - Bitmask of VkCommandPoolResetFlagBits

Description

VkCommandPoolResetFlags is a bitmask type for setting a mask of zero or more VkCommandPoolResetFlagBits.

See Also

VkCommandPoolResetFlagBits, vkResetCommandPool