In this chapter, we learned about command buffers and memory allocation in the Vulkan API. We understood the concept of command buffers and command pools, and while doing this, we created pools and allocated command buffer objects through them. We got hands-on and built the command buffer wrapper class and implemented the creation, resetting, and destruction of command pools and command buffers. We implemented the recording of command buffers and submitted them to an appropriate queue for processing.
The second part of this chapter was full of memory management concepts for host- and device-based memory. We learned about allocators and their APIs to manage host allocation. We also looked into device memory and understood how Vulkan APIs allocate, map, and free device memory.
Vulkan has two types of resource: buffers and images. In the next chapter, we will learn about Vulkan image resources and use them to create swapchains with the help of command buffers. Buffer resources will be...