vkEnumerateInstanceExtensionProperties
函数原型
VkResult vkEnumerateInstanceExtensionProperties(
const char* pLayerName,
uint32_t* pPropertyCount,
VkExtensionProperties* pProperties);
描述
查询可用的instance级扩展。
参数
-
pLayerName
: NULL或者指向要查询的layer名称的字符串指针。- 当
pLayerName
为NULL时,返回Vulkan驱动实现的或者隐式使能的layer提供的扩展; - 当
pLayerName
不为NULL时,返回名称为pLayerName
的layer提供的扩展。
- 当
-
pPropertyCount
: 可用扩展数量的整数的指针。 -
pProperties
: NULL或者VkExtensionProperties
结构体数组指针。- 当
pProperties
为NULL时,pPropertyCount
返回可用的扩展数量; - 当
pProperties
不为NULL时,写入pPropertyCount
个扩展信息到pProperties
中。
- 当
返回值
VK_SUCCESS
: 查询成功。VK_INCOMPLETE
:pPropertyCount
小于驱动可用的扩展数量。- 其他 : 查询失败。
代码示例
// get available extension count
uint32_t extCount = 0;
vkEnumerateInstanceExtensionProperties(nullptr, &extCount, nullptr);
if (extCount > 0)
{
// get available extensions
std::vector<VkExtensionProperties> extensions(extCount);
if (vkEnumerateInstanceExtensionProperties(nullptr, &extCount, &extensions.front()) == VK_SUCCESS)
{
// print extension name
for (VkExtensionProperties& extension : extensions)
{
std::cout << extension.extensionName << std::endl;
}
}
}