---
title: VkSemaphore interface
---
classDiagram
VkSemaphore ()-- vk_semaphore
vk_object_base <|-- vk_semaphore
vk_semaphore <|.. vk_sync
vk_sync -- vk_sync_type
link vk_semaphore "https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/vulkan/runtime/vk_semaphore.h" "vk_semaphore"
link vk_sync "https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/vulkan/runtime/vk_sync.h" "vk_sync"
link vk_sync_type "https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/vulkan/runtime/vk_sync.h" "vk_sync_type"
class vk_object_base{
VK_LOADER_DATA _loader_data
VkObjectType type
bool client_visible
vk_device *device
vk_instance *instance
util_sparse_array private_data
char *object_name
}
class vk_semaphore{
VkSemaphoreType type
vk_sync *temporary
vk_sync permanent
}
class vk_sync{
vk_sync_type *type
vk_sync_flags flags
}
class vk_sync_type{
size_t size
vk_sync_features features
init() VkResult
finish() void
signal() VkResult
get_value() VkResult
reset() VkResult
move() VkResult
wait() VkResult
wait_many() VkResult
import_opaque_fd() VkResult
export_opaque_fd() VkResult
import_sync_file() VkResult
export_sync_file() VkResult
import_win32_handle() VkResult
export_win32_handle() VkResult
set_win32_export_params() VkResult
}
<<interface>> vk_sync_type