Refactor how tests enable WSI
authorCharles Giessen <charles@lunarg.com>
Sun, 18 Jun 2023 23:44:17 +0000 (17:44 -0600)
committerCharles Giessen <46324611+charles-lunarg@users.noreply.github.com>
Tue, 20 Jun 2023 19:49:58 +0000 (13:49 -0600)
Moved the various free functions to setup WSI on drivers &
instances to member functions.

tests/framework/icd/test_icd.h
tests/framework/test_environment.cpp
tests/framework/test_environment.h
tests/framework/test_util.cpp
tests/framework/test_util.h
tests/loader_alloc_callback_tests.cpp
tests/loader_debug_ext_tests.cpp
tests/loader_get_proc_addr_tests.cpp
tests/loader_handle_validation_tests.cpp
tests/loader_version_tests.cpp
tests/loader_wsi_tests.cpp

index 8ca7691..0075f8e 100644 (file)
@@ -98,6 +98,13 @@ struct TestICD {
     BUILDER_VALUE(TestICD, bool, enable_icd_wsi, false);
     bool is_using_icd_wsi = false;
 
+    TestICD& setup_WSI(const char* api_selection = nullptr) {
+        enable_icd_wsi = true;
+        add_instance_extensions({"VK_KHR_surface", get_platform_wsi_extension(api_selection)});
+        min_icd_interface_version = (3U < min_icd_interface_version) ? min_icd_interface_version : 3U;
+        return *this;
+    }
+
     BUILDER_VALUE(TestICD, uint32_t, icd_api_version, VK_API_VERSION_1_0)
     BUILDER_VECTOR(TestICD, LayerDefinition, instance_layers, instance_layer)
     BUILDER_VECTOR(TestICD, Extension, instance_extensions, instance_extension)
index c3c3ec4..46ce5bd 100644 (file)
@@ -758,61 +758,6 @@ std::vector<VkLayerProperties> FrameworkEnvironment::GetLayerProperties(uint32_t
     return layer_props;
 }
 
-const char* get_platform_wsi_extension([[maybe_unused]] const char* api_selection) {
-#if defined(VK_USE_PLATFORM_ANDROID_KHR)
-    return "VK_KHR_android_surface";
-#elif defined(VK_USE_PLATFORM_DIRECTFB_EXT)
-    return "VK_EXT_directfb_surface";
-#elif defined(VK_USE_PLATFORM_FUCHSIA)
-    return "VK_FUCHSIA_imagepipe_surface";
-#elif defined(VK_USE_PLATFORM_GGP)
-    return "VK_GGP_stream_descriptor_surface";
-#elif defined(VK_USE_PLATFORM_IOS_MVK)
-    return "VK_MVK_ios_surface";
-#elif defined(VK_USE_PLATFORM_MACOS_MVK) || defined(VK_USE_PLATFORM_METAL_EXT)
-#if defined(VK_USE_PLATFORM_MACOS_MVK)
-    if (string_eq(api_selection, "VK_USE_PLATFORM_MACOS_MVK")) return "VK_MVK_macos_surface";
-#endif
-#if defined(VK_USE_PLATFORM_METAL_EXT)
-    if (string_eq(api_selection, "VK_USE_PLATFORM_METAL_EXT")) return "VK_EXT_metal_surface";
-    return "VK_EXT_metal_surface";
-#endif
-#elif defined(VK_USE_PLATFORM_SCREEN_QNX)
-    return "VK_QNX_screen_surface";
-#elif defined(VK_USE_PLATFORM_VI_NN)
-    return "VK_NN_vi_surface";
-#elif defined(VK_USE_PLATFORM_XCB_KHR) || defined(VK_USE_PLATFORM_XLIB_KHR) || defined(VK_USE_PLATFORM_WAYLAND_KHR)
-#if defined(VK_USE_PLATFORM_XCB_KHR)
-    if (string_eq(api_selection, "VK_USE_PLATFORM_XCB_KHR")) return "VK_KHR_xcb_surface";
-#endif
-#if defined(VK_USE_PLATFORM_XLIB_KHR)
-    if (string_eq(api_selection, "VK_USE_PLATFORM_XLIB_KHR")) return "VK_KHR_xlib_surface";
-#endif
-#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
-    if (string_eq(api_selection, "VK_USE_PLATFORM_WAYLAND_KHR")) return "VK_KHR_wayland_surface";
-#endif
-#if defined(VK_USE_PLATFORM_XCB_KHR)
-    return "VK_KHR_xcb_surface";
-#endif
-#elif defined(VK_USE_PLATFORM_WIN32_KHR)
-    return "VK_KHR_win32_surface";
-#else
-    return "VK_KHR_display";
-#endif
-}
-
-void setup_WSI_in_ICD(TestICD& icd, const char* api_selection) {
-    icd.enable_icd_wsi = true;
-    icd.add_instance_extensions({"VK_KHR_surface", get_platform_wsi_extension(api_selection)});
-    icd.min_icd_interface_version = std::max(icd.min_icd_interface_version, 3U);
-}
-void setup_WSI_in_create_instance(InstWrapper& inst, const char* api_selection) {
-    inst.create_info.add_extensions({"VK_KHR_surface", get_platform_wsi_extension(api_selection)});
-}
-void setup_WSI_in_create_instance(InstanceCreateInfo& inst_create_info, const char* api_selection) {
-    inst_create_info.add_extensions({"VK_KHR_surface", get_platform_wsi_extension(api_selection)});
-}
-
 template <typename CreationFunc, typename CreateInfo>
 VkResult create_surface_helper(VulkanFunctions* functions, VkInstance inst, VkSurfaceKHR& surface, const char* load_func_name) {
     CreationFunc pfn_CreateSurface = functions->load(inst, load_func_name);
index cc2baf7..b6eac95 100644 (file)
@@ -628,16 +628,6 @@ struct FrameworkEnvironment {
     void add_layer_impl(TestLayerDetails layer_details, ManifestCategory category);
 };
 
-// helper function which return a valid WSI platform extension
-// const char* api_selection: use this to select an extension on platforms that support multiple extensions
-const char* get_platform_wsi_extension(const char* api_selection = nullptr);
-
-// The following helpers setup an icd with the required extensions and setting to use with WSI
-// By default they use whatever the set VK_USE_PLATFORM_XXX macros define
-void setup_WSI_in_ICD(TestICD& icd, const char* api_selection = nullptr);
-void setup_WSI_in_create_instance(InstWrapper& inst, const char* api_selection = nullptr);
-void setup_WSI_in_create_instance(InstanceCreateInfo& inst_create_info, const char* api_selection = nullptr);
-
 // Create a surface using a platform specific API
 // api_selection: optionally provide a VK_USE_PLATFORM_XXX string to select which API to create a surface with.
 //    defaults to Metal on macOS and XCB on linux if not provided
index a109061..381b9ac 100644 (file)
@@ -508,6 +508,49 @@ path FolderManager::copy_file(path const& file, std::string const& new_name) {
 }
 }  // namespace fs
 
+const char* get_platform_wsi_extension([[maybe_unused]] const char* api_selection) {
+#if defined(VK_USE_PLATFORM_ANDROID_KHR)
+    return "VK_KHR_android_surface";
+#elif defined(VK_USE_PLATFORM_DIRECTFB_EXT)
+    return "VK_EXT_directfb_surface";
+#elif defined(VK_USE_PLATFORM_FUCHSIA)
+    return "VK_FUCHSIA_imagepipe_surface";
+#elif defined(VK_USE_PLATFORM_GGP)
+    return "VK_GGP_stream_descriptor_surface";
+#elif defined(VK_USE_PLATFORM_IOS_MVK)
+    return "VK_MVK_ios_surface";
+#elif defined(VK_USE_PLATFORM_MACOS_MVK) || defined(VK_USE_PLATFORM_METAL_EXT)
+#if defined(VK_USE_PLATFORM_MACOS_MVK)
+    if (string_eq(api_selection, "VK_USE_PLATFORM_MACOS_MVK")) return "VK_MVK_macos_surface";
+#endif
+#if defined(VK_USE_PLATFORM_METAL_EXT)
+    if (string_eq(api_selection, "VK_USE_PLATFORM_METAL_EXT")) return "VK_EXT_metal_surface";
+    return "VK_EXT_metal_surface";
+#endif
+#elif defined(VK_USE_PLATFORM_SCREEN_QNX)
+    return "VK_QNX_screen_surface";
+#elif defined(VK_USE_PLATFORM_VI_NN)
+    return "VK_NN_vi_surface";
+#elif defined(VK_USE_PLATFORM_XCB_KHR) || defined(VK_USE_PLATFORM_XLIB_KHR) || defined(VK_USE_PLATFORM_WAYLAND_KHR)
+#if defined(VK_USE_PLATFORM_XCB_KHR)
+    if (string_eq(api_selection, "VK_USE_PLATFORM_XCB_KHR")) return "VK_KHR_xcb_surface";
+#endif
+#if defined(VK_USE_PLATFORM_XLIB_KHR)
+    if (string_eq(api_selection, "VK_USE_PLATFORM_XLIB_KHR")) return "VK_KHR_xlib_surface";
+#endif
+#if defined(VK_USE_PLATFORM_WAYLAND_KHR)
+    if (string_eq(api_selection, "VK_USE_PLATFORM_WAYLAND_KHR")) return "VK_KHR_wayland_surface";
+#endif
+#if defined(VK_USE_PLATFORM_XCB_KHR)
+    return "VK_KHR_xcb_surface";
+#endif
+#elif defined(VK_USE_PLATFORM_WIN32_KHR)
+    return "VK_KHR_win32_surface";
+#else
+    return "VK_KHR_display";
+#endif
+}
+
 bool string_eq(const char* a, const char* b) noexcept { return a && b && strcmp(a, b) == 0; }
 bool string_eq(const char* a, const char* b, size_t len) noexcept { return a && b && strncmp(a, b, len) == 0; }
 
@@ -536,6 +579,10 @@ InstanceCreateInfo& InstanceCreateInfo::set_api_version(uint32_t major, uint32_t
     this->api_version = VK_MAKE_API_VERSION(0, major, minor, patch);
     return *this;
 }
+InstanceCreateInfo& InstanceCreateInfo::setup_WSI(const char* api_selection) {
+    add_extensions({"VK_KHR_surface", get_platform_wsi_extension(api_selection)});
+    return *this;
+}
 
 DeviceQueueCreateInfo::DeviceQueueCreateInfo() { queue_create_info.sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO; }
 DeviceQueueCreateInfo::DeviceQueueCreateInfo(const VkDeviceQueueCreateInfo* create_info) {
index 7a47845..913eee0 100644 (file)
@@ -534,6 +534,8 @@ inline std::ostream& operator<<(std::ostream& os, const VkResult& result) {
     return os << static_cast<int32_t>(result);
 }
 
+const char* get_platform_wsi_extension([[maybe_unused]] const char* api_selection);
+
 bool string_eq(const char* a, const char* b) noexcept;
 bool string_eq(const char* a, const char* b, size_t len) noexcept;
 
@@ -696,6 +698,8 @@ struct InstanceCreateInfo {
     VkInstanceCreateInfo* get() noexcept;
 
     InstanceCreateInfo& set_api_version(uint32_t major, uint32_t minor, uint32_t patch);
+
+    InstanceCreateInfo& setup_WSI(const char* api_selection = nullptr);
 };
 
 struct DeviceQueueCreateInfo {
index f48e146..f181a81 100644 (file)
@@ -420,7 +420,7 @@ TEST(Allocation, CreateInstanceIntentionalAllocFail) {
 TEST(Allocation, CreateSurfaceIntentionalAllocFail) {
     FrameworkEnvironment env{FrameworkSettings{}.set_log_filter("error,warn")};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
-    setup_WSI_in_ICD(env.get_test_icd());
+    env.get_test_icd().setup_WSI();
 
     const char* layer_name = "VkLayerImplicit0";
     env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
@@ -437,7 +437,7 @@ TEST(Allocation, CreateSurfaceIntentionalAllocFail) {
 
         VkInstance instance;
         InstanceCreateInfo inst_create_info{};
-        setup_WSI_in_create_instance(inst_create_info);
+        inst_create_info.setup_WSI();
         result = env.vulkan_functions.vkCreateInstance(inst_create_info.get(), tracker.get(), &instance);
         if (result == VK_ERROR_OUT_OF_HOST_MEMORY) {
             ASSERT_TRUE(tracker.empty());
@@ -503,7 +503,7 @@ TEST(Allocation, CreateInstanceIntentionalAllocFailWithSettingsFilePresent) {
 TEST(Allocation, CreateSurfaceIntentionalAllocFailWithSettingsFilePresent) {
     FrameworkEnvironment env{FrameworkSettings{}.set_log_filter("error,warn")};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
-    setup_WSI_in_ICD(env.get_test_icd());
+    env.get_test_icd().setup_WSI();
 
     const char* layer_name = "VkLayerImplicit0";
     env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
@@ -526,7 +526,7 @@ TEST(Allocation, CreateSurfaceIntentionalAllocFailWithSettingsFilePresent) {
 
         VkInstance instance;
         InstanceCreateInfo inst_create_info{};
-        setup_WSI_in_create_instance(inst_create_info);
+        inst_create_info.setup_WSI();
         result = env.vulkan_functions.vkCreateInstance(inst_create_info.get(), tracker.get(), &instance);
         if (result == VK_ERROR_OUT_OF_HOST_MEMORY) {
             ASSERT_TRUE(tracker.empty());
index edf5d44..448fdb8 100644 (file)
@@ -856,7 +856,7 @@ void CheckDeviceFunctions(FrameworkEnvironment& env, bool use_GIPA, bool enable_
     if (enable_debug_extensions) {
         inst.create_info.add_extension("VK_EXT_debug_utils");
     }
-    setup_WSI_in_create_instance(inst);
+    inst.create_info.setup_WSI();
     ASSERT_NO_FATAL_FAILURE(inst.CheckCreate());
 
     auto phys_dev = inst.GetPhysDev();
@@ -1050,7 +1050,7 @@ void CheckDeviceFunctions(FrameworkEnvironment& env, bool use_GIPA, bool enable_
 TEST(GetDeviceProcAddr, DebugFuncsWithTerminator) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA));
-    setup_WSI_in_ICD(env.get_test_icd());
+    env.get_test_icd().setup_WSI();
     env.get_test_icd().physical_devices.emplace_back("physical_device_0");
     env.get_test_icd().physical_devices.at(0).add_extensions({"VK_KHR_swapchain"});
     // Hardware doesn't support the debug extensions
index 7c74ee6..42b4b64 100644 (file)
@@ -192,12 +192,12 @@ TEST(GetProcAddr, GlobalFunctions) {
 TEST(GetDeviceProcAddr, SwapchainFuncsWithTerminator) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA));
-    setup_WSI_in_ICD(env.get_test_icd());
+    env.get_test_icd().setup_WSI();
     env.get_test_icd().physical_devices.emplace_back("physical_device_0");
 
     InstWrapper inst(env.vulkan_functions);
     inst.create_info.add_extension("VK_EXT_debug_utils");
-    setup_WSI_in_create_instance(inst);
+    inst.create_info.setup_WSI();
     ASSERT_NO_FATAL_FAILURE(inst.CheckCreate());
 
     VkSurfaceKHR surface{};
index 033a2f5..e0bb3c6 100644 (file)
@@ -156,11 +156,11 @@ TEST(LoaderHandleValidTests, BadInstCreateAndroidSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_instance = get_bad_handle<VkInstance>();
@@ -179,11 +179,11 @@ TEST(LoaderHandleValidTests, BadInstCreateDirectFBSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_instance = get_bad_handle<VkInstance>();
@@ -202,11 +202,11 @@ TEST(LoaderHandleValidTests, BadInstCreateFuchsiaSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_instance = get_bad_handle<VkInstance>();
@@ -225,11 +225,11 @@ TEST(LoaderHandleValidTests, BadInstCreateGGPSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_instance = get_bad_handle<VkInstance>();
@@ -249,11 +249,11 @@ TEST(LoaderHandleValidTests, BadInstCreateIOSSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_instance = get_bad_handle<VkInstance>();
@@ -272,11 +272,11 @@ TEST(LoaderHandleValidTests, BadInstCreateMacOSSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_instance = get_bad_handle<VkInstance>();
@@ -295,11 +295,11 @@ TEST(LoaderHandleValidTests, BadInstCreateMetalSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_instance = get_bad_handle<VkInstance>();
@@ -318,11 +318,11 @@ TEST(LoaderHandleValidTests, BadInstCreateQNXSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_instance = get_bad_handle<VkInstance>();
@@ -342,11 +342,11 @@ TEST(LoaderHandleValidTests, BadInstCreateViNNSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_instance = get_bad_handle<VkInstance>();
@@ -366,11 +366,11 @@ TEST(LoaderHandleValidTests, BadInstCreateWaylandSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_instance = get_bad_handle<VkInstance>();
@@ -390,11 +390,11 @@ TEST(LoaderHandleValidTests, BadInstCreateWin32Surf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_instance = get_bad_handle<VkInstance>();
@@ -414,11 +414,11 @@ TEST(LoaderHandleValidTests, BadInstCreateXCBSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_instance = get_bad_handle<VkInstance>();
@@ -438,11 +438,11 @@ TEST(LoaderHandleValidTests, BadInstCreateXlibSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_instance = get_bad_handle<VkInstance>();
@@ -948,11 +948,11 @@ TEST(LoaderHandleValidTests, BadPhysDevGetDirectFBPresentSupportKHR) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_physical_dev = get_bad_handle<VkPhysicalDevice>();
@@ -968,11 +968,11 @@ TEST(LoaderHandleValidTests, BadPhysDevGetQNXPresentSupportKHR) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_physical_dev = get_bad_handle<VkPhysicalDevice>();
@@ -987,11 +987,11 @@ TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevWaylandPresentSupportKHR) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_physical_dev = get_bad_handle<VkPhysicalDevice>();
@@ -1006,11 +1006,11 @@ TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevWin32PresentSupportKHR) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_physical_dev = get_bad_handle<VkPhysicalDevice>();
@@ -1025,11 +1025,11 @@ TEST(LoaderHandleValidTests, BadPhysDevGetXCBPresentSupportKHR) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
     auto bad_physical_dev = get_bad_handle<VkPhysicalDevice>();
 
@@ -1045,11 +1045,11 @@ TEST(LoaderHandleValidTests, BadPhysDevGetXlibPresentSupportKHR) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.CheckCreate();
 
     auto bad_physical_dev = get_bad_handle<VkPhysicalDevice>();
@@ -1533,7 +1533,7 @@ TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfacePresentModes2EXT) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     driver.physical_devices.emplace_back("physical_device_0");
 
     InstWrapper instance(env.vulkan_functions);
@@ -1575,7 +1575,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingAndroidSurface) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
 
     const char* wrap_objects_name = "WrapObjectsLayer";
     env.add_explicit_layer(ManifestLayer{}.add_layer(
@@ -1587,7 +1587,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingAndroidSurface) {
     driver.physical_devices.back().queue_family_properties.push_back(family_props);
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.create_info.add_layer(wrap_objects_name);
     instance.CheckCreate();
 
@@ -1609,7 +1609,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingDirectFBSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
 
     const char* wrap_objects_name = "WrapObjectsLayer";
     env.add_explicit_layer(ManifestLayer{}.add_layer(
@@ -1621,7 +1621,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingDirectFBSurf) {
     driver.physical_devices.back().queue_family_properties.push_back(family_props);
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.create_info.add_layer(wrap_objects_name);
     instance.CheckCreate();
 
@@ -1643,7 +1643,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingFuchsiaSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
 
     const char* wrap_objects_name = "WrapObjectsLayer";
     env.add_explicit_layer(ManifestLayer{}.add_layer(
@@ -1655,7 +1655,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingFuchsiaSurf) {
     driver.physical_devices.back().queue_family_properties.push_back(family_props);
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.create_info.add_layer(wrap_objects_name);
     instance.CheckCreate();
 
@@ -1677,7 +1677,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingGGPSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
 
     const char* wrap_objects_name = "WrapObjectsLayer";
     env.add_explicit_layer(ManifestLayer{}.add_layer(
@@ -1689,7 +1689,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingGGPSurf) {
     driver.physical_devices.back().queue_family_properties.push_back(family_props);
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.create_info.add_layer(wrap_objects_name);
     instance.CheckCreate();
 
@@ -1711,7 +1711,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingIOSSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
 
     const char* wrap_objects_name = "WrapObjectsLayer";
     env.add_explicit_layer(ManifestLayer{}.add_layer(
@@ -1723,7 +1723,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingIOSSurf) {
     driver.physical_devices.back().queue_family_properties.push_back(family_props);
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.create_info.add_layer(wrap_objects_name);
     instance.CheckCreate();
 
@@ -1745,7 +1745,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingMacOSSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver, "VK_USE_PLATFORM_MACOS_MVK");
+    driver.setup_WSI("VK_USE_PLATFORM_MACOS_MVK");
 
     const char* wrap_objects_name = "WrapObjectsLayer";
     env.add_explicit_layer(ManifestLayer{}.add_layer(
@@ -1757,7 +1757,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingMacOSSurf) {
     driver.physical_devices.back().queue_family_properties.push_back(family_props);
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance, "VK_USE_PLATFORM_MACOS_MVK");
+    instance.create_info.setup_WSI("VK_USE_PLATFORM_MACOS_MVK");
     instance.create_info.add_layer(wrap_objects_name);
     instance.CheckCreate();
 
@@ -1779,7 +1779,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingMetalSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver, "VK_USE_PLATFORM_METAL_EXT");
+    driver.setup_WSI("VK_USE_PLATFORM_METAL_EXT");
 
     const char* wrap_objects_name = "WrapObjectsLayer";
     env.add_explicit_layer(ManifestLayer{}.add_layer(
@@ -1791,7 +1791,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingMetalSurf) {
     driver.physical_devices.back().queue_family_properties.push_back(family_props);
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance, "VK_USE_PLATFORM_METAL_EXT");
+    instance.create_info.setup_WSI("VK_USE_PLATFORM_METAL_EXT");
     instance.create_info.add_layer(wrap_objects_name);
     instance.CheckCreate();
 
@@ -1813,7 +1813,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingQNXSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
 
     const char* wrap_objects_name = "WrapObjectsLayer";
     env.add_explicit_layer(ManifestLayer{}.add_layer(
@@ -1825,7 +1825,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingQNXSurf) {
     driver.physical_devices.back().queue_family_properties.push_back(family_props);
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.create_info.add_layer(wrap_objects_name);
     instance.CheckCreate();
 
@@ -1847,7 +1847,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingViNNSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
 
     const char* wrap_objects_name = "WrapObjectsLayer";
     env.add_explicit_layer(ManifestLayer{}.add_layer(
@@ -1859,7 +1859,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingViNNSurf) {
     driver.physical_devices.back().queue_family_properties.push_back(family_props);
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.create_info.add_layer(wrap_objects_name);
     instance.CheckCreate();
 
@@ -1881,7 +1881,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingWaylandSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver, "VK_USE_PLATFORM_WAYLAND_KHR");
+    driver.setup_WSI("VK_USE_PLATFORM_WAYLAND_KHR");
 
     const char* wrap_objects_name = "WrapObjectsLayer";
     env.add_explicit_layer(ManifestLayer{}.add_layer(
@@ -1893,7 +1893,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingWaylandSurf) {
     driver.physical_devices.back().queue_family_properties.push_back(family_props);
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance, "VK_USE_PLATFORM_WAYLAND_KHR");
+    instance.create_info.setup_WSI("VK_USE_PLATFORM_WAYLAND_KHR");
     instance.create_info.add_layer(wrap_objects_name);
     instance.CheckCreate();
 
@@ -1915,7 +1915,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingWin32Surf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
 
     const char* wrap_objects_name = "WrapObjectsLayer";
     env.add_explicit_layer(ManifestLayer{}.add_layer(
@@ -1927,7 +1927,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingWin32Surf) {
     driver.physical_devices.back().queue_family_properties.push_back(family_props);
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.create_info.add_layer(wrap_objects_name);
     instance.CheckCreate();
 
@@ -1949,7 +1949,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingXCBSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
 
     const char* wrap_objects_name = "WrapObjectsLayer";
     env.add_explicit_layer(ManifestLayer{}.add_layer(
@@ -1961,7 +1961,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingXCBSurf) {
     driver.physical_devices.back().queue_family_properties.push_back(family_props);
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance);
+    instance.create_info.setup_WSI();
     instance.create_info.add_layer(wrap_objects_name);
     instance.CheckCreate();
 
@@ -1983,7 +1983,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingXlibSurf) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver, "VK_USE_PLATFORM_XLIB_KHR");
+    driver.setup_WSI("VK_USE_PLATFORM_XLIB_KHR");
     for (auto& ext : driver.instance_extensions) {
         std::cout << ext.extensionName << "\n";
     }
@@ -1997,7 +1997,7 @@ TEST(LoaderHandleValidTests, VerifyHandleWrappingXlibSurf) {
     driver.physical_devices.back().queue_family_properties.push_back(family_props);
 
     InstWrapper instance(env.vulkan_functions);
-    setup_WSI_in_create_instance(instance, "VK_USE_PLATFORM_XLIB_KHR");
+    instance.create_info.setup_WSI("VK_USE_PLATFORM_XLIB_KHR");
     //
     for (auto& ext : instance.create_info.enabled_extensions) {
         std::cout << ext << "\n";
index c2e105e..f47ad8b 100644 (file)
@@ -502,7 +502,7 @@ TEST(MultipleICDConfig, version_5_and_version_6) {
         auto& driver_5 = env.get_test_icd(i * 2 + 1);
         driver_5.set_max_icd_interface_version(5);
         driver_5.set_min_icd_interface_version(5);
-        setup_WSI_in_ICD(driver_5);
+        driver_5.setup_WSI();
         driver_5.physical_devices.push_back({});
         driver_5.physical_devices.back().queue_family_properties.push_back(family_props);
         driver_5.physical_devices.push_back({});
@@ -512,7 +512,7 @@ TEST(MultipleICDConfig, version_5_and_version_6) {
         physical_count += static_cast<uint32_t>(driver_5.physical_devices.size());
 
         auto& driver_6 = env.get_test_icd(i * 2);
-        setup_WSI_in_ICD(driver_6);
+        driver_6.setup_WSI();
         driver_6.physical_devices.emplace_back("physical_device_0");
         driver_6.physical_devices.back().queue_family_properties.push_back(family_props);
         driver_6.physical_devices.emplace_back("physical_device_1");
@@ -533,7 +533,7 @@ TEST(MultipleICDConfig, version_5_and_version_6) {
     }
     uint32_t returned_physical_count = 0;
     InstWrapper inst{env.vulkan_functions};
-    setup_WSI_in_create_instance(inst);
+    inst.create_info.setup_WSI();
     inst.CheckCreate();
 
     ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumeratePhysicalDevices(inst.inst, &returned_physical_count, nullptr));
index 8924857..772c163 100644 (file)
@@ -782,7 +782,7 @@ TEST(WsiTests, ForgetEnableSurfaceExtensions) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
 
     driver.physical_devices.emplace_back("physical_device_0");
@@ -801,7 +801,7 @@ TEST(WsiTests, SwapchainFunctional) {
     FrameworkEnvironment env{};
     env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
     auto& driver = env.get_test_icd();
-    setup_WSI_in_ICD(driver);
+    driver.setup_WSI();
     MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
 
     driver.physical_devices.emplace_back("physical_device_0");
@@ -809,7 +809,7 @@ TEST(WsiTests, SwapchainFunctional) {
     driver.physical_devices.back().add_extension("VK_KHR_swapchain");
 
     InstWrapper inst{env.vulkan_functions};
-    setup_WSI_in_create_instance(inst);
+    inst.create_info.setup_WSI();
     inst.CheckCreate();
     VkSurfaceKHR surface{};
     ASSERT_EQ(VK_SUCCESS, create_surface(inst, surface));