# VkInstance(3) Manual Page

## Name

VkInstance - Opaque handle to an instance object

Loading… please wait.

## C Specification

There is no global state in Vulkan and all per-application state is stored in a `VkInstance` object. Creating a `VkInstance` object initializes the Vulkan library and allows the application to pass information about itself to the implementation.

Instances are represented by `VkInstance` handles:

    // Provided by VK_VERSION_1_0
    VK_DEFINE_HANDLE(VkInstance)

## See Also

PFN_vkGetInstanceProcAddrLUNARG, VK_DEFINE_HANDLE, VK_VERSION_1_0, vkCreateAndroidSurfaceKHR, vkCreateDebugReportCallbackEXT, vkCreateDebugUtilsMessengerEXT, vkCreateDirectFBSurfaceEXT, vkCreateDisplayPlaneSurfaceKHR, vkCreateHeadlessSurfaceEXT, vkCreateIOSSurfaceMVK, vkCreateImagePipeSurfaceFUCHSIA, vkCreateInstance, vkCreateMacOSSurfaceMVK, vkCreateMetalSurfaceEXT, vkCreateScreenSurfaceQNX, vkCreateStreamDescriptorSurfaceGGP, vkCreateSurfaceOHOS, vkCreateViSurfaceNN, vkCreateWaylandSurfaceKHR, vkCreateWin32SurfaceKHR, vkCreateXcbSurfaceKHR, vkCreateXlibSurfaceKHR, vkDebugReportMessageEXT, vkDestroyDebugReportCallbackEXT, vkDestroyDebugUtilsMessengerEXT, vkDestroyInstance, vkDestroySurfaceKHR, vkEnumeratePhysicalDeviceGroups, vkEnumeratePhysicalDeviceGroupsKHR, vkEnumeratePhysicalDevices, vkGetInstanceProcAddr, vkSubmitDebugUtilsMessageEXT

## Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

## Copyright

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0