23 static char const * AppName =
"CreateDebugReportMessenger";
24 static char const * EngineName =
"Vulkan.hpp";
47 std::ostringstream message;
49 message << vk::to_string( static_cast<vk::DebugUtilsMessageSeverityFlagBitsEXT>( messageSeverity ) ) <<
": "
51 message << std::string(
"\t" ) <<
"messageIDName = <" << pCallbackData->
pMessageIdName <<
">\n";
52 message << std::string(
"\t" ) <<
"messageIdNumber = " << pCallbackData->
messageIdNumber <<
"\n";
53 message << std::string(
"\t" ) <<
"message = <" << pCallbackData->
pMessage <<
">\n";
56 message << std::string(
"\t" ) <<
"Queue Labels:\n";
64 message << std::string(
"\t" ) <<
"CommandBuffer Labels:\n";
72 message << std::string(
"\t" ) <<
"Objects:\n";
73 for ( uint32_t i = 0; i < pCallbackData->
objectCount; i++ )
75 message << std::string(
"\t\t" ) <<
"Object " << i <<
"\n";
77 message << std::string(
"\t\t\t" ) <<
"objectHandle = " << pCallbackData->
pObjects[i].
objectHandle <<
"\n";
80 message << std::string(
"\t\t\t" ) <<
"objectName = <" << pCallbackData->
pObjects[i].
pObjectName <<
">\n";
86 MessageBox( NULL, message.str().c_str(),
"Alert", MB_OK );
102 auto propertyIterator = std::find_if(
103 props.begin(), props.end(), [](
vk::ExtensionProperties const & ep ) { return strcmp( ep.extensionName, VK_EXT_DEBUG_UTILS_EXTENSION_NAME ) == 0; } );
104 if ( propertyIterator == props.end() )
117 std::cout <<
"GetInstanceProcAddr: Unable to find pfnVkCreateDebugUtilsMessengerEXT function." << std::endl;
124 std::cout <<
"GetInstanceProcAddr: Unable to find pfnVkDestroyDebugUtilsMessengerEXT function." << std::endl;
145 catch ( std::exception & err )
PFN_vkCreateDebugUtilsMessengerEXT pfnVkCreateDebugUtilsMessengerEXT
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDebugUtilsMessengerEXT *pMessenger)
VKAPI_ATTR VkBool32 VKAPI_CALL debugMessageFunc(VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, VkDebugUtilsMessengerCallbackDataEXT const *pCallbackData, void *)
PFN_vkDestroyDebugUtilsMessengerEXT pfnVkDestroyDebugUtilsMessengerEXT
VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(VkInstance instance, VkDebugUtilsMessengerEXT messenger, VkAllocationCallbacks const *pAllocator)
void cout(vk::SurfaceCapabilitiesKHR const &surfaceCapabilities)
VULKAN_HPP_NODISCARD Result createDebugUtilsMessengerEXT(const vk::DebugUtilsMessengerCreateInfoEXT *pCreateInfo, const vk::AllocationCallbacks *pAllocator, vk::DebugUtilsMessengerEXT *pMessenger, Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT
void destroy(const vk::AllocationCallbacks *pAllocator, Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT
PFN_vkVoidFunction getProcAddr(const char *pName, Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT
void destroyDebugUtilsMessengerEXT(vk::DebugUtilsMessengerEXT messenger, const vk::AllocationCallbacks *pAllocator, Dispatch const &d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT) const VULKAN_HPP_NOEXCEPT
virtual const char * what() const VULKAN_HPP_NOEXCEPT
VULKAN_HPP_INLINE std::string to_string(FormatFeatureFlags value)
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result enumerateInstanceExtensionProperties(const char *pLayerName, uint32_t *pPropertyCount, vk::ExtensionProperties *pProperties, Dispatch const &d) VULKAN_HPP_NOEXCEPT
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result createInstance(const vk::InstanceCreateInfo *pCreateInfo, const vk::AllocationCallbacks *pAllocator, vk::Instance *pInstance, Dispatch const &d) VULKAN_HPP_NOEXCEPT
uint32_t cmdBufLabelCount
const VkDebugUtilsLabelEXT * pCmdBufLabels
const char * pMessageIdName
const VkDebugUtilsLabelEXT * pQueueLabels
const VkDebugUtilsObjectNameInfoEXT * pObjects
VkResult(* PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDebugUtilsMessengerEXT *pMessenger)
struct VkInstance_T * VkInstance
VkFlags VkDebugUtilsMessageTypeFlagsEXT
#define VK_EXT_DEBUG_UTILS_EXTENSION_NAME
uint64_t VkDebugUtilsMessengerEXT
void(* PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks *pAllocator)
#define VK_API_VERSION_1_1
VkDebugUtilsMessageSeverityFlagBitsEXT