C Specification

To obtain the ownership of a swapchain image, call:

// Provided by VK_OHOS_native_buffer
VkResult vkQueueSignalReleaseImageOHOS(
    VkQueue                                     queue,
    uint32_t                                    waitSemaphoreCount,
    const VkSemaphore*                          pWaitSemaphores,
    VkImage                                     image,
    int32_t*                                    pNativeFenceFd);

Parameters

  • queue is a handle of VkQueue.

  • waitSemaphoreCount is the number of semaphores to wait on.

  • pWaitSemaphores is a pointer to an array of VkSemaphore handles upon which to wait before signaling the native fence.

  • images is a handle of the VkImage to be released.

  • pNativeFenceFd is a pointer to either a negative value or the file descriptor of a native fence. A negative value indicates that the processing workflow has been completed, and the calling party is not required to perform additional waiting before subsequent processes. Otherwise, a native fence will be created and be signaled when the image is ready for release.

Description

Valid Usage (Implicit)
  • VUID-vkQueueSignalReleaseImageOHOS-queue-parameter
    queue must be a valid VkQueue handle

  • VUID-vkQueueSignalReleaseImageOHOS-pWaitSemaphores-parameter
    pWaitSemaphores must be a valid pointer to an array of waitSemaphoreCount valid VkSemaphore handles

  • VUID-vkQueueSignalReleaseImageOHOS-image-parameter
    image must be a valid VkImage handle

  • VUID-vkQueueSignalReleaseImageOHOS-pNativeFenceFd-parameter
    pNativeFenceFd must be a valid pointer to an int32_t value

  • VUID-vkQueueSignalReleaseImageOHOS-waitSemaphoreCount-arraylength
    waitSemaphoreCount must be greater than 0

  • VUID-vkQueueSignalReleaseImageOHOS-commonparent
    Each of image, queue, and the elements of pWaitSemaphores must have been created, allocated, or retrieved from the same VkDevice

Return Codes
On success, this command returns
  • VK_SUCCESS

On failure, this command returns
  • VK_ERROR_INITIALIZATION_FAILED

  • VK_ERROR_UNKNOWN

  • VK_ERROR_VALIDATION_FAILED

See Also

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 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0