Move the responsibility to register the debugutils callback to the VulkanContext. We only use one anyway.

This commit is contained in:
Henrik Rydgård committed 2020-06-21 23:04:51 +02:00
1 parent 6532c345c8
commit fbc4fa5bca
4 files changed
+15 -19

No files matched your search

+12 -9
View File
@@ -247,6 +247,11 @@ VkResult VulkanContext::CreateInstance(const CreateInfo &info) {
vkGetPhysicalDeviceProperties(physical_devices_[i], &physicalDeviceProperties_[i].properties);
}
}
if (extensionsLookup_.EXT_debug_utils) {
InitDebugUtilsCallback();
}
return VK_SUCCESS;
}
@@ -255,6 +260,13 @@ VulkanContext::~VulkanContext() {
}
void VulkanContext::DestroyInstance() {
if (extensionsLookup_.EXT_debug_utils) {
while (utils_callbacks.size() > 0) {
vkDestroyDebugUtilsMessengerEXT(instance_, utils_callbacks.back(), nullptr);
utils_callbacks.pop_back();
}
}
vkDestroyInstance(instance_, nullptr);
VulkanFree();
instance_ = VK_NULL_HANDLE;
@@ -687,15 +699,6 @@ VkResult VulkanContext::InitDebugUtilsCallback() {
return res;
}
void VulkanContext::DestroyDebugUtilsCallback() {
if (extensionsLookup_.EXT_debug_utils) {
while (utils_callbacks.size() > 0) {
vkDestroyDebugUtilsMessengerEXT(instance_, utils_callbacks.back(), nullptr);
utils_callbacks.pop_back();
}
}
}
VkResult VulkanContext::InitSurface(WindowSystem winsys, void *data1, void *data2) {
winsys_ = winsys;
winsysData1_ = data1;