| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Vulkan.Core10.QueueSemaphore
Synopsis
- createSemaphore :: forall a io. (Extendss SemaphoreCreateInfo a, PokeChain a, MonadIO io) => Device -> SemaphoreCreateInfo a -> ("allocator" ::: Maybe AllocationCallbacks) -> io Semaphore
- withSemaphore :: forall a io r. (Extendss SemaphoreCreateInfo a, PokeChain a, MonadIO io) => Device -> SemaphoreCreateInfo a -> Maybe AllocationCallbacks -> (io Semaphore -> (Semaphore -> io ()) -> r) -> r
- destroySemaphore :: forall io. MonadIO io => Device -> Semaphore -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
- data SemaphoreCreateInfo (es :: [Type]) = SemaphoreCreateInfo {- next :: Chain es
- flags :: SemaphoreCreateFlags
 
- newtype Semaphore = Semaphore Word64
- newtype SemaphoreCreateFlags = SemaphoreCreateFlags Flags
Documentation
Arguments
| :: forall a io. (Extendss SemaphoreCreateInfo a, PokeChain a, MonadIO io) | |
| => Device | 
 | 
| -> SemaphoreCreateInfo a | 
 | 
| -> ("allocator" ::: Maybe AllocationCallbacks) | 
 | 
| -> io Semaphore | 
vkCreateSemaphore - Create a new queue semaphore object
Valid Usage (Implicit)
- devicemust be a valid- Devicehandle
- pCreateInfomust be a valid pointer to a valid- SemaphoreCreateInfostructure
- If pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure
- pSemaphoremust be a valid pointer to a- Semaphorehandle
Return Codes
See Also
withSemaphore :: forall a io r. (Extendss SemaphoreCreateInfo a, PokeChain a, MonadIO io) => Device -> SemaphoreCreateInfo a -> Maybe AllocationCallbacks -> (io Semaphore -> (Semaphore -> io ()) -> r) -> r Source #
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 first argument.
 To just extract the pair pass (,) as the first argument.
Arguments
| :: forall io. MonadIO io | |
| => Device | 
 | 
| -> Semaphore | 
 | 
| -> ("allocator" ::: Maybe AllocationCallbacks) | 
 | 
| -> io () | 
vkDestroySemaphore - Destroy a semaphore object
Valid Usage
- All submitted batches that refer to semaphoremust have completed execution
- If AllocationCallbackswere provided whensemaphorewas created, a compatible set of callbacks must be provided here
- If no AllocationCallbackswere provided whensemaphorewas created,pAllocatormust beNULL
Valid Usage (Implicit)
- devicemust be a valid- Devicehandle
- If semaphoreis notNULL_HANDLE,semaphoremust be a validSemaphorehandle
- If pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure
- If semaphoreis a valid handle, it must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to semaphoremust be externally synchronized
See Also
data SemaphoreCreateInfo (es :: [Type]) Source #
VkSemaphoreCreateInfo - Structure specifying parameters of a newly created semaphore
Valid Usage (Implicit)
- sTypemust be- STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO
- Each pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofExportSemaphoreCreateInfo,ExportSemaphoreWin32HandleInfoKHR, orSemaphoreTypeCreateInfo
- The sTypevalue of each struct in thepNextchain must be unique
- flagsmust be- 0
See Also
Constructors
| SemaphoreCreateInfo | |
| Fields 
 | |
Instances
VkSemaphore - Opaque handle to a semaphore object
See Also
AcquireNextImageInfoKHR,
 BindSparseInfo,
 ImportSemaphoreFdInfoKHR,
 ImportSemaphoreWin32HandleInfoKHR,
 PresentInfoKHR,
 SemaphoreGetFdInfoKHR,
 SemaphoreGetWin32HandleInfoKHR,
 SemaphoreSignalInfo,
 SemaphoreWaitInfo,
 SubmitInfo,
 acquireNextImageKHR,
 createSemaphore,
 destroySemaphore,
 getSemaphoreCounterValue,
 getSemaphoreCounterValueKHR
Instances
| Eq Semaphore Source # | |
| Ord Semaphore Source # | |
| Show Semaphore Source # | |
| Storable Semaphore Source # | |
| Defined in Vulkan.Core10.Handles | |
| Zero Semaphore Source # | |
| Defined in Vulkan.Core10.Handles | |
| HasObjectType Semaphore Source # | |
| Defined in Vulkan.Core10.Handles Methods objectTypeAndHandle :: Semaphore -> (ObjectType, Word64) Source # | |
| IsHandle Semaphore Source # | |
| Defined in Vulkan.Core10.Handles | |
newtype SemaphoreCreateFlags Source #
VkSemaphoreCreateFlags - Reserved for future use
Description
SemaphoreCreateFlags is a bitmask type for setting a mask, but is
 currently reserved for future use.
See Also
Constructors
| SemaphoreCreateFlags Flags |