2#ifndef LIBSBX_GRAPHICS_DEVICES_DEBUG_MESSENGER_HPP_
3#define LIBSBX_GRAPHICS_DEVICES_DEBUG_MESSENGER_HPP_
7#include <vulkan/vulkan.hpp>
9#include <libsbx/graphics/devices/instance.hpp>
11namespace sbx::graphics {
13auto set_debug_name(
const VkObjectType object_type,
const std::uint64_t object_handle,
const std::string& name) -> void;
23 [[nodiscard]]
static auto create(
const instance& target,
const VkAllocationCallbacks*
allocator =
nullptr) -> VkResult;
25 static auto destroy(
const instance& target,
const VkAllocationCallbacks*
allocator =
nullptr) -> void;
27 static auto create_info() -> VkDebugUtilsMessengerCreateInfoEXT*;
31 static VKAPI_ATTR
auto VKAPI_CALL _debug_callback(VkDebugUtilsMessageSeverityFlagBitsEXT message_severity, [[maybe_unused]] VkDebugUtilsMessageTypeFlagsEXT message_type,
const VkDebugUtilsMessengerCallbackDataEXT* callback_data, [[maybe_unused]]
void* user_data) -> VkBool32;
33 inline static VkDebugUtilsMessengerEXT _handle{};
Definition: allocator.hpp:13
Definition: debug_messenger.hpp:15
Definition: instance.hpp:11