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) {