如何在Vulkan中获得支持的扩展

时间:2017-02-05 20:40:11

标签: vulkan

我正在使用使用Vulkan的C ++应用程序。如何获得支持的扩展集?

std::set<std::string> get_supported_extensions()这样的签名是理想的。

1 个答案:

答案 0 :(得分:0)

vkEnumerateInstanceExtensionProperties API执行此操作。

std::set<std::string> get_supported_extensions() {
    uint32_t count;
    vkEnumerateInstanceExtensionProperties(nullptr, &count, nullptr); //get number of extensions
    std::vector<VkExtensionProperties> extensions(count);
    vkEnumerateInstanceExtensionProperties(nullptr, &count, extensions.data()); //populate buffer
    std::set<std::string> results;
    for (auto & extension : extensions) {
        results.insert(extension.extensionName);
    }
    return results;
}