如何在 Vulkan 中获得支持的扩展
How to get supported extensions in Vulkan
我正在开发一个使用 Vulkan 的 C++ 应用程序。我如何获得支持的扩展集?
像std::set<std::string> get_supported_extensions()
这样的签名是最理想的。
vkEnumerateInstanceExtensionPropertiesAPI就是这样做的。
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;
}
我正在开发一个使用 Vulkan 的 C++ 应用程序。我如何获得支持的扩展集?
像std::set<std::string> get_supported_extensions()
这样的签名是最理想的。
vkEnumerateInstanceExtensionPropertiesAPI就是这样做的。
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;
}