[Chore] (MG_Test/Backend/DirectVulkan): create surface first, then logical device

This commit is contained in:
2026-02-11 22:53:50 +08:00
parent a28f5eeee6
commit b2ea29b91d
2 changed files with 7 additions and 5 deletions
@@ -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();
@@ -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<VkQueueFamilyProperties> m_queueFamilies;
QueueFamilyIndices m_queueFamilyIndices;
VkQueue m_graphicsQueue = VK_NULL_HANDLE;
void CreateInstance();
void DestroyInstance();
VkResult SetupDebugMessenger();