| // WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry |
| .Valid Usage (Implicit) |
| **** |
| * [[VUID-vkCmdWaitEvents-commandBuffer-parameter]] pname:commandBuffer must: be a valid sname:VkCommandBuffer handle |
| * [[VUID-vkCmdWaitEvents-pEvents-parameter]] pname:pEvents must: be a valid pointer to an array of pname:eventCount valid sname:VkEvent handles |
| * [[VUID-vkCmdWaitEvents-srcStageMask-parameter]] pname:srcStageMask must: be a valid combination of elink:VkPipelineStageFlagBits values |
| * [[VUID-vkCmdWaitEvents-srcStageMask-requiredbitmask]] pname:srcStageMask must: not be `0` |
| * [[VUID-vkCmdWaitEvents-dstStageMask-parameter]] pname:dstStageMask must: be a valid combination of elink:VkPipelineStageFlagBits values |
| * [[VUID-vkCmdWaitEvents-dstStageMask-requiredbitmask]] pname:dstStageMask must: not be `0` |
| * [[VUID-vkCmdWaitEvents-pMemoryBarriers-parameter]] If pname:memoryBarrierCount is not `0`, pname:pMemoryBarriers must: be a valid pointer to an array of pname:memoryBarrierCount valid sname:VkMemoryBarrier structures |
| * [[VUID-vkCmdWaitEvents-pBufferMemoryBarriers-parameter]] If pname:bufferMemoryBarrierCount is not `0`, pname:pBufferMemoryBarriers must: be a valid pointer to an array of pname:bufferMemoryBarrierCount valid sname:VkBufferMemoryBarrier structures |
| * [[VUID-vkCmdWaitEvents-pImageMemoryBarriers-parameter]] If pname:imageMemoryBarrierCount is not `0`, pname:pImageMemoryBarriers must: be a valid pointer to an array of pname:imageMemoryBarrierCount valid sname:VkImageMemoryBarrier structures |
| * [[VUID-vkCmdWaitEvents-commandBuffer-recording]] pname:commandBuffer must: be in the <<commandbuffers-lifecycle, recording state>> |
| * [[VUID-vkCmdWaitEvents-commandBuffer-cmdpool]] The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations |
| * [[VUID-vkCmdWaitEvents-eventCount-arraylength]] pname:eventCount must: be greater than `0` |
| * [[VUID-vkCmdWaitEvents-commonparent]] Both of pname:commandBuffer, and the elements of pname:pEvents must: have been created, allocated, or retrieved from the same sname:VkDevice |
| **** |
| |
| .Host Synchronization |
| **** |
| * Host access to pname:commandBuffer must: be externally synchronized |
| * Host access to the sname:VkCommandPool that pname:commandBuffer was allocated from must: be externally synchronized |
| **** |
| |
| .Command Properties |
| **** |
| [options="header", width="100%"] |
| |==== |
| |<<VkCommandBufferLevel,Command Buffer Levels>>|<<vkCmdBeginRenderPass,Render Pass Scope>>|<<VkQueueFlagBits,Supported Queue Types>>|<<synchronization-pipeline-stages-types,Pipeline Type>> |
| |Primary + |
| Secondary|Both|Graphics + |
| Compute| |
| |==== |
| **** |
| |