import vk/vulkan

vkLoad1_0()

var 
 instance: VkInstance
 val = allocCStringArray(["VK_LAYER_KHRONOS_validation", "VK_LAYER_LUNARG_api_dump"])
 appInfo = newVkApplicationInfo( pApplicationName = "instance test"
                               , applicationVersion = vkMakeVersion(1, 0, 0)
                               , pEngineName = "zzz"
                               , engineVersion = vkMakeVersion(1, 0, 0)
                               , apiVersion = vkApiVersion1_1
                               )
    
 exts = allocCStringArray([])
 instanceCreateInfo = newVkInstanceCreateInfo( pApplicationInfo = appInfo.addr
                                             , enabledExtensionCount = 0
                                             , ppEnabledExtensionNames = exts
                                             , enabledLayerCount = 0
                                             , ppEnabledLayerNames = val
                                             )
 
if vkCreateInstance(instanceCreateInfo.addr, nil, addr instance) != VKSuccess: quit("failed to create instance")
else: echo "vkInstance: PASS"