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