Fitting it all together
This section provides a short description of the working of our first Vulkan pseudo application. The following diagram is a snapshot of the working model:
First, the application creates the Vulkan instance and device at the initialization stage with the necessary layers enabled and extensions created. The device exposes various queues (graphics or compute) as shown in the preceding diagram. These queues gather the command buffers and submit them to the physical device for processing.
Using the WSI extension, drawing surfaces are prepared for rendering graphic contents. The swapchain exposes these drawing surface as images, which are used in the form of image views. Similarly, the depth image view is prepared. These image view objects are used by the framebuffer. Render Pass makes use of this framebuffer to define a unit-rendering operation.
The command buffer is allocated from command buffer pools, and it is used to record various commands along with the Render Pass...