VkEvent(3)

# VkEvent(3) Manual Page

## Name

VkEvent - Opaque handle to an event object

## C Specification

Events are a synchronization primitive that can be used to insert a fine-grained dependency between commands submitted to the same queue, or between the host and a queue. Events must not be used to insert a dependency between commands submitted to different queues. Events have two states - signaled and unsignaled. An application can signal or unsignal an event either on the host or on the device. A device can be made to wait for an event to become signaled before executing further operations. No command exists to wait for an event to become signaled on the host, but the current state of an event can be queried.

Events are represented by `VkEvent` handles:

    // Provided by VK_VERSION_1_0
    VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)

## See Also

VK_DEFINE_NON_DISPATCHABLE_HANDLE, VK_VERSION_1_0, VkExportMetalSharedEventInfoEXT, vkCmdResetEvent, vkCmdResetEvent2, vkCmdResetEvent2, vkCmdSetEvent, vkCmdSetEvent2, vkCmdSetEvent2, vkCmdWaitEvents, vkCmdWaitEvents2, vkCmdWaitEvents2, vkCreateEvent, vkDestroyEvent, vkGetEventStatus, vkResetEvent, vkSetEvent

## Document Notes

For more information, see the Vulkan Specification.

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

## Copyright

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0