我正在使用使用Vulkan的C ++应用程序。如何获得支持的扩展集?
像std::set<std::string> get_supported_extensions()
这样的签名是理想的。
答案 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;
}