## C Specification

To query the basic capabilities of a surface, needed in order to create a swapchain, call:

// Provided by VK_KHR_surface
VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
VkPhysicalDevice                            physicalDevice,
VkSurfaceKHR                                surface,
VkSurfaceCapabilitiesKHR*                   pSurfaceCapabilities);

## Parameters

• physicalDevice is the physical device that will be associated with the swapchain to be created, as described for vkCreateSwapchainKHR.

• surface is the surface that will be associated with the swapchain.

• pSurfaceCapabilities is a pointer to a VkSurfaceCapabilitiesKHR structure in which the capabilities are returned.

## Description

Valid Usage
• VUID-vkGetPhysicalDeviceSurfaceCapabilitiesKHR-surface-06523
surface must be a valid VkSurfaceKHR handle

• VUID-vkGetPhysicalDeviceSurfaceCapabilitiesKHR-surface-06211
surface must be supported by physicalDevice, as reported by vkGetPhysicalDeviceSurfaceSupportKHR or an equivalent platform-specific mechanism

Valid Usage (Implicit)
• VUID-vkGetPhysicalDeviceSurfaceCapabilitiesKHR-physicalDevice-parameter
physicalDevice must be a valid VkPhysicalDevice handle

• VUID-vkGetPhysicalDeviceSurfaceCapabilitiesKHR-surface-parameter
surface must be a valid VkSurfaceKHR handle

• VUID-vkGetPhysicalDeviceSurfaceCapabilitiesKHR-pSurfaceCapabilities-parameter
pSurfaceCapabilities must be a valid pointer to a VkSurfaceCapabilitiesKHR structure

• VUID-vkGetPhysicalDeviceSurfaceCapabilitiesKHR-commonparent
Both of physicalDevice, and surface must have been created, allocated, or retrieved from the same VkInstance

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

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

SPDX-License-Identifier: CC-BY-4.0