This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
#include <GLFW/glfw3.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include <cstdint>
|
||||
#include <iostream>
|
||||
#include <stdexcept>
|
||||
#include <vulkan/vk_platform.h>
|
||||
#include <vulkan/vulkan_core.h>
|
||||
#include "ctx.h"
|
||||
#include "vulkan/vulkan.hpp"
|
||||
@@ -80,4 +82,34 @@ namespace Oatmeal {
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user