Calling API functions
Due to the many knobs Vulkan provides to control every little thing that the hardware can do, Vulkan tends to be more verbose than OpenGL. Since the control of every single aspect of the rendering process is now exposed to the application, there is simply more information that needs to be communicated with the graphics driver (mind you, the graphics driver still exists; it’s just simpler than it used to be).
The most prominent pattern used by the Vulkan API is structure-as-parameter. It is used for creating and allocating objects, querying their capabilities and information, describing layouts, and much more. In this pattern, instead of passing all possible values for the creation of an object as parameters of a function, you must stick all that information in a structure provided by the Vulkan SDK and then pass that structure as a parameter to the function.
In this recipe, you will learn how Vulkan functions are expected to be called and how to check...