Function Prototype

vkCmdResetEvent

Reset an event object to non-signaled state
primary / secondary
outside
both
graphics / compute / decode / encode
synchronization

To set the state of an event to unsignaled from a device, call:

void vkCmdResetEvent(
    VkCommandBuffer commandBuffer,
    VkEvent event,
    VkPipelineStageFlags stageMask);
  • commandBuffer is the command buffer into which the command is recorded.
  • event is the event that will be unsignaled.
  • stageMask is a bitmask of VkPipelineStageFlagBits specifying the source stage mask used to determine when the event is unsignaled.

vkCmdResetEvent behaves identically to vkCmdResetEvent2.

Valid Usage

VUID-vkCmdResetEvent-stageMask-04090

If the geometryShader feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT

VUID-vkCmdResetEvent-stageMask-04091

If the tessellationShader feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT

VUID-vkCmdResetEvent-stageMask-04092

If the conditionalRendering feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT

VUID-vkCmdResetEvent-stageMask-04093

If the fragmentDensityMap feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT

VUID-vkCmdResetEvent-stageMask-04094

If the transformFeedback feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT

VUID-vkCmdResetEvent-stageMask-04095

If the meshShader feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT

VUID-vkCmdResetEvent-stageMask-04096

If the taskShader feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT

VUID-vkCmdResetEvent-stageMask-07318

If neither the shadingRateImage or attachmentFragmentShadingRate are enabled, stageMaskmust not contain VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR

VUID-vkCmdResetEvent-stageMask-03937

If the synchronization2 feature is not enabled, stageMask must not be 0

VUID-vkCmdResetEvent-stageMask-07949

If neither the VK_NV_ray_tracing extension or rayTracingPipeline feature are enabled, stageMask must not contain VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR

VUID-vkCmdResetEvent-stageMask-06458

Any pipeline stage included in stageMask must be supported by the capabilities of the queue family specified by the queueFamilyIndex member of the VkCommandPoolCreateInfo structure that was used to create the VkCommandPool that commandBuffer was allocated from, as specified in the table of supported pipeline stages

VUID-vkCmdResetEvent-stageMask-01153

stageMask must not include VK_PIPELINE_STAGE_HOST_BIT

VUID-vkCmdResetEvent-event-03834

There must be an execution dependency between vkCmdResetEvent and the execution of any vkCmdWaitEvents that includes event in its pEvents parameter

VUID-vkCmdResetEvent-event-03835

There must be an execution dependency between vkCmdResetEvent and the execution of any vkCmdWaitEvents2 that includes event in its pEvents parameter

VUID-vkCmdResetEvent-commandBuffer-01157

commandBuffer’s current device mask must include exactly one physical device

Valid Usage (Implicit)

VUID-vkCmdResetEvent-event-parameter

event must be a valid VkEvent handle

VUID-vkCmdResetEvent-stageMask-parameter

stageMask must be a valid combination of VkPipelineStageFlagBits values

VUID-vkCmdResetEvent-commandBuffer-cmdpool

The VkCommandPool that commandBuffer was allocated from must support graphics, compute, decode, or encode operations

VUID-vkCmdResetEvent-renderpass

This command must only be called outside of a render pass instance

VUID-vkCmdResetEvent-commonparent

Both of commandBuffer, and event must have been created, allocated, or retrieved from the same VkDevice

Host Synchronization

  • Host access to commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized ::