vkGetDeviceGroupSurfacePresentModesKHR(3)

# vkGetDeviceGroupSurfacePresentModesKHR(3) Manual Page

## Name

vkGetDeviceGroupSurfacePresentModesKHR - Query present capabilities for a surface

Loading… please wait.

## C Specification

Some surfaces may not be capable of using all the device group present modes.

To query the supported device group present modes for a particular surface, call:

    // Provided by VK_VERSION_1_1 with VK_KHR_swapchain, VK_KHR_device_group with VK_KHR_surface
    VkResult vkGetDeviceGroupSurfacePresentModesKHR(
        VkDevice                                    device,
        VkSurfaceKHR                                surface,
        VkDeviceGroupPresentModeFlagsKHR*           pModes);

## Parameters

- `device` is the logical device.

- `surface` is the surface.

- `pModes` is a pointer to a VkDeviceGroupPresentModeFlagsKHR in which the supported device group present modes for the surface are returned.

## Description

The modes returned by this command are not invariant, and may change in response to the surface being moved, resized, or occluded. These modes must be a subset of the modes returned by vkGetDeviceGroupPresentCapabilitiesKHR.

Valid Usage

- VUID-vkGetDeviceGroupSurfacePresentModesKHR-surface-06212
  `surface` must be supported by all physical devices associated with `device`, as reported by vkGetPhysicalDeviceSurfaceSupportKHR or an equivalent platform-specific mechanism

Valid Usage (Implicit)

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

- VUID-vkGetDeviceGroupSurfacePresentModesKHR-surface-parameter
  `surface` must be a valid VkSurfaceKHR handle

- VUID-vkGetDeviceGroupSurfacePresentModesKHR-pModes-parameter
  `pModes` must be a valid pointer to a VkDeviceGroupPresentModeFlagsKHR value

- VUID-vkGetDeviceGroupSurfacePresentModesKHR-commonparent
  Both of `device`, and `surface` must have been created, allocated, or retrieved from the same VkInstance

Host Synchronization

- Host access to `surface` must be externally synchronized

Return Codes

On success, this command returns

  - VK_SUCCESS

On failure, this command returns

  - VK_ERROR_OUT_OF_DEVICE_MEMORY

  - VK_ERROR_OUT_OF_HOST_MEMORY

  - VK_ERROR_SURFACE_LOST_KHR

  - VK_ERROR_UNKNOWN

  - VK_ERROR_VALIDATION_FAILED

## See Also

VK_KHR_device_group, VK_KHR_surface, VK_KHR_swapchain, VK_VERSION_1_1, VkDevice, VkDeviceGroupPresentModeFlagsKHR, VkSurfaceKHR

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