home
themmj.dev

instance

Connection between application and Vulkan driver.

Create Application Info

Technically optional but provides the driver with additional data about the application (e.g. for optimizations).

struct VkApplicationInfo

Verify Extension Availability

Extensions are needed for platform specific features (e.g. interacting with the windowing system). Useful extensions include:

function vkEnumerateInstanceExtensionProperties

Verify Layer Availability

Validation layers can be added during development to catch mistakes or debug issues. However, they can be left out in the release build for better performance. Common tasks of validation include call tracing, parameter validation, tracking resources/leaks, thread safety etc. All of the common functionality is bundled into "VK_LAYER_KHRONOS_validation".

function vkEnumerateInstanceLayerProperties

Create Instance

Previously created application info and lists of required extensions and layers can then be used to create an instance.

struct VkInstanceCreateInfo

function vkCreateInstance

Destroy Instance

function vkDestroyInstance