# vkQueueSignalReleaseImageOHOS(3) Manual Page

## Name

vkQueueSignalReleaseImageOHOS - Inform the system hardware buffer that the image is released for further use

Loading… please wait.

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

Command Properties

Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type
--- | --- | --- | --- | ---
- | - | - | Any | -

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

VK_OHOS_native_buffer, VkImage, VkQueue, VkSemaphore

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

SPDX-License-Identifier: CC-BY-4.0