// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry
.Valid Usage (Implicit)
****
* [[VUID-vkCmdResetEvent-commandBuffer-parameter]] pname:commandBuffer must: be a valid sname:VkCommandBuffer handle
* [[VUID-vkCmdResetEvent-event-parameter]] pname:event must: be a valid sname:VkEvent handle
* [[VUID-vkCmdResetEvent-stageMask-parameter]] pname:stageMask must: be a valid combination of elink:VkPipelineStageFlagBits values
* [[VUID-vkCmdResetEvent-stageMask-requiredbitmask]] pname:stageMask must: not be `0`
* [[VUID-vkCmdResetEvent-commandBuffer-recording]] pname:commandBuffer must: be in the <<commandbuffers-lifecycle, recording state>>
* [[VUID-vkCmdResetEvent-commandBuffer-cmdpool]] The sname:VkCommandPool that pname:commandBuffer was allocated from must: support graphics, or compute operations
* [[VUID-vkCmdResetEvent-renderpass]] This command must: only be called outside of a render pass instance
* [[VUID-vkCmdResetEvent-commonparent]] Both of pname:commandBuffer, and pname:event 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|Outside|Graphics + 
Compute|
|====
****

