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:

Fitting it all together

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 execution process. The Render Pass execution requires some vital Vulkan objects, such as the graphics pipeline, the descriptor set, shader modules, pipeline objects, and geometry data, as shown in the preceding diagram.

Finally, the command buffer is submitted to a presentation-supported (plus graphics) queue. Once submitted, it is processed by the GPU in an asynchronous fashion. Various synchronization mechanisms and memory barriers may be required to make the rendering output hitch-free.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.226.98.208