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

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 (Implicit)
• device must be a valid VkDevice handle

• surface must be a valid VkSurfaceKHR handle

• pModes must be a valid pointer to a VkDeviceGroupPresentModeFlagsKHR value

• 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_HOST_MEMORY

• VK_ERROR_OUT_OF_DEVICE_MEMORY

• VK_ERROR_SURFACE_LOST_KHR

## Document Notes

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.