Class DebugMessenger

Class Documentation

class DebugMessenger

Vulkan debug callback handler.

Routes validation layer messages to logging system and tracks error counts.

Public Functions

DebugMessenger()
int get_error_and_warning_count() const

Gets combined error and warning count.

int get_error_count() const

Gets error count.

int get_warning_count() const

Gets warning count.

int get_info_count() const

Gets info message count.

Public Static Functions

static VKAPI_ATTR vk::Bool32 VKAPI_CALL debug_callback (vk::DebugUtilsMessageSeverityFlagBitsEXT severity, vk::DebugUtilsMessageTypeFlagsEXT message_type, const vk::DebugUtilsMessengerCallbackDataEXT *callback_data, void *data)

Vulkan debug callback function.

Parameters:
  • severity – Message severity

  • message_type – Message type

  • callback_data – Validation layer data

  • data – User data pointer

Returns:

VK_FALSE to continue execution

Protected Functions

vk::Bool32 log(vk::DebugUtilsMessageSeverityFlagBitsEXT severity, vk::DebugUtilsMessageTypeFlagsEXT message_type, const vk::DebugUtilsMessengerCallbackDataEXT *callback_data)

Logs validation message and updates counters.

spdlog::level::level_enum get_severity(const vk::DebugUtilsMessageSeverityFlagBitsEXT severity)

Converts Vulkan severity to spdlog level.

Protected Attributes

int error_count
int warning_count
int info_count