Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- createEvent :: forall io. MonadIO io => Device -> EventCreateInfo -> ("allocator" ::: Maybe AllocationCallbacks) -> io Event
- withEvent :: forall io r. MonadIO io => (io Event -> (Event -> io ()) -> r) -> Device -> EventCreateInfo -> Maybe AllocationCallbacks -> r
- destroyEvent :: forall io. MonadIO io => Device -> Event -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
- getEventStatus :: forall io. MonadIO io => Device -> Event -> io Result
- setEvent :: forall io. MonadIO io => Device -> Event -> io ()
- resetEvent :: forall io. MonadIO io => Device -> Event -> io ()
- data EventCreateInfo = EventCreateInfo {}
Documentation
createEvent :: forall io. MonadIO io => Device -> EventCreateInfo -> ("allocator" ::: Maybe AllocationCallbacks) -> io Event Source #
vkCreateEvent - Create a new event object
Parameters
device
is the logical device that creates the event.
pCreateInfo
is a pointer to aEventCreateInfo
structure containing information about how the event is to be created.pAllocator
controls host memory allocation as described in the Memory Allocation chapter.pEvent
is a pointer to a handle in which the resulting event object is returned.
Description
When created, the event object is in the unsignaled state.
Valid Usage (Implicit)
device
must be a validDevice
handle
pCreateInfo
must be a valid pointer to a validEventCreateInfo
structure- If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validAllocationCallbacks
structure pEvent
must be a valid pointer to aEvent
handle
Return Codes
See Also
withEvent :: forall io r. MonadIO io => (io Event -> (Event -> io ()) -> r) -> Device -> EventCreateInfo -> Maybe AllocationCallbacks -> r Source #
A convenience wrapper to make a compatible pair of calls to
createEvent
and destroyEvent
To ensure that destroyEvent
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.
destroyEvent :: forall io. MonadIO io => Device -> Event -> ("allocator" ::: Maybe AllocationCallbacks) -> io () Source #
vkDestroyEvent - Destroy an event object
Parameters
device
is the logical device that destroys the event.
event
is the handle of the event to destroy.pAllocator
controls host memory allocation as described in the Memory Allocation chapter.
Valid Usage
- All submitted commands that refer to
event
must have completed execution
- If
AllocationCallbacks
were provided whenevent
was created, a compatible set of callbacks must be provided here - If no
AllocationCallbacks
were provided whenevent
was created,pAllocator
must beNULL
Valid Usage (Implicit)
device
must be a validDevice
handle
- If
event
is notNULL_HANDLE
,event
must be a validEvent
handle - If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validAllocationCallbacks
structure - If
event
is a valid handle, it must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
event
must be externally synchronized
See Also
getEventStatus :: forall io. MonadIO io => Device -> Event -> io Result Source #
vkGetEventStatus - Retrieve the status of an event object
Parameters
device
is the logical device that owns the event.
event
is the handle of the event to query.
Description
Upon success, getEventStatus
returns the state of the event object
with the following return codes:
Status | Meaning |
---|---|
EVENT_SET
| The event specified by event is
signaled. |
EVENT_RESET
| The event specified by event is
unsignaled. |
Event Object Status Codes
If a cmdSetEvent
or
cmdResetEvent
command is
in a command buffer that is in the
pending state,
then the value returned by this command may immediately be out of
date.
The state of an event can be updated by the host. The state of the
event is immediately changed, and subsequent calls to getEventStatus
will return the new state. If an event is already in the requested
state, then updating it to the same state has no effect.
Return Codes
See Also
setEvent :: forall io. MonadIO io => Device -> Event -> io () Source #
vkSetEvent - Set an event to signaled state
Parameters
device
is the logical device that owns the event.
event
is the event to set.
Description
When setEvent
is executed on the host, it defines an /event signal
operation/ which sets the event to the signaled state.
If event
is already in the signaled state when setEvent
is executed,
then setEvent
has no effect, and no event signal operation occurs.
Valid Usage (Implicit)
device
must be a validDevice
handle
event
must be a validEvent
handleevent
must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
event
must be externally synchronized
Return Codes
See Also
resetEvent :: forall io. MonadIO io => Device -> Event -> io () Source #
vkResetEvent - Reset an event to non-signaled state
Parameters
device
is the logical device that owns the event.
event
is the event to reset.
Description
When resetEvent
is executed on the host, it defines an /event unsignal
operation/ which resets the event to the unsignaled state.
If event
is already in the unsignaled state when resetEvent
is
executed, then resetEvent
has no effect, and no event unsignal
operation occurs.
Valid Usage
event
must not be waited on by acmdWaitEvents
command that is currently executing
Valid Usage (Implicit)
device
must be a validDevice
handle
event
must be a validEvent
handleevent
must have been created, allocated, or retrieved fromdevice
Host Synchronization
- Host access to
event
must be externally synchronized
Return Codes
See Also
data EventCreateInfo Source #
VkEventCreateInfo - Structure specifying parameters of a newly created event
Valid Usage (Implicit)
See Also
EventCreateInfo | |
|