跳到主要内容

vkGetPhysicalDeviceSurfaceCapabilitiesKHR

函数原型

VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
VkPhysicalDevice physicalDevice,
VkSurfaceKHR surface,
VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);

描述

查询surface支持的基本能力。

参数

  • physicalDevice : 创建交换链的物理设备。

  • surface : 与交换链关联的surface。

  • VkSurfaceCapabilitiesKHR : VkSurfaceCapabilitiesKHR结构体指针,返回surface基本能力。

补充

VkSurfaceCapabilitiesKHR 结构体定义:

typedef struct VkSurfaceCapabilitiesKHR {
uint32_t minImageCount;
uint32_t maxImageCount;
VkExtent2D currentExtent;
VkExtent2D minImageExtent;
VkExtent2D maxImageExtent;
uint32_t maxImageArrayLayers;
VkSurfaceTransformFlagsKHR supportedTransforms;
VkSurfaceTransformFlagBitsKHR currentTransform;
VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
VkImageUsageFlags supportedUsageFlags;
} VkSurfaceCapabilitiesKHR;

返回值

  • VK_SUCCESS : 查询成功。
  • 其他 : 查询失败。

代码示例

// 基础表面特性
VkSurfaceCapabilitiesKHR capabilities;
// 查询基础表面特性
vkGetPhysicalDeviceSurfaceCapabilitiesKHR(device, surface, &capabilities);