Vulkan Validation Layers¶
See also: Vulkan Validation Layers
It’s important to use Vulkan Validation Layers for development.
Validation Layers are enabled by default in the engine.
Development without validation layers is pretty much impossible because many bugs are hard to catch otherwise.
Validation Layers are easily enabled by passing
VK_LAYER_KHRONOS_validationto the list of instance extensions when creatingVkInstance.
Vulkan Debug Utilities Extension¶
The engine also uses Vulkan Debug Utilities Extension (VK_EXT_debug_utils) to register a callback for validation layer messages.
The validation layer warnings and errors are directly redirected to spdlog output, which is logged both to console and to logfile.
This extension also allows us to have an internal naming system for Vulkan resources (not to be mixed up with VMA’s internal naming system).
Furthermore, with this extension labels can be inserted into command buffers and binary tags can be inserted as well for debugging.