ctx - Debug messenger
All checks were successful
Build / Build (push) Successful in 3m10s

This commit is contained in:
2026-04-12 22:48:03 -04:00
parent 3c72fc91a5
commit c412073c23

View File

@@ -1,7 +1,9 @@
#include <GLFW/glfw3.h> #include <GLFW/glfw3.h>
#include <X11/Xlib.h> #include <X11/Xlib.h>
#include <cstdint> #include <cstdint>
#include <iostream>
#include <stdexcept> #include <stdexcept>
#include <vulkan/vk_platform.h>
#include <vulkan/vulkan_core.h> #include <vulkan/vulkan_core.h>
#include "ctx.h" #include "ctx.h"
#include "vulkan/vulkan.hpp" #include "vulkan/vulkan.hpp"
@@ -80,4 +82,34 @@ namespace Oatmeal {
return extensions; return extensions;
} }
static VKAPI_ATTR vk::Bool32 VKAPI_CALL debugCallback(vk::DebugUtilsMessageSeverityFlagBitsEXT severity,
vk::DebugUtilsMessageTypeFlagsEXT type,
const vk::DebugUtilsMessengerCallbackDataEXT *pCallbackData,
void *) {
std::cerr << "Validation layer: type " << vk::to_string(type) << "msg: " << pCallbackData->pMessage
<< std::endl;
return 0;
}
void ctx::setupDebugMessenger() {
if (!enableValidationLayers) {
return;
}
vk::DebugUtilsMessageSeverityFlagsEXT severityFlags(vk::DebugUtilsMessageSeverityFlagBitsEXT::eWarning |
vk::DebugUtilsMessageSeverityFlagBitsEXT::eError);
vk::DebugUtilsMessageTypeFlagsEXT typeFlags(vk::DebugUtilsMessageTypeFlagBitsEXT::eGeneral |
vk::DebugUtilsMessageTypeFlagBitsEXT::eValidation |
vk::DebugUtilsMessageTypeFlagBitsEXT::ePerformance);
vk::DebugUtilsMessengerCreateInfoEXT createInfo{
.messageSeverity = severityFlags,
.messageType = typeFlags,
.pfnUserCallback = &debugCallback,
};
m_debugMessenger = m_instance.createDebugUtilsMessengerEXT(createInfo);
}
} // namespace Oatmeal } // namespace Oatmeal