// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry .Valid Usage (Implicit) **** * [[VUID-vkCmdPushConstants-commandBuffer-parameter]] pname:commandBuffer must: be a valid sname:VkCommandBuffer handle * [[VUID-vkCmdPushConstants-layout-parameter]] pname:layout must: be a valid sname:VkPipelineLayout handle * [[VUID-vkCmdPushConstants-stageFlags-parameter]] pname:stageFlags must: be a valid combination of elink:VkShaderStageFlagBits values * [[VUID-vkCmdPushConstants-stageFlags-requiredbitmask]] pname:stageFlags must: not be `0` * [[VUID-vkCmdPushConstants-pValues-parameter]] pname:pValues must: be a valid pointer to an array of pname:size bytes * [[VUID-vkCmdPushConstants-commandBuffer-recording]] pname:commandBuffer must: be in the <> * [[VUID-vkCmdPushConstants-commandBuffer-cmdpool]] The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations * [[VUID-vkCmdPushConstants-size-arraylength]] pname:size must: be greater than `0` * [[VUID-vkCmdPushConstants-commonparent]] Both of pname:commandBuffer, and pname:layout 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%"] |==== |<>|<>|<>|<> |Primary + Secondary|Both|Graphics + Compute| |==== ****