From 66c6072de4148fc51414d83dee7ee16e83441235 Mon Sep 17 00:00:00 2001 From: hyzboy Date: Thu, 23 Sep 2021 21:20:29 +0800 Subject: [PATCH] Improve the code that defines the extension list when initializing the Vulkan Instance --- src/SceneGraph/Vulkan/VKInstance.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/SceneGraph/Vulkan/VKInstance.cpp b/src/SceneGraph/Vulkan/VKInstance.cpp index 53d5e96a..70889b9f 100644 --- a/src/SceneGraph/Vulkan/VKInstance.cpp +++ b/src/SceneGraph/Vulkan/VKInstance.cpp @@ -25,13 +25,18 @@ VulkanInstance *CreateInstance(const AnsiString &app_name,VKDebugOut *out,Create ext_list.Add(VK_KHR_SURFACE_EXTENSION_NAME); ext_list.Add(HGL_VK_SURFACE_EXTENSION_NAME); //此宏在VKSurfaceExtensionName.h中定义 - if(CheckInstanceExtensionSupport(VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME)) - ext_list.Add(VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME); - + constexpr char *require_ext_list[]= + { #ifdef _DEBUG - ext_list.Add(VK_EXT_DEBUG_REPORT_EXTENSION_NAME); - ext_list.Add(VK_EXT_DEBUG_UTILS_EXTENSION_NAME); + VK_EXT_DEBUG_REPORT_EXTENSION_NAME, + VK_EXT_DEBUG_UTILS_EXTENSION_NAME, #endif//_DEBUG + VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME, + }; + + for(const char *ext_name:require_ext_list) + if(CheckInstanceExtensionSupport(ext_name)) + ext_list.Add(ext_name); if(layer_info) {