跳转至

vkGetPhysicalDeviceSurfaceCapabilitiesKHR

函数原型

1
2
3
4
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 : 查询成功。
  • 其他 : 查询失败。

代码示例

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