vkAcquireWinrtDisplayNV(3)

# vkAcquireWinrtDisplayNV(3) Manual Page

## Name

vkAcquireWinrtDisplayNV - Acquire access to a VkDisplayKHR

Loading… please wait.

## C Specification

To acquire permission to directly access a display in Vulkan on Windows 10, call:

    // Provided by VK_NV_acquire_winrt_display
    VkResult vkAcquireWinrtDisplayNV(
        VkPhysicalDevice                            physicalDevice,
        VkDisplayKHR                                display);

## Parameters

- `physicalDevice` The physical device the display is on.

- `display` The display the caller wishes to control in Vulkan.

## Description

All permissions necessary to control the display are granted to the Vulkan instance associated with `physicalDevice` until the display is released or the application is terminated. Permission to access the display may be revoked by events that cause Windows 10 itself to lose access to `display`. If this has happened, operations which require access to the display must fail with an appropriate error code. If permission to access `display` has already been acquired by another entity, the call must return the error code `VK_ERROR_INITIALIZATION_FAILED`.

| Note The Vulkan instance acquires control of a “winrt::Windows::Devices::Display::Core::DisplayTarget” by performing an operation equivalent to “winrt::Windows::Devices::Display::Core::DisplayManager.TryAcquireTarget()” on the “DisplayTarget”.

| Note One example of when Windows 10 loses access to a display is when the display is hot-unplugged.

| Note One example of when a display has already been acquired by another entity is when the Windows desktop compositor (DWM) is in control of the display. Beginning with Windows 10 version 2004 it is possible to cause DWM to release a display by using the “Advanced display settings” sub-page of the “Display settings” control panel. vkAcquireWinrtDisplayNV does not itself cause DWM to release a display; this action must be performed outside of Vulkan.

Valid Usage (Implicit)

- VUID-vkAcquireWinrtDisplayNV-physicalDevice-parameter
  `physicalDevice` must be a valid VkPhysicalDevice handle

- VUID-vkAcquireWinrtDisplayNV-display-parameter
  `display` must be a valid VkDisplayKHR handle

- VUID-vkAcquireWinrtDisplayNV-display-parent
  `display` must have been created, allocated, or retrieved from `physicalDevice`

Return Codes

On success, this command returns

  - `VK_SUCCESS`

On failure, this command returns

  - `VK_ERROR_OUT_OF_HOST_MEMORY`

  - `VK_ERROR_DEVICE_LOST`

  - `VK_ERROR_INITIALIZATION_FAILED`

## See Also

VK_NV_acquire_winrt_display, VkDisplayKHR, VkPhysicalDevice

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

SPDX-License-Identifier: CC-BY-4.0