Chapter 5. Command Buffer and Memory Management in Vulkan
A command buffer is a collection of commands, and it is submitted to an appropriate hardware queue for GPU processing. The driver then fetches the command buffers and validates and compiles them before the real GPU processing starts.
This chapter will shed light on command buffer concepts. We will learn about command pool creation, allocation/deallocation of command buffers, and recording commands. We will implement the command buffers and use them in the next chapter to drive a swapchain. A swapchain abstracts the mechanism to interface with platform surfaces and provides an array of images that can be used to perform rendering. Once rendering is done, the image is presented to the native windowing system.
In the second half of the chapter, we will understand memory management in Vulkan. We will discuss the concepts of host and device memory. We will look into memory allocators to manage host memory allocations. At the end...