std::cout << "--summary Show a summary of the instance and GPU's on a system.\n\n";
}
+#ifndef VK_USE_PLATFORM_IOS_MVK
int main(int argc, char **argv) {
+#else
+// On iOS, we'll call this ourselves from a parent routine in the GUI
+int vulkanInfoMain(int argc, char **argv) {
+#endif
+
+ bool human_readable_output = true;
+ bool html_output = false;
+ bool json_output = false;
+ bool vkconfig_output = false;
+ bool portability_json = false;
+ bool summary = false;
+
#ifdef _WIN32
if (ConsoleIsExclusive()) ConsoleEnlarge();
if (!LoadUser32Dll()) {
}
std::vector<std::unique_ptr<Printer>> printers;
std::ostream out(std::cout.rdbuf());
+ std::ofstream json_out;
+ std::ofstream portability_out;
std::ofstream html_out;
std::ofstream vkconfig_out;
"\t\"comments\": {\n\t\t\"desc\": \"JSON configuration file describing GPU " + std::to_string(selected_gpu) +
". Generated using the vulkaninfo program.\",\n\t\t\"vulkanApiVersion\": \"" +
VkVersionString(instance.vk_version) + "\"\n" + "\t}";
+#ifndef VK_USE_PLATFORM_IOS_MVK
printers.push_back(
std::unique_ptr<Printer>(new Printer(OutputType::json, out, selected_gpu, instance.vk_version, start_string)));
+#else
+ json_out = std::ofstream("vulkaninfo.json");
+ printers.push_back(
+ std::unique_ptr<Printer>(new Printer(OutputType::json, json_out, selected_gpu, instance.vk_version, start_string)));
+#endif
}
#if defined(VK_ENABLE_BETA_EXTENSIONS)
if (portability_json) {
"'s portability features and properties. Generated using the vulkaninfo program.\",\n\t\t\"vulkanApiVersion\": "
"\"" +
VkVersionString(instance.vk_version) + "\"\n" + "\t}";
+#ifndef VK_USE_PLATFORM_IOS_MVK
printers.push_back(
std::unique_ptr<Printer>(new Printer(OutputType::json, out, selected_gpu, instance.vk_version, start_string)));
+#else
+ portability_out = std::ofstream("portabiliyt.json");
+ printers.push_back(
+ std::unique_ptr<Printer>(new Printer(OutputType::json, portability_out, selected_gpu, instance.vk_version, start_string)));
+#endif
}
}
#endif // defined(VK_ENABLE_BETA_EXTENSIONS)
}
for (auto &p : printers) {
+#if defined(VK_USE_PLATFORM_IOS_MVK)
+ p->SetAlwaysOpenDetails(true);
+#endif
if (summary) {
DumpSummaryInstance(*p.get(), instance);
p->SetHeader();