+static void
+enable_extensions(VkInstanceCreateInfo *info)
+{
+ static const char *ext_names[] = {
+ "VK_KHR_xcb_surface",
+ "VK_KHR_surface"
+ };
+
+ uint32_t num_extensions;
+ VkExtensionProperties *extensions;
+ int i;
+
+ vkEnumerateInstanceExtensionProperties(0, &num_extensions, 0);
+ if (!num_extensions) {
+ fprintf(stderr, "No instance extensions found.\n");
+ return;
+ }
+
+ extensions = alloca(num_extensions * sizeof *extensions);
+ vkEnumerateInstanceExtensionProperties(0, &num_extensions, extensions);
+
+ printf("Available extensions:\n");
+ for (i = 0; i < num_extensions; i++) {
+ printf(" %s\n", extensions[i].extensionName);
+ }
+
+ info->ppEnabledExtensionNames = ext_names;
+ info->enabledExtensionCount = ARRAY_SIZE(ext_names);
+}
+