From 3deda81b1ded80b00c90cad87c2ec1ce4847c656 Mon Sep 17 00:00:00 2001 From: Warwick New Date: Sat, 12 Oct 2024 22:41:11 +0100 Subject: [PATCH] Got the debug stuff in but we're not cleaning it up properly currently. --- src/main.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/main.c b/src/main.c index 2499ead..1a9e77b 100644 --- a/src/main.c +++ b/src/main.c @@ -92,7 +92,6 @@ void populateDebugMessengerCreateInfo( createInfo->pUserData = NULL; // Optional } - void createInstance(Application *app) { if (enableValidationLayers && !checkValidationLayerSupport()) { fprintf(stderr, "Validation layers requested, but not available!\n"); @@ -191,30 +190,32 @@ VkResult CreateDebugUtilsMessengerEXT( } void setupDebugMessenger(Application *app) { - VkDebugUtilsMessengerCreateInfoEXT createInfo = {}; - populateDebugMessengerCreateInfo(&createInfo); + if (enableValidationLayers && !checkValidationLayerSupport()) { + fprintf(stderr, "Validation layers requested, but not available!\n"); + exit(EXIT_FAILURE); + VkDebugUtilsMessengerCreateInfoEXT createInfo = {}; + populateDebugMessengerCreateInfo(&createInfo); - if (CreateDebugUtilsMessengerEXT(app->instance, &createInfo, NULL, - &app->debugMessenger) != VK_SUCCESS) { - fprintf(stderr, "failed to set up debug messenger!"); + if (CreateDebugUtilsMessengerEXT(app->instance, &createInfo, NULL, + &app->debugMessenger) != VK_SUCCESS) { + fprintf(stderr, "failed to set up debug messenger!\n"); + } } } void DestroyDebugUtilsMessengerEXT(VkInstance instance, - VkDebugUtilsMessengerEXT debugMessenger, + VkDebugUtilsMessengerEXT *debugMessenger, const VkAllocationCallbacks *pAllocator) { PFN_vkDestroyDebugUtilsMessengerEXT func = (PFN_vkDestroyDebugUtilsMessengerEXT)vkGetInstanceProcAddr( instance, "vkDestroyDebugUtilsMessengerEXT"); if (func != NULL) { - func(instance, debugMessenger, pAllocator); + func(instance, *debugMessenger, pAllocator); } } void initVulkan(Application *app) { - if (enableValidationLayers) { - setupDebugMessenger(app); - } + setupDebugMessenger(app); createInstance(app); } void mainLoop(Application *app) { @@ -224,7 +225,7 @@ void mainLoop(Application *app) { } void cleanup(Application *app) { if (enableValidationLayers) { - DestroyDebugUtilsMessengerEXT(app->instance, app->debugMessenger, NULL); + DestroyDebugUtilsMessengerEXT(app->instance, &app->debugMessenger, NULL); } vkDestroyInstance(app->instance, NULL); glfwDestroyWindow(app->window);