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);