vulkan-2.0.0.1: 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 # 
Instance details
Ord VkCommandPoolCreateFlagBits Source # 
Instance details
Read VkCommandPoolCreateFlagBits Source # 
Instance details
Show VkCommandPoolCreateFlagBits Source # 
Instance details
Storable VkCommandPoolCreateFlagBits Source # 
Instance details
Bits VkCommandPoolCreateFlagBits Source # 
Instance details

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 # 
Instance details

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 # 
Instance details
Ord VkCommandPoolResetFlagBits Source # 
Instance details
Read VkCommandPoolResetFlagBits Source # 
Instance details
Show VkCommandPoolResetFlagBits Source # 
Instance details
Storable VkCommandPoolResetFlagBits Source # 
Instance details
Bits VkCommandPoolResetFlagBits Source # 
Instance details

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 # 
Instance details

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.

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.

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

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