This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user