The application must ensure that command buffer submissions will be able to
complete without any subsequent operations by the application on any queue.
After any call to vkQueueSubmit
, for every queued wait on a semaphore
there must be a prior signal of that semaphore that will not be consumed by
a different wait on the semaphore.
Command buffers in the submission can include vkCmdWaitEvents
commands that wait on events that will not be signaled by earlier commands
in the queue.
Such events must be signaled by the application using vkSetEvent
, and
the vkCmdWaitEvents
commands that wait upon them must not be inside a
render pass instance.
Implementations may have limits on how long the command buffer will wait,
in order to avoid interfering with progress of other clients of the device.
If the event is not signaled within these limits, results are undefined and
may include device loss.