Chapter 4. Debugging in Vulkan
In the last chapter, we initialized the Vulkan API and about learned the concepts of layers and extensions. We connected with the physical hardware device and understood the different types of queue exposed by it. Since we are gearing up for practical implementations, it's important that we learn the Vulkan debugging in order to avoid unpleasant mistakes.
Vulkan allows you to perform debugging through validation layers. These validation layer checks are optional and can be injected into the system at runtime. Traditional graphics APIs perform validation right up front using some sort of error-checking mechanism, which is a mandatory part of the pipeline. This is indeed useful in the development phase, but actually, it is an overhead during the release stage because the validation bugs might have already been fixed at the development phase itself. Such compulsory checks cause the CPU to spend a significant amount of time in error checking.
On the...