src/org/lwjgl/demo/vulkan/ColoredTriangleDemo.java
private static VkInstance createInstance(PointerBuffer requiredExtensions) {
        VkApplicationInfo appInfo = VkApplicationInfo.calloc()
                .sType(VK_STRUCTURE_TYPE_APPLICATION_INFO)
                .pApplicationName(memUTF8("GLFW Vulkan Demo"))
                .pEngineName(memUTF8(""))
                .apiVersion(VK_MAKE_VERSION(1, 0, 2));
        PointerBuffer ppEnabledExtensionNames = memAllocPointer(requiredExtensions.remaining() + 1);
        ppEnabledExtensionNames.put(requiredExtensions);
        ByteBuffer VK_EXT_DEBUG_REPORT_EXTENSION = memUTF8(VK_EXT_DEBUG_REPORT_EXTENSION_NAME);
        ppEnabledExtensionNames.put(VK_EXT_DEBUG_REPORT_EXTENSION);
        ppEnabledExtensionNames.flip();
        PointerBuffer ppEnabledLayerNames = memAllocPointer(layers.length);
        for (int i = 0; validation && i < layers.length; i++)
            ppEnabledLayerNames.put(layers[i]);
        ppEnabledLayerNames.flip();
        VkInstanceCreateInfo pCreateInfo = VkInstanceCreateInfo.calloc()
                .sType(VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO)
                .pNext(NULL)
                .pApplicationInfo(appInfo)
                .ppEnabledExtensionNames(ppEnabledExtensionNames)
                .ppEnabledLayerNames(ppEnabledLayerNames);
        PointerBuffer pInstance = memAllocPointer(1);
        int err = vkCreateInstance(pCreateInfo, null, pInstance);
        long instance = pInstance.get(0);
        memFree(pInstance);
        if (err != VK_SUCCESS) {
            throw new AssertionError("Failed to create VkInstance: " + translateVulkanResult(err));
        }
        VkInstance ret = new VkInstance(instance, pCreateInfo);
        pCreateInfo.free();
        memFree(ppEnabledLayerNames);
        memFree(VK_EXT_DEBUG_REPORT_EXTENSION);
        memFree(ppEnabledExtensionNames);
        memFree(appInfo.pApplicationName());
        memFree(appInfo.pEngineName());
        appInfo.free();
        return ret;
    }
/**
     * Create a Vulkan instance using LWJGL 3.
     * 
     * @return the VkInstance handle
     */
Create a Vulkan instance using LWJGL 3.

@return the VkInstance handle
Create a Vulkan instance using LWJGL 3 . @return the VkInstance handle
private static VkInstance createInstance(PointerBuffer requiredExtensions) {
        VkApplicationInfo appInfo = VkApplicationInfo.calloc()
                .sType(VK_STRUCTURE_TYPE_APPLICATION_INFO)
                .pApplicationName(memUTF8("GLFW Vulkan Demo"))
                .pEngineName(memUTF8(""))
                .apiVersion(VK_MAKE_VERSION(1, 0, 2));
        PointerBuffer ppEnabledExtensionNames = memAllocPointer(requiredExtensions.remaining() + 1);
        ppEnabledExtensionNames.put(requiredExtensions);
        ByteBuffer VK_EXT_DEBUG_REPORT_EXTENSION = memUTF8(VK_EXT_DEBUG_REPORT_EXTENSION_NAME);
        ppEnabledExtensionNames.put(VK_EXT_DEBUG_REPORT_EXTENSION);
        ppEnabledExtensionNames.flip();
        PointerBuffer ppEnabledLayerNames = memAllocPointer(layers.length);
        for (int i = 0; validation && i < layers.length; i++)
            ppEnabledLayerNames.put(layers[i]);
        ppEnabledLayerNames.flip();
        VkInstanceCreateInfo pCreateInfo = VkInstanceCreateInfo.calloc()
                .sType(VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO)
                .pNext(NULL)
                .pApplicationInfo(appInfo)
                .ppEnabledExtensionNames(ppEnabledExtensionNames)
                .ppEnabledLayerNames(ppEnabledLayerNames);
        PointerBuffer pInstance = memAllocPointer(1);
        int err = vkCreateInstance(pCreateInfo, null, pInstance);
        long instance = pInstance.get(0);
        memFree(pInstance);
        if (err != VK_SUCCESS) {
            throw new AssertionError("Failed to create VkInstance: " + translateVulkanResult(err));
        }
        VkInstance ret = new VkInstance(instance, pCreateInfo);
        pCreateInfo.free();
        memFree(ppEnabledLayerNames);
        memFree(VK_EXT_DEBUG_REPORT_EXTENSION);
        memFree(ppEnabledExtensionNames);
        memFree(appInfo.pApplicationName());
        memFree(appInfo.pEngineName());
        appInfo.free();
        return ret;
    }
private static VkInstance createInstance ( PointerBuffer requiredExtensions ) { VkApplicationInfo appInfo = VkApplicationInfo . calloc ( ) . sType ( VK_STRUCTURE_TYPE_APPLICATION_INFO ) . pApplicationName ( memUTF8 ( "GLFW Vulkan Demo" ) ) . pEngineName ( memUTF8 ( "" ) ) . apiVersion ( VK_MAKE_VERSION ( 1 , 0 , 2 ) ) ; PointerBuffer ppEnabledExtensionNames = memAllocPointer ( requiredExtensions . remaining ( ) + 1 ) ; ppEnabledExtensionNames . put ( requiredExtensions ) ; ByteBuffer VK_EXT_DEBUG_REPORT_EXTENSION = memUTF8 ( VK_EXT_DEBUG_REPORT_EXTENSION_NAME ) ; ppEnabledExtensionNames . put ( VK_EXT_DEBUG_REPORT_EXTENSION ) ; ppEnabledExtensionNames . flip ( ) ; PointerBuffer ppEnabledLayerNames = memAllocPointer ( layers . length ) ; for ( int i = 0 ; validation && i < layers . length ; i ++ ) ppEnabledLayerNames . put ( layers [ i ] ) ; ppEnabledLayerNames . flip ( ) ; VkInstanceCreateInfo pCreateInfo = VkInstanceCreateInfo . calloc ( ) . sType ( VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO ) . pNext ( NULL ) . pApplicationInfo ( appInfo ) . ppEnabledExtensionNames ( ppEnabledExtensionNames ) . ppEnabledLayerNames ( ppEnabledLayerNames ) ; PointerBuffer pInstance = memAllocPointer ( 1 ) ; int err = vkCreateInstance ( pCreateInfo , null , pInstance ) ; long instance = pInstance . get ( 0 ) ; memFree ( pInstance ) ; if ( err != VK_SUCCESS ) { throw new AssertionError ( "Failed to create VkInstance: " + translateVulkanResult ( err ) ) ; } VkInstance ret = new VkInstance ( instance , pCreateInfo ) ; pCreateInfo . free ( ) ; memFree ( ppEnabledLayerNames ) ; memFree ( VK_EXT_DEBUG_REPORT_EXTENSION ) ; memFree ( ppEnabledExtensionNames ) ; memFree ( appInfo . pApplicationName ( ) ) ; memFree ( appInfo . pEngineName ( ) ) ; appInfo . free ( ) ; return ret ; }
Create a Vulkan instance using LWJGL 3.
Create a Vulkan instance using LWJGL 3 .