| // 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 <<commandbuffers-lifecycle, recording state>> |
| * [[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%"] |
| |==== |
| |<<VkCommandBufferLevel,Command Buffer Levels>>|<<vkCmdBeginRenderPass,Render Pass Scope>>|<<VkQueueFlagBits,Supported Queue Types>>|<<synchronization-pipeline-stages-types,Pipeline Type>> |
| |Primary + |
| Secondary|Both|Graphics + |
| Compute| |
| |==== |
| **** |
| |