diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/VulkanRenderer.cpp b/MobileGL/MG_Backend/DirectVulkan/Renderer/VulkanRenderer.cpp index 8d37101a..45d1de57 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/VulkanRenderer.cpp +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/VulkanRenderer.cpp @@ -60,19 +60,19 @@ namespace MobileGL::MG_Backend::DirectVulkan { void VulkanRenderer::Initialize() { CreateInstance(); + CreateSurface(); PickPhysicalDevice(); CreateLogicalDevice(); - CreateSurface(); MGLOG_D("VulkanRenderer initialized"); } void VulkanRenderer::Shutdown() { - if (m_surface != VK_NULL_HANDLE) - vkDestroySurfaceKHR(m_instance, m_surface, nullptr); - if (m_device != VK_NULL_HANDLE) vkDestroyDevice(m_device, nullptr); + if (m_surface != VK_NULL_HANDLE) + vkDestroySurfaceKHR(m_instance, m_surface, nullptr); + if (m_debugMessenger != VK_NULL_HANDLE) DestroyDebugMessenger(); diff --git a/MobileGL/MG_Backend/DirectVulkan/Renderer/VulkanRenderer.h b/MobileGL/MG_Backend/DirectVulkan/Renderer/VulkanRenderer.h index 2f5a1f4f..8d394827 100644 --- a/MobileGL/MG_Backend/DirectVulkan/Renderer/VulkanRenderer.h +++ b/MobileGL/MG_Backend/DirectVulkan/Renderer/VulkanRenderer.h @@ -59,11 +59,13 @@ namespace MobileGL::MG_Backend::DirectVulkan { VkDebugUtilsMessengerEXT m_debugMessenger = VK_NULL_HANDLE; VkPhysicalDevice m_physicalDevice = VK_NULL_HANDLE; VkDevice m_device = VK_NULL_HANDLE; - VkQueue m_graphicsQueue = VK_NULL_HANDLE; VkSurfaceKHR m_surface = VK_NULL_HANDLE; + Vector m_queueFamilies; QueueFamilyIndices m_queueFamilyIndices; + VkQueue m_graphicsQueue = VK_NULL_HANDLE; + void CreateInstance(); void DestroyInstance(); VkResult SetupDebugMessenger();