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.