void initVulkan() { createInstance(); int extensionCount = 0; unsafe { Vulkan.vkEnumerateInstanceExtensionProperties(null, &extensionCount, IntPtr.Zero); } System.Console.WriteLine(extensionCount); }
void createInstance() { Vulkan.VkApplicationInfo appInfo = new Vulkan.VkApplicationInfo(); appInfo.sType = (int)Vulkan.VkStructureType.VK_STRUCTURE_TYPE_APPLICATION_INFO; appInfo.pApplicationName = "Hello Triangle"; appInfo.applicationVersion = Vulkan.VK_MAKE_VERSION(1, 0, 0); appInfo.pEngineName = "No Engine"; appInfo.engineVersion = Vulkan.VK_MAKE_VERSION(1, 0, 0); appInfo.apiVersion = Vulkan.VK_API_VERSION_1_0; Vulkan.VkInstanceCreateInfo createInfo = new Vulkan.VkInstanceCreateInfo(); createInfo.sType = Vulkan.VkStructureType.VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; createInfo.pApplicationInfo = appInfo; int glfwExtensionCount = 0; IntPtr glfwExtensions; unsafe { glfwExtensions = GLFW.GetRequiredInstanceExtensions(&glfwExtensionCount); } createInfo.enabledExtensionCount = glfwExtensionCount; createInfo.ppEnabledExtensionNames = glfwExtensions; createInfo.enabledLayerCount = 0; /* * if (Vulkan.vkCreateInstance(createInfo, IntPtr.Zero, instance) != Vulkan.VkResult.VK_SUCCESS) * { * System.Console.WriteLine("failed to create instance!"); * } */ }