Caching the properties of queue families
In Vulkan, a physical device can have one or more queue families, where each queue family represents a set of command queues that share certain properties, such as capabilities or usage. Figure 1.3 depicts a fictional set of families and their queues:
Figure 1.3 – Queue families and their queues
Each queue family supports a specific set of operations and commands that can be executed in parallel. For example, there may be a graphics queue family, a compute queue family, and a transfer queue family, each optimized for different types of operations.
In this recipe, you will learn how to retrieve the properties of a queue family and where they are stored in the code in the repository.
Getting ready
In the repository provided with this book, queue families and their properties are stored and managed by the VulkanCore::PhysicalDevice
class.
How to do it…
Each queue family has its own set...