vkGetSemaphoreZirconHandleFUCHSIA(3)

# vkGetSemaphoreZirconHandleFUCHSIA(3) Manual Page

## Name

vkGetSemaphoreZirconHandleFUCHSIA - Get a Zircon event handle for a semaphore

## C Specification

To export a Zircon event handle representing the payload of a semaphore, call:

    // Provided by VK_FUCHSIA_external_semaphore
    VkResult vkGetSemaphoreZirconHandleFUCHSIA(
        VkDevice                                    device,
        const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
        zx_handle_t*                                pZirconHandle);

## Parameters

- `device` is the logical device that created the semaphore being exported.

- `pGetZirconHandleInfo` is a pointer to a VkSemaphoreGetZirconHandleInfoFUCHSIA structure containing parameters of the export operation.

- `pZirconHandle` will return the Zircon event handle representing the semaphore payload.

## Description

Each call to `vkGetSemaphoreZirconHandleFUCHSIA` must create a Zircon event handle and transfer ownership of it to the application. To avoid leaking resources, the application must release ownership of the Zircon event handle when it is no longer needed.

Note | Ownership can be released in many ways. For example, the application can call zx_handle_close() on the file descriptor, or transfer ownership back to Vulkan by using the file descriptor to import a semaphore payload.

Exporting a Zircon event handle from a semaphore may have side effects depending on the transference of the specified handle type, as described in Importing Semaphore State.

Valid Usage (Implicit)

- VUID-vkGetSemaphoreZirconHandleFUCHSIA-device-parameter
  `device` must be a valid VkDevice handle

- VUID-vkGetSemaphoreZirconHandleFUCHSIA-pGetZirconHandleInfo-parameter
  `pGetZirconHandleInfo` must be a valid pointer to a valid VkSemaphoreGetZirconHandleInfoFUCHSIA structure

- VUID-vkGetSemaphoreZirconHandleFUCHSIA-pZirconHandle-parameter
  `pZirconHandle` must be a valid pointer to a `zx_handle_t` value

Return Codes

On success, this command returns

  - VK_SUCCESS

On failure, this command returns

  - VK_ERROR_OUT_OF_HOST_MEMORY

  - VK_ERROR_TOO_MANY_OBJECTS

  - VK_ERROR_UNKNOWN

  - VK_ERROR_VALIDATION_FAILED

## See Also

VK_FUCHSIA_external_semaphore, VkDevice, VkSemaphoreGetZirconHandleInfoFUCHSIA

## 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