2#ifndef LIBSBX_GRAPHICS_DEVICES_DEBUG_MESSENGER_HPP_
3#define LIBSBX_GRAPHICS_DEVICES_DEBUG_MESSENGER_HPP_
5#include <vulkan/vulkan.hpp>
7#include <libsbx/graphics/devices/instance.hpp>
9namespace sbx::graphics {
11auto set_debug_name(
const VkObjectType object_type,
const std::uint64_t object_handle,
const std::string& name) -> void;
21 [[nodiscard]]
static auto create(
const instance& target,
const VkAllocationCallbacks*
allocator =
nullptr) -> VkResult;
23 static auto destroy(
const instance& target,
const VkAllocationCallbacks*
allocator =
nullptr) -> void;
25 static auto create_info() -> VkDebugUtilsMessengerCreateInfoEXT*;
29 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;
31 inline static VkDebugUtilsMessengerEXT _handle{};
Definition: allocator.hpp:13
Definition: debug_messenger.hpp:13
Definition: instance.hpp:11