HORIZON HASKELLDocslts/ghc-9.14.x3e2d5682026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 3e2d568 · 2026-10-11

Modulevulkan-3.27GHC2021

Vulkan.Core10.QueueSemaphore

  • 3 types
  • 3 values
  • Packagevulkan-3.27
  • Exports6
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceQueueSemaphore.hs
valuecreateSemaphore
  1. :: (Extendss SemaphoreCreateInfo a, PokeChain a, MonadIO io)
  2. => Device

    device is the logical device that creates the semaphore.

  3. -> SemaphoreCreateInfo a

    pCreateInfo is a pointer to a SemaphoreCreateInfo structure containing information about how the semaphore is to be created.

  4. -> "allocator" ::: Maybe AllocationCallbacks

    pAllocator controls host memory allocation as described in the Memory Allocation chapter.

  5. -> io Semaphore
#

vkCreateSemaphore - Create a new queue semaphore object

Valid Usage (Implicit)

  • device must be a valid Device handle

  • pCreateInfo must be a valid pointer to a valid SemaphoreCreateInfo structure

  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure

  • pSemaphore must be a valid pointer to a Semaphore handle

  • The device must have been created with at least 1 queue

Return Codes

Success
Failure

See Also

VK_VERSION_1_0, AllocationCallbacks, Device, Semaphore, SemaphoreCreateInfo

A convenience wrapper to make a compatible pair of calls to createSemaphore and destroySemaphore

To ensure that destroySemaphore is always called: pass bracket (or the allocate function from your favourite resource management library) as the last argument. To just extract the pair pass (,) as the last argument.

valuedestroySemaphore
  1. :: MonadIO io
  2. => Device

    device is the logical device that destroys the semaphore.

  3. -> Semaphore

    semaphore is the handle of the semaphore to destroy.

  4. -> "allocator" ::: Maybe AllocationCallbacks

    pAllocator controls host memory allocation as described in the Memory Allocation chapter.

  5. -> io ()
#

vkDestroySemaphore - Destroy a semaphore object

Valid Usage

  • All submitted batches that refer to semaphore must have completed execution

  • If AllocationCallbacks were provided when semaphore was created, a compatible set of callbacks must be provided here

  • If no AllocationCallbacks were provided when semaphore was created, pAllocator must be NULL

Valid Usage (Implicit)

  • device must be a valid Device handle

  • If semaphore is not NULL_HANDLE, semaphore must be a valid Semaphore handle

  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid AllocationCallbacks structure

  • If semaphore is a valid handle, it must have been created, allocated, or retrieved from device

Host Synchronization

  • Host access to semaphore must be externally synchronized

See Also

VK_VERSION_1_0, AllocationCallbacks, Device, Semaphore

datadata SemaphoreCreateInfo (es :: [Type])
#

VkSemaphoreCreateInfo - Structure specifying parameters of a newly created semaphore

Valid Usage

Valid Usage (Implicit)

See Also

VK_VERSION_1_0, SemaphoreCreateFlags, StructureType, createSemaphore

Constructors

Instances5Extensible, Show, FromCStruct, ToCStruct, Zero
newtypenewtype Semaphore
#
Instances7Eq, Ord, Show, Storable, HasObjectType, IsHandle, …
newtypenewtype SemaphoreCreateFlags
#

VkSemaphoreCreateFlags - Reserved for future use

Description

SemaphoreCreateFlags is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

VK_VERSION_1_0, Flags, SemaphoreCreateInfo

Instances8Eq, Ord, Read, Show, Bits, FiniteBits, …