-2
Vulkanを使用するC++アプリケーションを作成しています。サポートされている拡張機能を取得するにはどうすればよいですか?Vulkanでサポートされる拡張機能を取得する方法
std::set<std::string> get_supported_extensions()
のような署名が理想的です。
Vulkanを使用するC++アプリケーションを作成しています。サポートされている拡張機能を取得するにはどうすればよいですか?Vulkanでサポートされる拡張機能を取得する方法
std::set<std::string> get_supported_extensions()
のような署名が理想的です。
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;
}
例を完了するには、 'VkResult'チェック(' ERROR'をC++例外にするとよいでしょう)を実行する必要があります。 'do {...} while(VK_INCOMPLETE)';を実行するために何かを傷つけることはないでしょう。 Vulkan-Hppは常にオプションです – krOoze