VK_KHR_external_semaphore_fd(3)

# VK_KHR_external_semaphore_fd(3) Manual Page

## Name

VK_KHR_external_semaphore_fd - device extension

Loading… please wait.

## Registered Extension Number

80

## Revision

1

## Ratification Status

Ratified

## Extension and Version Dependencies

VK_KHR_external_semaphore
or
Vulkan Version 1.1

## Contact

- James Jones [GitHub]cubanismo

## Other Extension Metadata

Last Modified Date

  2016-10-21

IP Status

  No known IP claims.

Contributors

  - Jesse Hall, Google

  - James Jones, NVIDIA

  - Jeff Juliano, NVIDIA

  - Carsten Rohde, NVIDIA

## Description

An application using external memory may wish to synchronize access to that memory using semaphores. This extension enables an application to export semaphore payload to and import semaphore payload from POSIX file descriptors.

## New Commands

- vkGetSemaphoreFdKHR

- vkImportSemaphoreFdKHR

## New Structures

- VkImportSemaphoreFdInfoKHR

- VkSemaphoreGetFdInfoKHR

## New Enum Constants

- `VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME`

- `VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR`

  - `VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR`

## Issues

1) Does the application need to close the file descriptor returned by vkGetSemaphoreFdKHR?

RESOLVED: Yes, unless it is passed back in to a driver instance to import the semaphore. A successful get call transfers ownership of the file descriptor to the application, and a successful import transfers it back to the driver. Destroying the original semaphore object will not close the file descriptor or remove its reference to the underlying semaphore resource associated with it.

## Version History

- Revision 1, 2016-10-21 (Jesse Hall)

  - Initial revision

## See Also

No cross-references are available

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0