1// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry 2.Valid Usage (Implicit) 3**** 4* [[VUID-vkCmdWaitEvents-commandBuffer-parameter]] pname:commandBuffer must: be a valid sname:VkCommandBuffer handle 5* [[VUID-vkCmdWaitEvents-pEvents-parameter]] pname:pEvents must: be a valid pointer to an array of pname:eventCount valid sname:VkEvent handles 6* [[VUID-vkCmdWaitEvents-srcStageMask-parameter]] pname:srcStageMask must: be a valid combination of elink:VkPipelineStageFlagBits values 7* [[VUID-vkCmdWaitEvents-srcStageMask-requiredbitmask]] pname:srcStageMask must: not be `0` 8* [[VUID-vkCmdWaitEvents-dstStageMask-parameter]] pname:dstStageMask must: be a valid combination of elink:VkPipelineStageFlagBits values 9* [[VUID-vkCmdWaitEvents-dstStageMask-requiredbitmask]] pname:dstStageMask must: not be `0` 10* [[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 11* [[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 12* [[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 13* [[VUID-vkCmdWaitEvents-commandBuffer-recording]] pname:commandBuffer must: be in the <<commandbuffers-lifecycle, recording state>> 14* [[VUID-vkCmdWaitEvents-commandBuffer-cmdpool]] The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations 15* [[VUID-vkCmdWaitEvents-eventCount-arraylength]] pname:eventCount must: be greater than `0` 16* [[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 17**** 18 19.Host Synchronization 20**** 21* Host access to pname:commandBuffer must: be externally synchronized 22* Host access to the sname:VkCommandPool that pname:commandBuffer was allocated from must: be externally synchronized 23**** 24 25.Command Properties 26**** 27[options="header", width="100%"] 28|==== 29|<<VkCommandBufferLevel,Command Buffer Levels>>|<<vkCmdBeginRenderPass,Render Pass Scope>>|<<VkQueueFlagBits,Supported Queue Types>>|<<synchronization-pipeline-stages-types,Pipeline Type>> 30|Primary + 31Secondary|Both|Graphics + 32Compute| 33|==== 34**** 35 36