From 7ad5f666719668c77d0658b159d9c4e1e17b6af6 Mon Sep 17 00:00:00 2001 From: baldurk Date: Sat, 30 Apr 2016 17:15:26 +0200 Subject: [PATCH] If debug mode is enabled on vulkan, try and create debug report callback --- renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp index 20ecbed8d..7e5fa3e9c 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp @@ -223,6 +223,18 @@ VkResult WrappedVulkan::vkCreateInstance( m_Queue = VK_NULL_HANDLE; m_InternalCmds.Reset(); + if(RenderDoc::Inst().GetCaptureOptions().DebugDeviceMode && ObjDisp(m_Instance)->CreateDebugReportCallbackEXT) + { + VkDebugReportCallbackCreateInfoEXT debugInfo = {}; + debugInfo.sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT; + debugInfo.pNext = NULL; + debugInfo.pfnCallback = &DebugCallbackStatic; + debugInfo.pUserData = this; + debugInfo.flags = VK_DEBUG_REPORT_WARNING_BIT_EXT|VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT|VK_DEBUG_REPORT_ERROR_BIT_EXT; + + ObjDisp(m_Instance)->CreateDebugReportCallbackEXT(Unwrap(m_Instance), &debugInfo, NULL, &m_DbgMsgCallback); + } + return ret; }