MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ setup_debug_messenger()

bool MayaFlux::Core::VKInstance::setup_debug_messenger ( )
private

Setup debug messenger for validation layer output.

Definition at line 143 of file VKInstance.cpp.

144{
145 vk::DebugUtilsMessengerCreateInfoEXT create_info {};
146
147 create_info.messageSeverity = vk::DebugUtilsMessageSeverityFlagBitsEXT::eVerbose
148 | vk::DebugUtilsMessageSeverityFlagBitsEXT::eWarning | vk::DebugUtilsMessageSeverityFlagBitsEXT::eError;
149
150 create_info.messageType = vk::DebugUtilsMessageTypeFlagBitsEXT::eGeneral
151 | vk::DebugUtilsMessageTypeFlagBitsEXT::eValidation
152 | vk::DebugUtilsMessageTypeFlagBitsEXT::ePerformance;
153
154 create_info.pfnUserCallback = debug_callback;
155 create_info.pUserData = nullptr;
156
157 try {
158 m_debug_messenger = m_instance.createDebugUtilsMessengerEXT(create_info, nullptr, m_dynamic_dispatcher);
159 } catch (const std::exception& e) {
161 std::source_location::current(),
162 "Failed to set up debug messenger: {}", e.what());
163 return false;
164 }
165
166 return true;
167}
vk::detail::DispatchLoaderDynamic m_dynamic_dispatcher
Dynamic dispatcher for extension functions.
vk::Instance m_instance
Vulkan instance handle.
vk::DebugUtilsMessengerEXT m_debug_messenger
Debug messenger for validation layers.
static vk::Bool32 debug_callback(vk::DebugUtilsMessageSeverityFlagBitsEXT message_severity, vk::DebugUtilsMessageTypeFlagsEXT message_types, const vk::DebugUtilsMessengerCallbackDataEXT *p_callback_data, void *p_user_data)
Validation layer callback.
@ GraphicsBackend
Graphics/visual rendering backend (Vulkan, OpenGL)
void error_rethrow(Component component, Context context, std::source_location location=std::source_location::current(), std::string_view additional_context="")
Catch and log an exception, then rethrow it.
@ Core
Core engine, backend, subsystems.

References MayaFlux::Journal::Core, debug_callback(), MayaFlux::Journal::GraphicsBackend, m_debug_messenger, m_dynamic_dispatcher, and m_instance.

Referenced by initialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: