Initialising Vulkan

Setting up the most fundamental Vulkan objects - the instance, and physical/logical devices

At this stage the most fundamental Vulkan objects are created. These provide the basis for the rest of the application.

The most important of these objects are:

  • the instance
  • the physical device
  • the logical device with associated command queues.

These three objects are required by any Vulkan application, regardless of its purpose, as together they link the application, the Vulkan library and the GPU. All the other Vulkan objects are created from them.

This section explains the purpose of these objects and how to initialise them in Vulkan.

The basic steps of this stage are summarised below.

  1. Select the required validation layers
  2. Select the names of the required instance and device extensions
  3. Create a Vulkan instance
  4. Select an appropriate GPU and initialise an associated physical device
  5. Identify queue families which are supported by the device
  6. Initialise a logical device using information about the required queue families and extensions
  7. Check that the queue supports both rendering and presenting operations.