跳到主要内容

vkEnumerateInstanceLayerProperties

函数原型

VkResult vkEnumerateInstanceLayerProperties(
uint32_t* pPropertyCount,
VkLayerProperties* pProperties);

描述

查询可用的instance级layer属性。

参数

  • pPropertyCount : 可用实例layer数量的整数的指针。

  • pProperties : NULL或者 VkLayerProperties 结构体数组指针。

    • pProperties 为NULL时,pPropertyCount 返回可用的layer数量;
    • pProperties 不为NULL时,写入 pPropertyCount 个layer信息到 pProperties中。

返回值

  • VK_SUCCESS : 查询成功。
  • VK_INCOMPLETE : pPropertyCount 小于驱动有效的layer数量。
  • 其他 : 查询失败。

代码示例

uint32_t instance_layer_count;
VkLayerProperties *vk_props = NULL;
VkResult res;

do {
res = vkEnumerateInstanceLayerProperties(&instance_layer_count, NULL);
if (res) return res;

if (instance_layer_count == 0) {
return VK_SUCCESS;
}

vk_props = (VkLayerProperties *)realloc(vk_props, instance_layer_count * sizeof(VkLayerProperties));

res = vkEnumerateInstanceLayerProperties(&instance_layer_count, vk_props);
} while (res == VK_INCOMPLETE);