#include <string.h>
#include <stdbool.h>
#include <assert.h>
+#include <signal.h>
#ifdef _WIN32
#pragma comment(linker, "/subsystem:windows")
VkBool32 dbgFunc(
VkFlags msgFlags,
- VkDebugReportObjectTypeLUNARG objType,
+ VkDebugReportObjectTypeLUNARG objType,
uint64_t srcObject,
size_t location,
int32_t msgCode,
return false;
}
+VkBool32 BreakCallback(
+ VkFlags msgFlags,
+ VkDebugReportObjectTypeLUNARG objType,
+ uint64_t srcObject,
+ size_t location,
+ int32_t msgCode,
+ const char* pLayerPrefix,
+ const char* pMsg,
+ const void* pUserData)
+{
+#ifndef WIN32
+ raise(SIGTRAP);
+#else
+ DebugBreak();
+#endif
+
+ return false;
+}
+
typedef struct _SwapchainBuffers {
VkImage image;
VkCommandBuffer cmd;
bool use_break;
PFN_vkCreateDebugReportCallbackLUNARG CreateDebugReportCallback;
PFN_vkDestroyDebugReportCallbackLUNARG DestroyDebugReportCallback;
- PFN_vkDebugReportCallbackLUNARG dbgBreakCallback;
VkDebugReportCallbackLUNARG msg_callback;
+ PFN_vkDebugReportMessageLUNARG DebugReportMessage;
uint32_t current_buffer;
uint32_t queue_count;
ERR_EXIT("GetProcAddr: Unable to find vkDestroyDebugReportCallbackLUNARG\n",
"vkGetProcAddr Failure");
}
+ demo->DebugReportMessage = (PFN_vkDebugReportMessageLUNARG) vkGetInstanceProcAddr(demo->inst, "vkDebugReportMessageLUNARG");
+ if (!demo->DebugReportMessage) {
+ ERR_EXIT("GetProcAddr: Unable to find vkDebugReportMessageLUNARG\n",
+ "vkGetProcAddr Failure");
+ }
PFN_vkDebugReportCallbackLUNARG callback;