Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/Vulkan-Loader.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Giessen <charles@lunarg.com>2022-03-29 08:12:49 +0300
committerCharles Giessen <46324611+charles-lunarg@users.noreply.github.com>2022-03-30 01:10:30 +0300
commitedc995aef7a8bbb00bbff9b18ab267de53815292 (patch)
tree4ddb006cca8b697914de90201f919777b48a4460
parent5edd2f06d4e4288096c9c0c960408ee75adbd5b1 (diff)
Replace TEST_F with TEST in most tests
Test fixturing (TEST_F) is useful when there is a lot of common code that needs to be run for a suite of tests. However, the FrameworkEnvironment encapsulates almost all of the setup work all tests needs, and so doesn't need to be in a fixture. Making the add_icd call inside the tests makes it clear which binary is being used. This commit also uses the corrent signed/unsigned constants in tests, as was warned by compilers when enhanced warnings were enabled (/W4 in msvc).
-rw-r--r--tests/loader_alloc_callback_tests.cpp162
-rw-r--r--tests/loader_envvar_tests.cpp8
-rw-r--r--tests/loader_handle_validation_tests.cpp1069
-rw-r--r--tests/loader_layer_tests.cpp1807
-rw-r--r--tests/loader_phys_dev_inst_ext_tests.cpp122
-rw-r--r--tests/loader_regression_tests.cpp614
-rw-r--r--tests/loader_threading_tests.cpp35
-rw-r--r--tests/loader_unknown_ext_tests.cpp348
-rw-r--r--tests/loader_version_tests.cpp68
-rw-r--r--tests/loader_wsi_tests.cpp25
10 files changed, 2280 insertions, 1978 deletions
diff --git a/tests/loader_alloc_callback_tests.cpp b/tests/loader_alloc_callback_tests.cpp
index c16bfca6a..e48a1d18b 100644
--- a/tests/loader_alloc_callback_tests.cpp
+++ b/tests/loader_alloc_callback_tests.cpp
@@ -199,8 +199,8 @@ class MemoryTracker {
class Allocation : public ::testing::Test {
protected:
virtual void SetUp() {
- env = std::unique_ptr<FrameworkEnvironment>(new FrameworkEnvironment());
- env->add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
}
virtual void TearDown() { env.reset(); }
@@ -209,10 +209,13 @@ class Allocation : public ::testing::Test {
// Test making sure the allocation functions are called to allocate and cleanup everything during
// a CreateInstance/DestroyInstance call pair.
-TEST_F(Allocation, Instance) {
+TEST(Allocation, Instance) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
MemoryTracker tracker;
{
- InstWrapper inst{env->vulkan_functions, tracker.get()};
+ InstWrapper inst{env.vulkan_functions, tracker.get()};
inst.CheckCreate();
}
ASSERT_TRUE(tracker.empty());
@@ -220,10 +223,13 @@ TEST_F(Allocation, Instance) {
// Test making sure the allocation functions are called to allocate and cleanup everything during
// a CreateInstance/DestroyInstance call pair with a call to GetInstanceProcAddr.
-TEST_F(Allocation, GetInstanceProcAddr) {
+TEST(Allocation, GetInstanceProcAddr) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
MemoryTracker tracker;
{
- InstWrapper inst{env->vulkan_functions, tracker.get()};
+ InstWrapper inst{env.vulkan_functions, tracker.get()};
inst.CheckCreate();
auto* pfnCreateDevice = inst->vkGetInstanceProcAddr(inst, "vkCreateDevice");
@@ -235,12 +241,15 @@ TEST_F(Allocation, GetInstanceProcAddr) {
// Test making sure the allocation functions are called to allocate and cleanup everything during
// a vkEnumeratePhysicalDevices call pair.
-TEST_F(Allocation, EnumeratePhysicalDevices) {
+TEST(Allocation, EnumeratePhysicalDevices) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
MemoryTracker tracker;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
{
- InstWrapper inst{env->vulkan_functions, tracker.get()};
+ InstWrapper inst{env.vulkan_functions, tracker.get()};
inst.CheckCreate();
uint32_t physical_count = 1;
uint32_t returned_physical_count = 0;
@@ -257,13 +266,16 @@ TEST_F(Allocation, EnumeratePhysicalDevices) {
// Test making sure the allocation functions are called to allocate and cleanup everything from
// vkCreateInstance, to vkCreateDevicce, and then through their destructors. With special
// allocators used on both the instance and device.
-TEST_F(Allocation, InstanceAndDevice) {
+TEST(Allocation, InstanceAndDevice) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
MemoryTracker tracker;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices[0].add_queue_family_properties({{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, false});
{
- InstWrapper inst{env->vulkan_functions, tracker.get()};
+ InstWrapper inst{env.vulkan_functions, tracker.get()};
inst.CheckCreate();
uint32_t physical_count = 1;
@@ -277,15 +289,15 @@ TEST_F(Allocation, InstanceAndDevice) {
uint32_t family_count = 1;
uint32_t returned_family_count = 0;
- env->vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, nullptr);
+ env.vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, nullptr);
ASSERT_EQ(returned_family_count, family_count);
VkQueueFamilyProperties family;
- env->vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, &family);
+ env.vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, &family);
ASSERT_EQ(returned_family_count, family_count);
- ASSERT_EQ(family.queueFlags, VK_QUEUE_GRAPHICS_BIT);
+ ASSERT_EQ(family.queueFlags, static_cast<VkQueueFlags>(VK_QUEUE_GRAPHICS_BIT));
ASSERT_EQ(family.queueCount, family_count);
- ASSERT_EQ(family.timestampValidBits, 0);
+ ASSERT_EQ(family.timestampValidBits, 0U);
DeviceCreateInfo dev_create_info;
DeviceQueueCreateInfo queue_info;
@@ -301,14 +313,17 @@ TEST_F(Allocation, InstanceAndDevice) {
// Test making sure the allocation functions are called to allocate and cleanup everything from
// vkCreateInstance, to vkCreateDevicce, and then through their destructors. With special
// allocators used on only the instance and not the device.
-TEST_F(Allocation, InstanceButNotDevice) {
+TEST(Allocation, InstanceButNotDevice) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
MemoryTracker tracker;
{
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices[0].add_queue_family_properties({{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, false});
- InstWrapper inst{env->vulkan_functions, tracker.get()};
+ InstWrapper inst{env.vulkan_functions, tracker.get()};
inst.CheckCreate();
uint32_t physical_count = 1;
@@ -322,15 +337,15 @@ TEST_F(Allocation, InstanceButNotDevice) {
uint32_t family_count = 1;
uint32_t returned_family_count = 0;
- env->vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, nullptr);
+ env.vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, nullptr);
ASSERT_EQ(returned_family_count, family_count);
VkQueueFamilyProperties family;
- env->vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, &family);
+ env.vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, &family);
ASSERT_EQ(returned_family_count, family_count);
- ASSERT_EQ(family.queueFlags, VK_QUEUE_GRAPHICS_BIT);
+ ASSERT_EQ(family.queueFlags, static_cast<VkQueueFlags>(VK_QUEUE_GRAPHICS_BIT));
ASSERT_EQ(family.queueCount, family_count);
- ASSERT_EQ(family.timestampValidBits, 0);
+ ASSERT_EQ(family.timestampValidBits, 0U);
DeviceCreateInfo dev_create_info;
DeviceQueueCreateInfo queue_info;
@@ -347,14 +362,17 @@ TEST_F(Allocation, InstanceButNotDevice) {
// Test making sure the allocation functions are called to allocate and cleanup everything from
// vkCreateInstance, to vkCreateDevicce, and then through their destructors. With special
// allocators used on only the device and not the instance.
-TEST_F(Allocation, DeviceButNotInstance) {
+TEST(Allocation, DeviceButNotInstance) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
MemoryTracker tracker;
{
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices[0].add_queue_family_properties({{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, false});
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
uint32_t physical_count = 1;
@@ -368,15 +386,15 @@ TEST_F(Allocation, DeviceButNotInstance) {
uint32_t family_count = 1;
uint32_t returned_family_count = 0;
- env->vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, nullptr);
+ env.vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, nullptr);
ASSERT_EQ(returned_family_count, family_count);
VkQueueFamilyProperties family;
- env->vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, &family);
+ env.vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, &family);
ASSERT_EQ(returned_family_count, family_count);
- ASSERT_EQ(family.queueFlags, VK_QUEUE_GRAPHICS_BIT);
+ ASSERT_EQ(family.queueFlags, static_cast<VkQueueFlags>(VK_QUEUE_GRAPHICS_BIT));
ASSERT_EQ(family.queueCount, family_count);
- ASSERT_EQ(family.timestampValidBits, 0);
+ ASSERT_EQ(family.timestampValidBits, 0U);
DeviceCreateInfo dev_create_info;
DeviceQueueCreateInfo queue_info;
@@ -392,7 +410,10 @@ TEST_F(Allocation, DeviceButNotInstance) {
// Test failure during vkCreateInstance to make sure we don't leak memory if
// one of the out-of-memory conditions trigger.
-TEST_F(Allocation, CreateInstanceIntentionalAllocFail) {
+TEST(Allocation, CreateInstanceIntentionalAllocFail) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
size_t fail_index = 0;
VkResult result = VK_ERROR_OUT_OF_HOST_MEMORY;
while (result == VK_ERROR_OUT_OF_HOST_MEMORY && fail_index <= 10000) {
@@ -400,9 +421,9 @@ TEST_F(Allocation, CreateInstanceIntentionalAllocFail) {
VkInstance instance;
InstanceCreateInfo inst_create_info{};
- result = env->vulkan_functions.vkCreateInstance(inst_create_info.get(), tracker.get(), &instance);
+ result = env.vulkan_functions.vkCreateInstance(inst_create_info.get(), tracker.get(), &instance);
if (result == VK_SUCCESS) {
- env->vulkan_functions.vkDestroyInstance(instance, tracker.get());
+ env.vulkan_functions.vkDestroyInstance(instance, tracker.get());
}
ASSERT_TRUE(tracker.empty());
fail_index++;
@@ -413,14 +434,17 @@ TEST_F(Allocation, CreateInstanceIntentionalAllocFail) {
// one of the out-of-memory conditions trigger.
// Use 2 physical devices so that anything which copies a list of devices item by item
// may fail.
-TEST_F(Allocation, CreateDeviceIntentionalAllocFail) {
- auto& driver = env->get_test_icd();
+TEST(Allocation, CreateDeviceIntentionalAllocFail) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices[0].add_queue_family_properties({{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, false});
driver.physical_devices.emplace_back("physical_device_1");
driver.physical_devices[1].add_queue_family_properties({{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, false});
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
uint32_t physical_count = 2;
@@ -434,15 +458,15 @@ TEST_F(Allocation, CreateDeviceIntentionalAllocFail) {
uint32_t family_count = 1;
uint32_t returned_family_count = 0;
- env->vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_devices[0], &returned_family_count, nullptr);
+ env.vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_devices[0], &returned_family_count, nullptr);
ASSERT_EQ(returned_family_count, family_count);
VkQueueFamilyProperties family;
- env->vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_devices[0], &returned_family_count, &family);
+ env.vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_devices[0], &returned_family_count, &family);
ASSERT_EQ(returned_family_count, family_count);
- ASSERT_EQ(family.queueFlags, VK_QUEUE_GRAPHICS_BIT);
+ ASSERT_EQ(family.queueFlags, static_cast<VkQueueFlags>(VK_QUEUE_GRAPHICS_BIT));
ASSERT_EQ(family.queueCount, family_count);
- ASSERT_EQ(family.timestampValidBits, 0);
+ ASSERT_EQ(family.timestampValidBits, 0U);
size_t fail_index = 0;
VkResult result = VK_ERROR_OUT_OF_HOST_MEMORY;
@@ -467,8 +491,11 @@ TEST_F(Allocation, CreateDeviceIntentionalAllocFail) {
// Test failure during vkCreateInstance and vkCreateDevice to make sure we don't
// leak memory if one of the out-of-memory conditions trigger.
-TEST_F(Allocation, CreateInstanceDeviceIntentionalAllocFail) {
- auto& driver = env->get_test_icd();
+TEST(Allocation, CreateInstanceDeviceIntentionalAllocFail) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices[0].add_queue_family_properties({{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, false});
@@ -480,7 +507,7 @@ TEST_F(Allocation, CreateInstanceDeviceIntentionalAllocFail) {
VkInstance instance;
InstanceCreateInfo inst_create_info{};
- result = env->vulkan_functions.vkCreateInstance(inst_create_info.get(), tracker.get(), &instance);
+ result = env.vulkan_functions.vkCreateInstance(inst_create_info.get(), tracker.get(), &instance);
if (result == VK_ERROR_OUT_OF_HOST_MEMORY) {
ASSERT_TRUE(tracker.empty());
continue;
@@ -488,18 +515,18 @@ TEST_F(Allocation, CreateInstanceDeviceIntentionalAllocFail) {
uint32_t physical_count = 1;
uint32_t returned_physical_count = 0;
- result = env->vulkan_functions.vkEnumeratePhysicalDevices(instance, &returned_physical_count, nullptr);
+ result = env.vulkan_functions.vkEnumeratePhysicalDevices(instance, &returned_physical_count, nullptr);
if (result == VK_ERROR_OUT_OF_HOST_MEMORY) {
- env->vulkan_functions.vkDestroyInstance(instance, tracker.get());
+ env.vulkan_functions.vkDestroyInstance(instance, tracker.get());
ASSERT_TRUE(tracker.empty());
continue;
}
ASSERT_EQ(physical_count, returned_physical_count);
VkPhysicalDevice physical_device;
- result = env->vulkan_functions.vkEnumeratePhysicalDevices(instance, &returned_physical_count, &physical_device);
+ result = env.vulkan_functions.vkEnumeratePhysicalDevices(instance, &returned_physical_count, &physical_device);
if (result == VK_ERROR_OUT_OF_HOST_MEMORY) {
- env->vulkan_functions.vkDestroyInstance(instance, tracker.get());
+ env.vulkan_functions.vkDestroyInstance(instance, tracker.get());
ASSERT_TRUE(tracker.empty());
continue;
}
@@ -507,15 +534,15 @@ TEST_F(Allocation, CreateInstanceDeviceIntentionalAllocFail) {
uint32_t family_count = 1;
uint32_t returned_family_count = 0;
- env->vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, nullptr);
+ env.vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, nullptr);
ASSERT_EQ(returned_family_count, family_count);
VkQueueFamilyProperties family;
- env->vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, &family);
+ env.vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(physical_device, &returned_family_count, &family);
ASSERT_EQ(returned_family_count, family_count);
- ASSERT_EQ(family.queueFlags, VK_QUEUE_GRAPHICS_BIT);
+ ASSERT_EQ(family.queueFlags, static_cast<VkQueueFlags>(VK_QUEUE_GRAPHICS_BIT));
ASSERT_EQ(family.queueCount, family_count);
- ASSERT_EQ(family.timestampValidBits, 0);
+ ASSERT_EQ(family.timestampValidBits, 0U);
DeviceCreateInfo dev_create_info;
DeviceQueueCreateInfo queue_info;
@@ -523,11 +550,11 @@ TEST_F(Allocation, CreateInstanceDeviceIntentionalAllocFail) {
dev_create_info.add_device_queue(queue_info);
VkDevice device;
- result = env->vulkan_functions.vkCreateDevice(physical_device, dev_create_info.get(), tracker.get(), &device);
+ result = env.vulkan_functions.vkCreateDevice(physical_device, dev_create_info.get(), tracker.get(), &device);
if (result == VK_SUCCESS) {
- env->vulkan_functions.vkDestroyDevice(device, tracker.get());
+ env.vulkan_functions.vkDestroyDevice(device, tracker.get());
}
- env->vulkan_functions.vkDestroyInstance(instance, tracker.get());
+ env.vulkan_functions.vkDestroyInstance(instance, tracker.get());
ASSERT_TRUE(tracker.empty());
}
@@ -559,7 +586,10 @@ TEST(TryLoadWrongBinaries, CreateInstanceIntentionalAllocFail) {
// Test failure during vkCreateInstance and vkCreateDevice to make sure we don't
// leak memory if one of the out-of-memory conditions trigger.
-TEST_F(Allocation, EnumeratePhysicalDevicesIntentionalAllocFail) {
+TEST(Allocation, EnumeratePhysicalDevicesIntentionalAllocFail) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
size_t fail_index = 0;
bool reached_the_end = false;
uint32_t starting_physical_dev_count = 3;
@@ -567,7 +597,7 @@ TEST_F(Allocation, EnumeratePhysicalDevicesIntentionalAllocFail) {
fail_index++; // applies to the next loop
uint32_t physical_dev_count = starting_physical_dev_count;
VkResult result = VK_ERROR_OUT_OF_HOST_MEMORY;
- auto& driver = env->reset_icd();
+ auto& driver = env.reset_icd();
for (uint32_t i = 0; i < physical_dev_count; i++) {
driver.physical_devices.emplace_back(std::string("physical_device_") + std::to_string(i));
@@ -576,16 +606,16 @@ TEST_F(Allocation, EnumeratePhysicalDevicesIntentionalAllocFail) {
MemoryTracker tracker{MemoryTrackerSettings{false, 0, true, fail_index}};
InstanceCreateInfo inst_create_info;
VkInstance instance;
- result = env->vulkan_functions.vkCreateInstance(inst_create_info.get(), tracker.get(), &instance);
+ result = env.vulkan_functions.vkCreateInstance(inst_create_info.get(), tracker.get(), &instance);
if (result == VK_ERROR_OUT_OF_HOST_MEMORY) {
ASSERT_TRUE(tracker.empty());
continue;
}
uint32_t returned_physical_count = 0;
- result = env->vulkan_functions.vkEnumeratePhysicalDevices(instance, &returned_physical_count, nullptr);
+ result = env.vulkan_functions.vkEnumeratePhysicalDevices(instance, &returned_physical_count, nullptr);
if (result == VK_ERROR_OUT_OF_HOST_MEMORY) {
- env->vulkan_functions.vkDestroyInstance(instance, tracker.get());
+ env.vulkan_functions.vkDestroyInstance(instance, tracker.get());
ASSERT_TRUE(tracker.empty());
continue;
}
@@ -597,23 +627,23 @@ TEST_F(Allocation, EnumeratePhysicalDevicesIntentionalAllocFail) {
}
std::vector<VkPhysicalDevice> physical_devices{physical_dev_count, VK_NULL_HANDLE};
- result = env->vulkan_functions.vkEnumeratePhysicalDevices(instance, &returned_physical_count, physical_devices.data());
+ result = env.vulkan_functions.vkEnumeratePhysicalDevices(instance, &returned_physical_count, physical_devices.data());
if (result == VK_ERROR_OUT_OF_HOST_MEMORY) {
- env->vulkan_functions.vkDestroyInstance(instance, tracker.get());
+ env.vulkan_functions.vkDestroyInstance(instance, tracker.get());
ASSERT_TRUE(tracker.empty());
continue;
}
if (result == VK_INCOMPLETE) {
- result = env->vulkan_functions.vkEnumeratePhysicalDevices(instance, &returned_physical_count, nullptr);
+ result = env.vulkan_functions.vkEnumeratePhysicalDevices(instance, &returned_physical_count, nullptr);
if (result == VK_ERROR_OUT_OF_HOST_MEMORY) {
- env->vulkan_functions.vkDestroyInstance(instance, tracker.get());
+ env.vulkan_functions.vkDestroyInstance(instance, tracker.get());
ASSERT_TRUE(tracker.empty());
continue;
}
physical_devices.resize(returned_physical_count);
- result = env->vulkan_functions.vkEnumeratePhysicalDevices(instance, &returned_physical_count, physical_devices.data());
+ result = env.vulkan_functions.vkEnumeratePhysicalDevices(instance, &returned_physical_count, physical_devices.data());
if (result == VK_ERROR_OUT_OF_HOST_MEMORY) {
- env->vulkan_functions.vkDestroyInstance(instance, tracker.get());
+ env.vulkan_functions.vkDestroyInstance(instance, tracker.get());
ASSERT_TRUE(tracker.empty());
continue;
}
@@ -621,7 +651,7 @@ TEST_F(Allocation, EnumeratePhysicalDevicesIntentionalAllocFail) {
ASSERT_EQ(physical_dev_count, returned_physical_count);
std::cout << "fail count " << fail_index << "\n";
- env->vulkan_functions.vkDestroyInstance(instance, tracker.get());
+ env.vulkan_functions.vkDestroyInstance(instance, tracker.get());
ASSERT_TRUE(tracker.empty());
reached_the_end = true;
}
diff --git a/tests/loader_envvar_tests.cpp b/tests/loader_envvar_tests.cpp
index f15b5c443..bd7b513cb 100644
--- a/tests/loader_envvar_tests.cpp
+++ b/tests/loader_envvar_tests.cpp
@@ -104,7 +104,7 @@ TEST(EnvVarICDOverrideSetup, TestOnlyDriverEnvVar) {
std::array<VkPhysicalDevice, 5> phys_devs_array;
uint32_t phys_dev_count = 1;
ASSERT_EQ(inst1->vkEnumeratePhysicalDevices(inst1.inst, &phys_dev_count, phys_devs_array.data()), VK_SUCCESS);
- ASSERT_EQ(phys_dev_count, 1);
+ ASSERT_EQ(phys_dev_count, 1U);
for (uint32_t add = 0; add < 2; ++add) {
env.add_icd(TestICDDetails(TEST_ICD_PATH_EXPORT_NONE).set_use_env_var_icd_filenames(true));
@@ -120,7 +120,7 @@ TEST(EnvVarICDOverrideSetup, TestOnlyDriverEnvVar) {
phys_dev_count = 5;
ASSERT_EQ(inst2->vkEnumeratePhysicalDevices(inst2.inst, &phys_dev_count, phys_devs_array.data()), VK_SUCCESS);
- ASSERT_EQ(phys_dev_count, 5);
+ ASSERT_EQ(phys_dev_count, 5U);
env.debug_log.clear();
@@ -201,7 +201,7 @@ TEST(EnvVarICDOverrideSetup, TestOnlyAddDriverEnvVar) {
std::array<VkPhysicalDevice, 1> phys_devs_array;
uint32_t phys_dev_count = 1;
ASSERT_EQ(inst1->vkEnumeratePhysicalDevices(inst1.inst, &phys_dev_count, phys_devs_array.data()), VK_SUCCESS);
- ASSERT_EQ(phys_dev_count, 1);
+ ASSERT_EQ(phys_dev_count, 1U);
env.platform_shim->set_elevated_privilege(true);
@@ -235,7 +235,7 @@ TEST(EnvVarICDOverrideSetup, TestBothDriverEnvVars) {
std::array<VkPhysicalDevice, 3> phys_devs_array;
uint32_t phys_dev_count = 3;
ASSERT_EQ(inst->vkEnumeratePhysicalDevices(inst.inst, &phys_dev_count, phys_devs_array.data()), VK_SUCCESS);
- ASSERT_EQ(phys_dev_count, 3);
+ ASSERT_EQ(phys_dev_count, 3U);
remove_env_var("VK_DRIVER_FILES");
remove_env_var("VK_ADD_DRIVER_FILES");
diff --git a/tests/loader_handle_validation_tests.cpp b/tests/loader_handle_validation_tests.cpp
index 56e79c7bd..a812a5b58 100644
--- a/tests/loader_handle_validation_tests.cpp
+++ b/tests/loader_handle_validation_tests.cpp
@@ -28,23 +28,15 @@
#include "test_environment.h"
-class LoaderHandleValidTests : public ::testing::Test {
- protected:
- virtual void SetUp() {
- env = std::unique_ptr<FrameworkEnvironment>(new FrameworkEnvironment());
- env->add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
- }
- virtual void TearDown() { env.reset(); }
- std::unique_ptr<FrameworkEnvironment> env;
-};
-
// ---- Invalid Instance tests
-TEST_F(LoaderHandleValidTests, BadInstEnumPhysDevices) {
- auto& driver = env->get_test_icd();
+TEST(LoaderHandleValidTests, BadInstEnumPhysDevices) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.CheckCreate();
struct BadData {
@@ -53,15 +45,17 @@ TEST_F(LoaderHandleValidTests, BadInstEnumPhysDevices) {
VkInstance bad_instance = (VkInstance)(&my_bad_data);
uint32_t returned_physical_count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkEnumeratePhysicalDevices(bad_instance, &returned_physical_count, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkEnumeratePhysicalDevices(bad_instance, &returned_physical_count, nullptr),
"vkEnumeratePhysicalDevices: Invalid instance \\[VUID-vkEnumeratePhysicalDevices-instance-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadInstGetInstProcAddr) {
- auto& driver = env->get_test_icd();
+TEST(LoaderHandleValidTests, BadInstGetInstProcAddr) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.CheckCreate();
struct BadData {
@@ -69,15 +63,17 @@ TEST_F(LoaderHandleValidTests, BadInstGetInstProcAddr) {
} my_bad_data;
VkInstance bad_instance = (VkInstance)(&my_bad_data);
- ASSERT_DEATH(env->vulkan_functions.vkGetInstanceProcAddr(bad_instance, "vkGetBufferDeviceAddress"),
+ ASSERT_DEATH(env.vulkan_functions.vkGetInstanceProcAddr(bad_instance, "vkGetBufferDeviceAddress"),
"vkGetInstanceProcAddr: Invalid instance \\[VUID-vkGetInstanceProcAddr-instance-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadInstDestroyInstance) {
- auto& driver = env->get_test_icd();
+TEST(LoaderHandleValidTests, BadInstDestroyInstance) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.CheckCreate();
struct BadData {
@@ -85,18 +81,20 @@ TEST_F(LoaderHandleValidTests, BadInstDestroyInstance) {
} my_bad_data;
VkInstance bad_instance = (VkInstance)(&my_bad_data);
- ASSERT_DEATH(env->vulkan_functions.vkDestroyInstance(bad_instance, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkDestroyInstance(bad_instance, nullptr),
"vkDestroyInstance: Invalid instance \\[VUID-vkDestroyInstance-instance-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadInstDestroySurface) {
+TEST(LoaderHandleValidTests, BadInstDestroySurface) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_headless_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.CheckCreate();
@@ -105,18 +103,20 @@ TEST_F(LoaderHandleValidTests, BadInstDestroySurface) {
} my_bad_data;
VkInstance bad_instance = (VkInstance)(&my_bad_data);
- ASSERT_DEATH(env->vulkan_functions.vkDestroySurfaceKHR(bad_instance, VK_NULL_HANDLE, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkDestroySurfaceKHR(bad_instance, VK_NULL_HANDLE, nullptr),
"vkDestroySurfaceKHR: Invalid instance \\[VUID-vkDestroySurfaceKHR-instance-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadInstCreateHeadlessSurf) {
+TEST(LoaderHandleValidTests, BadInstCreateHeadlessSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_headless_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_EXT_headless_surface");
instance.CheckCreate();
@@ -130,18 +130,20 @@ TEST_F(LoaderHandleValidTests, BadInstCreateHeadlessSurf) {
surf_create_info.sType = VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT;
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
- ASSERT_DEATH(env->vulkan_functions.vkCreateHeadlessSurfaceEXT(bad_instance, &surf_create_info, nullptr, &created_surface),
+ ASSERT_DEATH(env.vulkan_functions.vkCreateHeadlessSurfaceEXT(bad_instance, &surf_create_info, nullptr, &created_surface),
"vkCreateHeadlessSurfaceEXT: Invalid instance \\[VUID-vkCreateHeadlessSurfaceEXT-instance-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadInstCreateDisplayPlaneSurf) {
+TEST(LoaderHandleValidTests, BadInstCreateDisplayPlaneSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_display"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_display");
instance.CheckCreate();
@@ -155,19 +157,21 @@ TEST_F(LoaderHandleValidTests, BadInstCreateDisplayPlaneSurf) {
surf_create_info.sType = VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR;
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
- ASSERT_DEATH(env->vulkan_functions.vkCreateDisplayPlaneSurfaceKHR(bad_instance, &surf_create_info, nullptr, &created_surface),
+ ASSERT_DEATH(env.vulkan_functions.vkCreateDisplayPlaneSurfaceKHR(bad_instance, &surf_create_info, nullptr, &created_surface),
"vkCreateDisplayPlaneSurfaceKHR: Invalid instance \\[VUID-vkCreateDisplayPlaneSurfaceKHR-instance-parameter\\]");
}
#ifdef VK_USE_PLATFORM_ANDROID_KHR
-TEST_F(LoaderHandleValidTests, BadInstCreateAndroidSurf) {
+TEST(LoaderHandleValidTests, BadInstCreateAndroidSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_android_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_android_surface");
instance.CheckCreate();
@@ -181,20 +185,22 @@ TEST_F(LoaderHandleValidTests, BadInstCreateAndroidSurf) {
surf_create_info.sType = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
- ASSERT_DEATH(env->vulkan_functions.vkCreateAndroidSurfaceKHR(bad_instance, &surf_create_info, nullptr, &created_surface),
+ ASSERT_DEATH(env.vulkan_functions.vkCreateAndroidSurfaceKHR(bad_instance, &surf_create_info, nullptr, &created_surface),
"vkCreateAndroidSurfaceKHR: Invalid instance \\[VUID-vkCreateAndroidSurfaceKHR-instance-parameter\\]");
}
#endif // VK_USE_PLATFORM_ANDROID_KHR
#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-TEST_F(LoaderHandleValidTests, BadInstCreateDirectFBSurf) {
+TEST(LoaderHandleValidTests, BadInstCreateDirectFBSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_directfb_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_EXT_directfb_surface");
instance.CheckCreate();
@@ -208,20 +214,22 @@ TEST_F(LoaderHandleValidTests, BadInstCreateDirectFBSurf) {
surf_create_info.sType = VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT;
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
- ASSERT_DEATH(env->vulkan_functions.vkCreateDirectFBSurfaceEXT(bad_instance, &surf_create_info, nullptr, &created_surface),
+ ASSERT_DEATH(env.vulkan_functions.vkCreateDirectFBSurfaceEXT(bad_instance, &surf_create_info, nullptr, &created_surface),
"vkCreateDirectFBSurfaceEXT: Invalid instance \\[VUID-vkCreateDirectFBSurfaceEXT-instance-parameter\\]");
}
#endif // VK_USE_PLATFORM_DIRECTFB_EXT
#ifdef VK_USE_PLATFORM_FUCHSIA
-TEST_F(LoaderHandleValidTests, BadInstCreateFuchsiaSurf) {
+TEST(LoaderHandleValidTests, BadInstCreateFuchsiaSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_FUCHSIA_imagepipe_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_FUCHSIA_imagepipe_surface");
instance.CheckCreate();
@@ -235,20 +243,22 @@ TEST_F(LoaderHandleValidTests, BadInstCreateFuchsiaSurf) {
surf_create_info.sType = VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA;
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
- ASSERT_DEATH(env->vulkan_functions.vkCreateImagePipeSurfaceFUCHSIA(bad_instance, &surf_create_info, nullptr, &created_surface),
+ ASSERT_DEATH(env.vulkan_functions.vkCreateImagePipeSurfaceFUCHSIA(bad_instance, &surf_create_info, nullptr, &created_surface),
"vkCreateImagePipeSurfaceFUCHSIA: Invalid instance \\[VUID-vkCreateImagePipeSurfaceFUCHSIA-instance-parameter\\]");
}
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_GGP
-TEST_F(LoaderHandleValidTests, BadInstCreateGGPSurf) {
+TEST(LoaderHandleValidTests, BadInstCreateGGPSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_GGP_stream_descriptor_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_GGP_stream_descriptor_surface");
instance.CheckCreate();
@@ -263,20 +273,22 @@ TEST_F(LoaderHandleValidTests, BadInstCreateGGPSurf) {
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
ASSERT_DEATH(
- env->vulkan_functions.vkCreateStreamDescriptorSurfaceGGP(bad_instance, &surf_create_info, nullptr, &created_surface),
+ env.vulkan_functions.vkCreateStreamDescriptorSurfaceGGP(bad_instance, &surf_create_info, nullptr, &created_surface),
"vkCreateStreamDescriptorSurfaceGGP: Invalid instance \\[VUID-vkCreateStreamDescriptorSurfaceGGP-instance-parameter\\]");
}
#endif // VK_USE_PLATFORM_GGP
#ifdef VK_USE_PLATFORM_IOS_MVK
-TEST_F(LoaderHandleValidTests, BadInstCreateIOSSurf) {
+TEST(LoaderHandleValidTests, BadInstCreateIOSSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_MVK_ios_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_MVK_ios_surface");
instance.CheckCreate();
@@ -290,20 +302,22 @@ TEST_F(LoaderHandleValidTests, BadInstCreateIOSSurf) {
surf_create_info.sType = VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK;
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
- ASSERT_DEATH(env->vulkan_functions.vkCreateIOSSurfaceMVK(bad_instance, &surf_create_info, nullptr, &created_surface),
+ ASSERT_DEATH(env.vulkan_functions.vkCreateIOSSurfaceMVK(bad_instance, &surf_create_info, nullptr, &created_surface),
"vkCreateIOSSurfaceMVK: Invalid instance \\[VUID-vkCreateIOSSurfaceMVK-instance-parameter\\]");
}
#endif // VK_USE_PLATFORM_IOS_MVK
#ifdef VK_USE_PLATFORM_MACOS_MVK
-TEST_F(LoaderHandleValidTests, BadInstCreateMacOSSurf) {
+TEST(LoaderHandleValidTests, BadInstCreateMacOSSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_MVK_macos_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_MVK_macos_surface");
instance.CheckCreate();
@@ -317,20 +331,22 @@ TEST_F(LoaderHandleValidTests, BadInstCreateMacOSSurf) {
surf_create_info.sType = VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK;
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
- ASSERT_DEATH(env->vulkan_functions.vkCreateMacOSSurfaceMVK(bad_instance, &surf_create_info, nullptr, &created_surface),
+ ASSERT_DEATH(env.vulkan_functions.vkCreateMacOSSurfaceMVK(bad_instance, &surf_create_info, nullptr, &created_surface),
"vkCreateMacOSSurfaceMVK: Invalid instance \\[VUID-vkCreateMacOSSurfaceMVK-instance-parameter\\]");
}
#endif // VK_USE_PLATFORM_MACOS_MVK
#if defined(VK_USE_PLATFORM_METAL_EXT)
-TEST_F(LoaderHandleValidTests, BadInstCreateMetalSurf) {
+TEST(LoaderHandleValidTests, BadInstCreateMetalSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_metal_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_EXT_metal_surface");
instance.CheckCreate();
@@ -344,20 +360,22 @@ TEST_F(LoaderHandleValidTests, BadInstCreateMetalSurf) {
surf_create_info.sType = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT;
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
- ASSERT_DEATH(env->vulkan_functions.vkCreateMetalSurfaceEXT(bad_instance, &surf_create_info, nullptr, &created_surface),
+ ASSERT_DEATH(env.vulkan_functions.vkCreateMetalSurfaceEXT(bad_instance, &surf_create_info, nullptr, &created_surface),
"vkCreateMetalSurfaceEXT: Invalid instance \\[VUID-vkCreateMetalSurfaceEXT-instance-parameter\\]");
}
#endif // VK_USE_PLATFORM_METAL_EXT
#ifdef VK_USE_PLATFORM_SCREEN_QNX
-TEST_F(LoaderHandleValidTests, BadInstCreateQNXSurf) {
+TEST(LoaderHandleValidTests, BadInstCreateQNXSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_QNX_screen_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_QNX_screen_surface");
instance.CheckCreate();
@@ -371,21 +389,25 @@ TEST_F(LoaderHandleValidTests, BadInstCreateQNXSurf) {
surf_create_info.sType = VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX;
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
- ASSERT_DEATH(env->vulkan_functions.vkCreateScreenSurfaceQNX(bad_instance, &surf_create_info, nullptr, &created_surface),
+ ASSERT_DEATH(env.vulkan_functions.vkCreateScreenSurfaceQNX(bad_instance, &surf_create_info, nullptr, &created_surface),
"vkCreateScreenSurfaceQNX: Invalid instance \\[VUID-vkCreateScreenSurfaceQNX-instance-parameter\\]");
// TODO: Look for "invalid instance" in stderr log to make sure correct error is thrown
}
#endif // VK_USE_PLATFORM_SCREEN_QNX
#ifdef VK_USE_PLATFORM_VI_NN
-TEST_F(LoaderHandleValidTests, BadInstCreateViNNSurf) {
+TEST(LoaderHandleValidTests, BadInstCreateViNNSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_NN_vi_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_NN_vi_surface");
instance.CheckCreate();
@@ -399,21 +421,23 @@ TEST_F(LoaderHandleValidTests, BadInstCreateViNNSurf) {
surf_create_info.sType = VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN;
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
- ASSERT_DEATH(env->vulkan_functions.vkCreateViSurfaceNN(bad_instance, &surf_create_info, nullptr, &created_surface),
+ ASSERT_DEATH(env.vulkan_functions.vkCreateViSurfaceNN(bad_instance, &surf_create_info, nullptr, &created_surface),
"vkCreateViSurfaceNN: Invalid instance \\[VUID-vkCreateViSurfaceNN-instance-parameter\\]");
// TODO: Look for "invalid instance" in stderr log to make sure correct error is thrown
}
#endif // VK_USE_PLATFORM_VI_NN
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-TEST_F(LoaderHandleValidTests, BadInstCreateWaylandSurf) {
+TEST(LoaderHandleValidTests, BadInstCreateWaylandSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_wayland_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_wayland_surface");
instance.CheckCreate();
@@ -427,21 +451,23 @@ TEST_F(LoaderHandleValidTests, BadInstCreateWaylandSurf) {
surf_create_info.sType = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
- ASSERT_DEATH(env->vulkan_functions.vkCreateWaylandSurfaceKHR(bad_instance, &surf_create_info, nullptr, &created_surface),
+ ASSERT_DEATH(env.vulkan_functions.vkCreateWaylandSurfaceKHR(bad_instance, &surf_create_info, nullptr, &created_surface),
"vkCreateWaylandSurfaceKHR: Invalid instance \\[VUID-vkCreateWaylandSurfaceKHR-instance-parameter\\]");
// TODO: Look for "invalid instance" in stderr log to make sure correct error is thrown
}
#endif // VK_USE_PLATFORM_WAYLAND_KHR
#ifdef VK_USE_PLATFORM_WIN32_KHR
-TEST_F(LoaderHandleValidTests, BadInstCreateWin32Surf) {
+TEST(LoaderHandleValidTests, BadInstCreateWin32Surf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_win32_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_win32_surface");
instance.CheckCreate();
@@ -455,21 +481,23 @@ TEST_F(LoaderHandleValidTests, BadInstCreateWin32Surf) {
surf_create_info.sType = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR;
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
- ASSERT_DEATH(env->vulkan_functions.vkCreateWin32SurfaceKHR(bad_instance, &surf_create_info, nullptr, &created_surface),
+ ASSERT_DEATH(env.vulkan_functions.vkCreateWin32SurfaceKHR(bad_instance, &surf_create_info, nullptr, &created_surface),
"vkCreateWin32SurfaceKHR: Invalid instance \\[VUID-vkCreateWin32SurfaceKHR-instance-parameter\\]");
// TODO: Look for "invalid instance" in stderr log to make sure correct error is thrown
}
#endif // VK_USE_PLATFORM_WIN32_KHR
#ifdef VK_USE_PLATFORM_XCB_KHR
-TEST_F(LoaderHandleValidTests, BadInstCreateXCBSurf) {
+TEST(LoaderHandleValidTests, BadInstCreateXCBSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_xcb_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_xcb_surface");
instance.CheckCreate();
@@ -483,21 +511,23 @@ TEST_F(LoaderHandleValidTests, BadInstCreateXCBSurf) {
surf_create_info.sType = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR;
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
- ASSERT_DEATH(env->vulkan_functions.vkCreateXcbSurfaceKHR(bad_instance, &surf_create_info, nullptr, &created_surface),
+ ASSERT_DEATH(env.vulkan_functions.vkCreateXcbSurfaceKHR(bad_instance, &surf_create_info, nullptr, &created_surface),
"vkCreateXcbSurfaceKHR: Invalid instance \\[VUID-vkCreateXcbSurfaceKHR-instance-parameter\\]");
// TODO: Look for "invalid instance" in stderr log to make sure correct error is thrown
}
#endif // VK_USE_PLATFORM_XCB_KHR
#ifdef VK_USE_PLATFORM_XLIB_KHR
-TEST_F(LoaderHandleValidTests, BadInstCreateXlibSurf) {
+TEST(LoaderHandleValidTests, BadInstCreateXlibSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_xlib_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_xlib_surface");
instance.CheckCreate();
@@ -511,7 +541,7 @@ TEST_F(LoaderHandleValidTests, BadInstCreateXlibSurf) {
surf_create_info.sType = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR;
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
- ASSERT_DEATH(env->vulkan_functions.vkCreateXlibSurfaceKHR(bad_instance, &surf_create_info, nullptr, &created_surface),
+ ASSERT_DEATH(env.vulkan_functions.vkCreateXlibSurfaceKHR(bad_instance, &surf_create_info, nullptr, &created_surface),
"vkCreateXlibSurfaceKHR: Invalid instance \\[VUID-vkCreateXlibSurfaceKHR-instance-parameter\\]");
// TODO: Look for "invalid instance" in stderr log to make sure correct error is thrown
}
@@ -519,11 +549,13 @@ TEST_F(LoaderHandleValidTests, BadInstCreateXlibSurf) {
// ---- Invalid Physical Device tests
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevFeature) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevFeature) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -534,15 +566,17 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevFeature) {
VkPhysicalDeviceFeatures features = {};
ASSERT_DEATH(
- env->vulkan_functions.vkGetPhysicalDeviceFeatures(bad_physical_dev, &features),
+ env.vulkan_functions.vkGetPhysicalDeviceFeatures(bad_physical_dev, &features),
"vkGetPhysicalDeviceFeatures: Invalid physicalDevice \\[VUID-vkGetPhysicalDeviceFeatures-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevFormatProps) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevFormatProps) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -552,17 +586,18 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevFormatProps) {
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
VkFormatProperties format_info = {};
- ASSERT_DEATH(
- env->vulkan_functions.vkGetPhysicalDeviceFormatProperties(bad_physical_dev, VK_FORMAT_R8G8B8A8_UNORM, &format_info),
- "vkGetPhysicalDeviceFormatProperties: Invalid physicalDevice "
- "\\[VUID-vkGetPhysicalDeviceFormatProperties-physicalDevice-parameter\\]");
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceFormatProperties(bad_physical_dev, VK_FORMAT_R8G8B8A8_UNORM, &format_info),
+ "vkGetPhysicalDeviceFormatProperties: Invalid physicalDevice "
+ "\\[VUID-vkGetPhysicalDeviceFormatProperties-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevImgFormatProps) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevImgFormatProps) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -572,18 +607,20 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevImgFormatProps) {
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
VkImageFormatProperties format_info = {};
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceImageFormatProperties(bad_physical_dev, VK_FORMAT_R8G8B8A8_UNORM,
- VK_IMAGE_TYPE_2D, VK_IMAGE_TILING_LINEAR,
- VK_IMAGE_USAGE_STORAGE_BIT, 0, &format_info),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceImageFormatProperties(bad_physical_dev, VK_FORMAT_R8G8B8A8_UNORM,
+ VK_IMAGE_TYPE_2D, VK_IMAGE_TILING_LINEAR,
+ VK_IMAGE_USAGE_STORAGE_BIT, 0, &format_info),
"vkGetPhysicalDeviceImageFormatProperties: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceImageFormatProperties-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevProps) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevProps) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -594,15 +631,17 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevProps) {
VkPhysicalDeviceProperties properties = {};
ASSERT_DEATH(
- env->vulkan_functions.vkGetPhysicalDeviceProperties(bad_physical_dev, &properties),
+ env.vulkan_functions.vkGetPhysicalDeviceProperties(bad_physical_dev, &properties),
"vkGetPhysicalDeviceProperties: Invalid physicalDevice \\[VUID-vkGetPhysicalDeviceProperties-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevQueueFamProps) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevQueueFamProps) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -611,16 +650,18 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevQueueFamProps) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(bad_physical_dev, &count, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties(bad_physical_dev, &count, nullptr),
"vkGetPhysicalDeviceQueueFamilyProperties: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceQueueFamilyProperties-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevDevMemProps) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevDevMemProps) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -630,16 +671,18 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevDevMemProps) {
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
VkPhysicalDeviceMemoryProperties properties = {};
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceMemoryProperties(bad_physical_dev, &properties),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceMemoryProperties(bad_physical_dev, &properties),
"vkGetPhysicalDeviceMemoryProperties: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceMemoryProperties-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevCreateDevice) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevCreateDevice) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -668,15 +711,17 @@ TEST_F(LoaderHandleValidTests, BadPhysDevCreateDevice) {
dev_create_info.ppEnabledExtensionNames = nullptr;
dev_create_info.pEnabledFeatures = nullptr;
VkDevice created_dev = VK_NULL_HANDLE;
- ASSERT_DEATH(env->vulkan_functions.vkCreateDevice(bad_physical_dev, &dev_create_info, nullptr, &created_dev),
+ ASSERT_DEATH(env.vulkan_functions.vkCreateDevice(bad_physical_dev, &dev_create_info, nullptr, &created_dev),
"vkCreateDevice: Invalid physicalDevice \\[VUID-vkCreateDevice-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevEnumDevExtProps) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevEnumDevExtProps) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -685,16 +730,18 @@ TEST_F(LoaderHandleValidTests, BadPhysDevEnumDevExtProps) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkEnumerateDeviceExtensionProperties(bad_physical_dev, nullptr, &count, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkEnumerateDeviceExtensionProperties(bad_physical_dev, nullptr, &count, nullptr),
"vkEnumerateDeviceExtensionProperties: Invalid physicalDevice "
"\\[VUID-vkEnumerateDeviceExtensionProperties-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevEnumDevLayerProps) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevEnumDevLayerProps) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -703,16 +750,18 @@ TEST_F(LoaderHandleValidTests, BadPhysDevEnumDevLayerProps) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkEnumerateDeviceLayerProperties(bad_physical_dev, &count, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkEnumerateDeviceLayerProperties(bad_physical_dev, &count, nullptr),
"vkEnumerateDeviceLayerProperties: Invalid physicalDevice "
"\\[VUID-vkEnumerateDeviceLayerProperties-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSparseImgFormatProps) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevSparseImgFormatProps) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -722,18 +771,20 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSparseImgFormatProps) {
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceSparseImageFormatProperties(
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceSparseImageFormatProperties(
bad_physical_dev, VK_FORMAT_R8G8B8A8_UNORM, VK_IMAGE_TYPE_2D, VK_SAMPLE_COUNT_1_BIT,
VK_IMAGE_USAGE_STORAGE_BIT, VK_IMAGE_TILING_LINEAR, &count, nullptr),
"vkGetPhysicalDeviceSparseImageFormatProperties: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceSparseImageFormatProperties-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevFeature2) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevFeature2) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -746,15 +797,17 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevFeature2) {
features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
features.pNext = nullptr;
ASSERT_DEATH(
- env->vulkan_functions.vkGetPhysicalDeviceFeatures2(bad_physical_dev, &features),
+ env.vulkan_functions.vkGetPhysicalDeviceFeatures2(bad_physical_dev, &features),
"vkGetPhysicalDeviceFeatures2: Invalid physicalDevice \\[VUID-vkGetPhysicalDeviceFeatures2-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevFormatProps2) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevFormatProps2) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -766,17 +819,18 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevFormatProps2) {
VkFormatProperties2 properties = {};
properties.sType = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2;
properties.pNext = nullptr;
- ASSERT_DEATH(
- env->vulkan_functions.vkGetPhysicalDeviceFormatProperties2(bad_physical_dev, VK_FORMAT_R8G8B8A8_UNORM, &properties),
- "vkGetPhysicalDeviceFormatProperties2: Invalid physicalDevice "
- "\\[VUID-vkGetPhysicalDeviceFormatProperties2-physicalDevice-parameter\\]");
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceFormatProperties2(bad_physical_dev, VK_FORMAT_R8G8B8A8_UNORM, &properties),
+ "vkGetPhysicalDeviceFormatProperties2: Invalid physicalDevice "
+ "\\[VUID-vkGetPhysicalDeviceFormatProperties2-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevImgFormatProps2) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevImgFormatProps2) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -791,16 +845,18 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevImgFormatProps2) {
VkImageFormatProperties2 properties = {};
properties.sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2;
properties.pNext = nullptr;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceImageFormatProperties2(bad_physical_dev, &format_info, &properties),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceImageFormatProperties2(bad_physical_dev, &format_info, &properties),
"vkGetPhysicalDeviceImageFormatProperties2: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceImageFormatProperties2-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevProps2) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevProps2) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -812,16 +868,18 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevProps2) {
VkPhysicalDeviceProperties2 properties = {};
properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
properties.pNext = nullptr;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceProperties2(bad_physical_dev, &properties),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceProperties2(bad_physical_dev, &properties),
"vkGetPhysicalDeviceProperties2: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceProperties2-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevQueueFamProps2) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevQueueFamProps2) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -830,16 +888,18 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevQueueFamProps2) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties2(bad_physical_dev, &count, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceQueueFamilyProperties2(bad_physical_dev, &count, nullptr),
"vkGetPhysicalDeviceQueueFamilyProperties2: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceQueueFamilyProperties2-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevDevMemProps2) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevDevMemProps2) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -851,16 +911,18 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevDevMemProps2) {
VkPhysicalDeviceMemoryProperties2 properties = {};
properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2;
properties.pNext = nullptr;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceMemoryProperties2(bad_physical_dev, &properties),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceMemoryProperties2(bad_physical_dev, &properties),
"vkGetPhysicalDeviceMemoryProperties2: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceMemoryProperties2-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSparseImgFormatProps2) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevSparseImgFormatProps2) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -873,16 +935,18 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSparseImgFormatProps2) {
info.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2;
info.pNext = nullptr;
uint32_t count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceSparseImageFormatProperties2(bad_physical_dev, &info, &count, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceSparseImageFormatProperties2(bad_physical_dev, &info, &count, nullptr),
"vkGetPhysicalDeviceSparseImageFormatProperties2: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceSparseImageFormatProperties2-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevExternFenceProps) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevExternFenceProps) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -895,16 +959,18 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevExternFenceProps) {
info.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO;
info.pNext = nullptr;
VkExternalFenceProperties props = {};
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceExternalFenceProperties(bad_physical_dev, &info, &props),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceExternalFenceProperties(bad_physical_dev, &info, &props),
"vkGetPhysicalDeviceExternalFenceProperties: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceExternalFenceProperties-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevExternBufferProps) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevExternBufferProps) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -917,16 +983,18 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevExternBufferProps) {
info.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO;
info.pNext = nullptr;
VkExternalBufferProperties props = {};
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceExternalBufferProperties(bad_physical_dev, &info, &props),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceExternalBufferProperties(bad_physical_dev, &info, &props),
"vkGetPhysicalDeviceExternalBufferProperties: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceExternalBufferProperties-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevExternSemaphoreProps) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevExternSemaphoreProps) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.set_api_version(1, 1, 0);
instance.CheckCreate();
@@ -939,19 +1007,21 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevExternSemaphoreProps) {
info.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO;
info.pNext = nullptr;
VkExternalSemaphoreProperties props = {};
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceExternalSemaphoreProperties(bad_physical_dev, &info, &props),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceExternalSemaphoreProperties(bad_physical_dev, &info, &props),
"vkGetPhysicalDeviceExternalSemaphoreProperties: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceExternalSemaphoreProperties-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfaceSupportKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfaceSupportKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_headless_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.CheckCreate();
@@ -961,19 +1031,21 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfaceSupportKHR) {
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
VkBool32 supported = VK_FALSE;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceSurfaceSupportKHR(bad_physical_dev, 0, VK_NULL_HANDLE, &supported),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceSurfaceSupportKHR(bad_physical_dev, 0, VK_NULL_HANDLE, &supported),
"vkGetPhysicalDeviceSurfaceSupportKHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceSurfaceSupportKHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfaceCapsKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfaceCapsKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_headless_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.CheckCreate();
@@ -982,19 +1054,21 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfaceCapsKHR) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
VkSurfaceCapabilitiesKHR caps = {};
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceSurfaceCapabilitiesKHR(bad_physical_dev, VK_NULL_HANDLE, &caps),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceSurfaceCapabilitiesKHR(bad_physical_dev, VK_NULL_HANDLE, &caps),
"vkGetPhysicalDeviceSurfaceCapabilitiesKHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceSurfaceCapabilitiesKHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfaceFormatsKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfaceFormatsKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_headless_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.CheckCreate();
@@ -1003,19 +1077,21 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfaceFormatsKHR) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceSurfaceFormatsKHR(bad_physical_dev, VK_NULL_HANDLE, &count, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceSurfaceFormatsKHR(bad_physical_dev, VK_NULL_HANDLE, &count, nullptr),
"vkGetPhysicalDeviceSurfaceFormatsKHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceSurfaceFormatsKHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfacePresentModesKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfacePresentModesKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_headless_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.CheckCreate();
@@ -1024,20 +1100,22 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfacePresentModesKHR) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceSurfacePresentModesKHR(bad_physical_dev, VK_NULL_HANDLE, &count, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceSurfacePresentModesKHR(bad_physical_dev, VK_NULL_HANDLE, &count, nullptr),
"vkGetPhysicalDeviceSurfacePresentModesKHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceSurfacePresentModesKHR-physicalDevice-parameter\\]");
}
#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-TEST_F(LoaderHandleValidTests, BadPhysDevGetDirectFBPresentSupportKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetDirectFBPresentSupportKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_directfb_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_EXT_directfb_surface");
instance.CheckCreate();
@@ -1047,21 +1125,23 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetDirectFBPresentSupportKHR) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
IDirectFB directfb;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceDirectFBPresentationSupportEXT(bad_physical_dev, 0, &directfb),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceDirectFBPresentationSupportEXT(bad_physical_dev, 0, &directfb),
"vkGetPhysicalDeviceDirectFBPresentationSupportEXT: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceDirectFBPresentationSupportEXT-physicalDevice-parameter\\]");
}
#endif // VK_USE_PLATFORM_DIRECTFB_EXT
#ifdef VK_USE_PLATFORM_SCREEN_QNX
-TEST_F(LoaderHandleValidTests, BadPhysDevGetQNXPresentSupportKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetQNXPresentSupportKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_QNX_screen_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_QNX_screen_surface");
instance.CheckCreate();
@@ -1070,21 +1150,23 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetQNXPresentSupportKHR) {
uint64_t bad_array[3] = {0x123456789AB, 0x23456789AB1, 0x9876543210AB};
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
- ASSERT_DEATH(env->vulkan_functions.PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX(bad_physical_dev, 0, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX(bad_physical_dev, 0, nullptr),
"vkGetPhysicalDeviceScreenPresentationSupportQNX: Invalid instance "
"\\[VUID-vkGetPhysicalDeviceScreenPresentationSupportQNX-instance-parameter\\]");
}
#endif // VK_USE_PLATFORM_SCREEN_QNX
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevWaylandPresentSupportKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevWaylandPresentSupportKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_wayland_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_wayland_surface");
instance.CheckCreate();
@@ -1093,21 +1175,23 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevWaylandPresentSupportKHR) {
uint64_t bad_array[3] = {0x123456789AB, 0x23456789AB1, 0x9876543210AB};
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceWaylandPresentationSupportKHR(bad_physical_dev, 0, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceWaylandPresentationSupportKHR(bad_physical_dev, 0, nullptr),
"vkGetPhysicalDeviceWaylandPresentationSupportKHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceWaylandPresentationSupportKHR-physicalDevice-parameter\\]");
}
#endif // VK_USE_PLATFORM_WAYLAND_KHR
#ifdef VK_USE_PLATFORM_WIN32_KHR
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevWin32PresentSupportKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevWin32PresentSupportKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_win32_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_win32_surface");
instance.CheckCreate();
@@ -1116,21 +1200,23 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevWin32PresentSupportKHR) {
uint64_t bad_array[3] = {0x123456789AB, 0x23456789AB1, 0x9876543210AB};
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceWin32PresentationSupportKHR(bad_physical_dev, 0),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceWin32PresentationSupportKHR(bad_physical_dev, 0),
"vkGetPhysicalDeviceWin32PresentationSupportKHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceWin32PresentationSupportKHR-physicalDevice-parameter\\]");
}
#endif // VK_USE_PLATFORM_WIN32_KHR
#ifdef VK_USE_PLATFORM_XCB_KHR
-TEST_F(LoaderHandleValidTests, BadPhysDevGetXCBPresentSupportKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetXCBPresentSupportKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_xcb_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_xcb_surface");
instance.CheckCreate();
@@ -1141,21 +1227,23 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetXCBPresentSupportKHR) {
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
xcb_visualid_t visual = 0;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceXcbPresentationSupportKHR(bad_physical_dev, 0, nullptr, visual),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceXcbPresentationSupportKHR(bad_physical_dev, 0, nullptr, visual),
"vkGetPhysicalDeviceXcbPresentationSupportKHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceXcbPresentationSupportKHR-physicalDevice-parameter\\]");
}
#endif // VK_USE_PLATFORM_XCB_KHR
#ifdef VK_USE_PLATFORM_XLIB_KHR
-TEST_F(LoaderHandleValidTests, BadPhysDevGetXlibPresentSupportKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetXlibPresentSupportKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_xlib_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_xlib_surface");
instance.CheckCreate();
@@ -1166,20 +1254,22 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetXlibPresentSupportKHR) {
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
VisualID visual = 0;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceXlibPresentationSupportKHR(bad_physical_dev, 0, nullptr, visual),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceXlibPresentationSupportKHR(bad_physical_dev, 0, nullptr, visual),
"vkGetPhysicalDeviceXlibPresentationSupportKHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceXlibPresentationSupportKHR-physicalDevice-parameter\\]");
}
#endif // VK_USE_PLATFORM_XLIB_KHR
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevDisplayPropsKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevDisplayPropsKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_display"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_display");
instance.CheckCreate();
@@ -1189,19 +1279,21 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevDisplayPropsKHR) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceDisplayPropertiesKHR(bad_physical_dev, &count, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceDisplayPropertiesKHR(bad_physical_dev, &count, nullptr),
"vkGetPhysicalDeviceDisplayPropertiesKHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceDisplayPropertiesKHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevDisplayPlanePropsKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevDisplayPlanePropsKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_display"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_display");
instance.CheckCreate();
@@ -1211,19 +1303,21 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevDisplayPlanePropsKHR) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceDisplayPlanePropertiesKHR(bad_physical_dev, &count, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceDisplayPlanePropertiesKHR(bad_physical_dev, &count, nullptr),
"vkGetPhysicalDeviceDisplayPlanePropertiesKHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceDisplayPlanePropertiesKHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetDisplayPlaneSupportedDisplaysKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetDisplayPlaneSupportedDisplaysKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_display"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_display");
instance.CheckCreate();
@@ -1233,19 +1327,21 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetDisplayPlaneSupportedDisplaysKHR) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkGetDisplayPlaneSupportedDisplaysKHR(bad_physical_dev, 0, &count, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkGetDisplayPlaneSupportedDisplaysKHR(bad_physical_dev, 0, &count, nullptr),
"vkGetDisplayPlaneSupportedDisplaysKHR: Invalid physicalDevice "
"\\[VUID-vkGetDisplayPlaneSupportedDisplaysKHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetDisplayModePropsKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetDisplayModePropsKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_display"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_display");
instance.CheckCreate();
@@ -1256,18 +1352,20 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetDisplayModePropsKHR) {
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
ASSERT_DEATH(
- env->vulkan_functions.vkGetDisplayModePropertiesKHR(bad_physical_dev, VK_NULL_HANDLE, &count, nullptr),
+ env.vulkan_functions.vkGetDisplayModePropertiesKHR(bad_physical_dev, VK_NULL_HANDLE, &count, nullptr),
"vkGetDisplayModePropertiesKHR: Invalid physicalDevice \\[VUID-vkGetDisplayModePropertiesKHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevCreateDisplayModeKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevCreateDisplayModeKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_display"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_display");
instance.CheckCreate();
@@ -1281,18 +1379,20 @@ TEST_F(LoaderHandleValidTests, BadPhysDevCreateDisplayModeKHR) {
create_info.pNext = nullptr;
VkDisplayModeKHR display_mode;
ASSERT_DEATH(
- env->vulkan_functions.vkCreateDisplayModeKHR(bad_physical_dev, VK_NULL_HANDLE, &create_info, nullptr, &display_mode),
+ env.vulkan_functions.vkCreateDisplayModeKHR(bad_physical_dev, VK_NULL_HANDLE, &create_info, nullptr, &display_mode),
"vkCreateDisplayModeKHR: Invalid physicalDevice \\[VUID-vkCreateDisplayModeKHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetDisplayPlaneCapsKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetDisplayPlaneCapsKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_display"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_display");
instance.CheckCreate();
@@ -1302,19 +1402,21 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetDisplayPlaneCapsKHR) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
VkDisplayPlaneCapabilitiesKHR caps = {};
- ASSERT_DEATH(env->vulkan_functions.vkGetDisplayPlaneCapabilitiesKHR(bad_physical_dev, VK_NULL_HANDLE, 0, &caps),
+ ASSERT_DEATH(env.vulkan_functions.vkGetDisplayPlaneCapabilitiesKHR(bad_physical_dev, VK_NULL_HANDLE, 0, &caps),
"vkGetDisplayPlaneCapabilitiesKHR: Invalid physicalDevice "
"\\[VUID-vkGetDisplayPlaneCapabilitiesKHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevPresentRectsKHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevPresentRectsKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_display"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_display");
instance.CheckCreate();
@@ -1324,19 +1426,21 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevPresentRectsKHR) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDevicePresentRectanglesKHR(bad_physical_dev, VK_NULL_HANDLE, &count, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDevicePresentRectanglesKHR(bad_physical_dev, VK_NULL_HANDLE, &count, nullptr),
"vkGetPhysicalDevicePresentRectanglesKHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDevicePresentRectanglesKHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevDisplayProps2KHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevDisplayProps2KHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_get_display_properties2"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_get_display_properties2");
instance.CheckCreate();
@@ -1346,19 +1450,21 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevDisplayProps2KHR) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceDisplayProperties2KHR(bad_physical_dev, &count, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceDisplayProperties2KHR(bad_physical_dev, &count, nullptr),
"vkGetPhysicalDeviceDisplayProperties2KHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceDisplayProperties2KHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevDisplayPlaneProps2KHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevDisplayPlaneProps2KHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_get_display_properties2"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_get_display_properties2");
instance.CheckCreate();
@@ -1368,19 +1474,21 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevDisplayPlaneProps2KHR) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceDisplayPlaneProperties2KHR(bad_physical_dev, &count, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceDisplayPlaneProperties2KHR(bad_physical_dev, &count, nullptr),
"vkGetPhysicalDeviceDisplayPlaneProperties2KHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceDisplayPlaneProperties2KHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetDisplayModeProps2KHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetDisplayModeProps2KHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_get_display_properties2"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_get_display_properties2");
instance.CheckCreate();
@@ -1390,19 +1498,21 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetDisplayModeProps2KHR) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
- ASSERT_DEATH(env->vulkan_functions.vkGetDisplayModeProperties2KHR(bad_physical_dev, VK_NULL_HANDLE, &count, nullptr),
+ ASSERT_DEATH(env.vulkan_functions.vkGetDisplayModeProperties2KHR(bad_physical_dev, VK_NULL_HANDLE, &count, nullptr),
"vkGetDisplayModeProperties2KHR: Invalid physicalDevice "
"\\[VUID-vkGetDisplayModeProperties2KHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetDisplayPlaneCaps2KHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetDisplayPlaneCaps2KHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_get_display_properties2"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_get_display_properties2");
instance.CheckCreate();
@@ -1415,19 +1525,21 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetDisplayPlaneCaps2KHR) {
disp_plane_info.sType = VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR;
disp_plane_info.pNext = nullptr;
VkDisplayPlaneCapabilities2KHR caps = {};
- ASSERT_DEATH(env->vulkan_functions.vkGetDisplayPlaneCapabilities2KHR(bad_physical_dev, &disp_plane_info, &caps),
+ ASSERT_DEATH(env.vulkan_functions.vkGetDisplayPlaneCapabilities2KHR(bad_physical_dev, &disp_plane_info, &caps),
"vkGetDisplayPlaneCapabilities2KHR: Invalid physicalDevice "
"\\[VUID-vkGetDisplayPlaneCapabilities2KHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfaceCaps2KHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfaceCaps2KHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_get_surface_capabilities2"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_get_surface_capabilities2");
instance.CheckCreate();
@@ -1440,19 +1552,21 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfaceCaps2KHR) {
phys_dev_surf_info.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR;
phys_dev_surf_info.pNext = nullptr;
VkSurfaceCapabilities2KHR caps = {};
- ASSERT_DEATH(env->vulkan_functions.vkGetPhysicalDeviceSurfaceCapabilities2KHR(bad_physical_dev, &phys_dev_surf_info, &caps),
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceSurfaceCapabilities2KHR(bad_physical_dev, &phys_dev_surf_info, &caps),
"vkGetPhysicalDeviceSurfaceCapabilities2KHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceSurfaceCapabilities2KHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfaceFormats2KHR) {
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfaceFormats2KHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_get_surface_capabilities2"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_get_surface_capabilities2");
instance.CheckCreate();
@@ -1464,17 +1578,18 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfaceFormats2KHR) {
phys_dev_surf_info.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR;
phys_dev_surf_info.pNext = nullptr;
uint32_t count = 0;
- ASSERT_DEATH(
- env->vulkan_functions.vkGetPhysicalDeviceSurfaceFormats2KHR(bad_physical_dev, &phys_dev_surf_info, &count, nullptr),
- "vkGetPhysicalDeviceSurfaceFormats2KHR: Invalid physicalDevice "
- "\\[VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-physicalDevice-parameter\\]");
+ ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceSurfaceFormats2KHR(bad_physical_dev, &phys_dev_surf_info, &count, nullptr),
+ "vkGetPhysicalDeviceSurfaceFormats2KHR: Invalid physicalDevice "
+ "\\[VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevEnumPhysDevQueueFamilyPerfQueryCountersKHR) {
- auto& driver = env->get_test_icd();
+TEST(LoaderHandleValidTests, BadPhysDevEnumPhysDevQueueFamilyPerfQueryCountersKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.CheckCreate();
struct BadData {
@@ -1484,19 +1599,21 @@ TEST_F(LoaderHandleValidTests, BadPhysDevEnumPhysDevQueueFamilyPerfQueryCounters
uint32_t count = 0;
PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR pfn =
reinterpret_cast<PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance,
- "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance,
+ "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR"));
ASSERT_NE(pfn, nullptr);
ASSERT_DEATH(pfn(bad_physical_dev, 0, &count, nullptr, nullptr),
"vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR: Invalid physicalDevice "
"\\[VUID-vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevQueueFamilyPerfQueryPassesKHR) {
- auto& driver = env->get_test_icd();
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevQueueFamilyPerfQueryPassesKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.CheckCreate();
struct BadData {
@@ -1509,18 +1626,20 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevQueueFamilyPerfQueryPassesKHR
uint32_t count = 0;
PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR pfn =
reinterpret_cast<PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR"));
ASSERT_NE(pfn, nullptr);
ASSERT_DEATH(pfn(bad_physical_dev, &create_info, &count),
"vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevFragmentShadingRatesKHR) {
- auto& driver = env->get_test_icd();
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevFragmentShadingRatesKHR) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.CheckCreate();
struct BadData {
@@ -1529,18 +1648,20 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevFragmentShadingRatesKHR) {
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
uint32_t count = 0;
PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR pfn = reinterpret_cast<PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR"));
ASSERT_NE(pfn, nullptr);
ASSERT_DEATH(pfn(bad_physical_dev, &count, nullptr),
"vkGetPhysicalDeviceFragmentShadingRatesKHR: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceFragmentShadingRatesKHR-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevMSPropsEXT) {
- auto& driver = env->get_test_icd();
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevMSPropsEXT) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.CheckCreate();
struct BadData {
@@ -1549,21 +1670,23 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevMSPropsEXT) {
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
VkMultisamplePropertiesEXT props = {};
PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT pfn = reinterpret_cast<PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT"));
ASSERT_NE(pfn, nullptr);
ASSERT_DEATH(pfn(bad_physical_dev, VK_SAMPLE_COUNT_1_BIT, &props),
"vkGetPhysicalDeviceMultisamplePropertiesEXT: Invalid physicalDevice "
"\\[VUID-vkGetPhysicalDeviceMultisamplePropertiesEXT-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevAcquireDrmDisplayEXT) {
+TEST(LoaderHandleValidTests, BadPhysDevAcquireDrmDisplayEXT) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_acquire_drm_display"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_EXT_acquire_drm_display");
instance.CheckCreate();
@@ -1572,20 +1695,22 @@ TEST_F(LoaderHandleValidTests, BadPhysDevAcquireDrmDisplayEXT) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
PFN_vkAcquireDrmDisplayEXT pfn = reinterpret_cast<PFN_vkAcquireDrmDisplayEXT>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkAcquireDrmDisplayEXT"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkAcquireDrmDisplayEXT"));
ASSERT_NE(pfn, nullptr);
ASSERT_DEATH(pfn(bad_physical_dev, 0, VK_NULL_HANDLE),
"vkAcquireDrmDisplayEXT: Invalid physicalDevice \\[VUID-vkAcquireDrmDisplayEXT-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetDrmDisplayEXT) {
+TEST(LoaderHandleValidTests, BadPhysDevGetDrmDisplayEXT) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_acquire_drm_display"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_EXT_acquire_drm_display");
instance.CheckCreate();
@@ -1594,21 +1719,23 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetDrmDisplayEXT) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
PFN_vkGetDrmDisplayEXT pfn =
- reinterpret_cast<PFN_vkGetDrmDisplayEXT>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkGetDrmDisplayEXT"));
+ reinterpret_cast<PFN_vkGetDrmDisplayEXT>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkGetDrmDisplayEXT"));
ASSERT_NE(pfn, nullptr);
ASSERT_DEATH(pfn(bad_physical_dev, 0, 0, VK_NULL_HANDLE),
"vkGetDrmDisplayEXT: Invalid physicalDevice "
"\\[VUID-vkGetDrmDisplayEXT-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevReleaseDisplayEXT) {
+TEST(LoaderHandleValidTests, BadPhysDevReleaseDisplayEXT) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_direct_mode_display"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_EXT_direct_mode_display");
instance.CheckCreate();
@@ -1617,21 +1744,23 @@ TEST_F(LoaderHandleValidTests, BadPhysDevReleaseDisplayEXT) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
PFN_vkReleaseDisplayEXT pfn =
- reinterpret_cast<PFN_vkReleaseDisplayEXT>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkReleaseDisplayEXT"));
+ reinterpret_cast<PFN_vkReleaseDisplayEXT>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkReleaseDisplayEXT"));
ASSERT_NE(pfn, nullptr);
ASSERT_DEATH(pfn(bad_physical_dev, VK_NULL_HANDLE),
"vkReleaseDisplayEXT: Invalid physicalDevice \\[VUID-vkReleaseDisplayEXT-physicalDevice-parameter\\]");
}
#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
-TEST_F(LoaderHandleValidTests, BadPhysDevAcquireXlibDisplayEXT) {
+TEST(LoaderHandleValidTests, BadPhysDevAcquireXlibDisplayEXT) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_acquire_xlib_display"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_EXT_acquire_xlib_display");
instance.CheckCreate();
@@ -1640,20 +1769,22 @@ TEST_F(LoaderHandleValidTests, BadPhysDevAcquireXlibDisplayEXT) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
PFN_vkAcquireXlibDisplayEXT pfn = reinterpret_cast<PFN_vkAcquireXlibDisplayEXT>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkAcquireXlibDisplayEXT"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkAcquireXlibDisplayEXT"));
ASSERT_NE(pfn, nullptr);
ASSERT_DEATH(pfn(bad_physical_dev, nullptr, VK_NULL_HANDLE),
"vkAcquireXlibDisplayEXT: Invalid physicalDevice \\[VUID-vkAcquireXlibDisplayEXT-physicalDevice-parameter\\]");
}
-TEST_F(LoaderHandleValidTests, BadPhysDevGetRandROutputDisplayEXT) {
+TEST(LoaderHandleValidTests, BadPhysDevGetRandROutputDisplayEXT) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_acquire_xlib_display"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_EXT_acquire_xlib_display");
instance.CheckCreate();
@@ -1664,7 +1795,7 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetRandROutputDisplayEXT) {
RROutput rrout = {};
VkDisplayKHR disp;
PFN_vkGetRandROutputDisplayEXT pfn = reinterpret_cast<PFN_vkGetRandROutputDisplayEXT>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkGetRandROutputDisplayEXT"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkGetRandROutputDisplayEXT"));
ASSERT_NE(pfn, nullptr);
ASSERT_DEATH(
pfn(bad_physical_dev, nullptr, rrout, &disp),
@@ -1673,11 +1804,13 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetRandROutputDisplayEXT) {
#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
#ifdef VK_USE_PLATFORM_WIN32_KHR
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfacePresentModes2EXT) {
- auto& driver = env->get_test_icd();
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfacePresentModes2EXT) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.CheckCreate();
struct BadData {
@@ -1689,7 +1822,7 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfacePresentModes2EXT) {
phys_dev_surf_info.pNext = nullptr;
uint32_t count = 0;
PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT pfn = reinterpret_cast<PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT"));
ASSERT_NE(pfn, nullptr);
ASSERT_DEATH(pfn(bad_physical_dev, &phys_dev_surf_info, &count, nullptr),
"vkGetPhysicalDeviceSurfacePresentModes2EXT: Invalid physicalDevice "
@@ -1697,11 +1830,13 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevSurfacePresentModes2EXT) {
}
#endif // VK_USE_PLATFORM_WIN32_KHR
-TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevToolPropertiesEXT) {
- auto& driver = env->get_test_icd();
+TEST(LoaderHandleValidTests, BadPhysDevGetPhysDevToolPropertiesEXT) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.CheckCreate();
struct BadData {
@@ -1709,7 +1844,7 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevToolPropertiesEXT) {
} my_bad_data;
VkPhysicalDevice bad_physical_dev = (VkPhysicalDevice)(&my_bad_data);
PFN_vkGetPhysicalDeviceToolPropertiesEXT pfn = reinterpret_cast<PFN_vkGetPhysicalDeviceToolPropertiesEXT>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceToolPropertiesEXT"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceToolPropertiesEXT"));
ASSERT_NE(pfn, nullptr);
uint32_t count = 0;
ASSERT_DEATH(pfn(bad_physical_dev, &count, nullptr),
@@ -1718,23 +1853,24 @@ TEST_F(LoaderHandleValidTests, BadPhysDevGetPhysDevToolPropertiesEXT) {
}
#ifdef VK_USE_PLATFORM_ANDROID_KHR
-TEST_F(LoaderHandleValidTests, VerifyHandleWrappingAndroidSurface) {
+TEST(LoaderHandleValidTests, VerifyHandleWrappingAndroidSurface) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_android_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
const char* wrap_objects_name = "WrapObjectsLayer";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
- "wrap_objects_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(
+ ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
+ "wrap_objects_layer.json");
driver.physical_devices.emplace_back("physical_device_0");
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_android_surface");
instance.create_info.add_layer(wrap_objects_name);
@@ -1745,10 +1881,10 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingAndroidSurface) {
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
PFN_vkCreateAndroidSurfaceKHR pfn_CreateSurface = reinterpret_cast<PFN_vkCreateAndroidSurfaceKHR>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateAndroidSurfaceKHR"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateAndroidSurfaceKHR"));
ASSERT_NE(pfn_CreateSurface, nullptr);
PFN_vkDestroySurfaceKHR pfn_DestroySurface =
- reinterpret_cast<PFN_vkDestroySurfaceKHR>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
+ reinterpret_cast<PFN_vkDestroySurfaceKHR>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
ASSERT_NE(pfn_DestroySurface, nullptr);
ASSERT_EQ(VK_SUCCESS, pfn_CreateSurface(instance, &surf_create_info, nullptr, &created_surface));
pfn_DestroySurface(instance, created_surface, nullptr);
@@ -1756,23 +1892,24 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingAndroidSurface) {
#endif // VK_USE_PLATFORM_ANDROID_KHR
#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
-TEST_F(LoaderHandleValidTests, VerifyHandleWrappingDirectFBSurf) {
+TEST(LoaderHandleValidTests, VerifyHandleWrappingDirectFBSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_directfb_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
const char* wrap_objects_name = "WrapObjectsLayer";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
- "wrap_objects_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(
+ ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
+ "wrap_objects_layer.json");
driver.physical_devices.emplace_back("physical_device_0");
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_EXT_directfb_surface");
instance.create_info.add_layer(wrap_objects_name);
@@ -1783,10 +1920,10 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingDirectFBSurf) {
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
PFN_vkCreateDirectFBSurfaceEXT pfn_CreateSurface = reinterpret_cast<PFN_vkCreateDirectFBSurfaceEXT>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateDirectFBSurfaceEXT"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateDirectFBSurfaceEXT"));
ASSERT_NE(pfn_CreateSurface, nullptr);
PFN_vkDestroySurfaceKHR pfn_DestroySurface =
- reinterpret_cast<PFN_vkDestroySurfaceKHR>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
+ reinterpret_cast<PFN_vkDestroySurfaceKHR>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
ASSERT_NE(pfn_DestroySurface, nullptr);
ASSERT_EQ(VK_SUCCESS, pfn_CreateSurface(instance, &surf_create_info, nullptr, &created_surface));
pfn_DestroySurface(instance, created_surface, nullptr);
@@ -1794,23 +1931,24 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingDirectFBSurf) {
#endif // VK_USE_PLATFORM_DIRECTFB_EXT
#ifdef VK_USE_PLATFORM_FUCHSIA
-TEST_F(LoaderHandleValidTests, VerifyHandleWrappingFuchsiaSurf) {
+TEST(LoaderHandleValidTests, VerifyHandleWrappingFuchsiaSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_FUCHSIA_imagepipe_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
const char* wrap_objects_name = "WrapObjectsLayer";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
- "wrap_objects_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(
+ ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
+ "wrap_objects_layer.json");
driver.physical_devices.emplace_back("physical_device_0");
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_FUCHSIA_imagepipe_surface");
instance.create_info.add_layer(wrap_objects_name);
@@ -1821,10 +1959,10 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingFuchsiaSurf) {
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
PFN_vkCreateImagePipeSurfaceFUCHSIA pfn_CreateSurface = reinterpret_cast<PFN_vkCreateImagePipeSurfaceFUCHSIA>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateImagePipeSurfaceFUCHSIA"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateImagePipeSurfaceFUCHSIA"));
ASSERT_NE(pfn_CreateSurface, nullptr);
PFN_vkDestroySurfaceKHR pfn_DestroySurface =
- reinterpret_cast<PFN_vkDestroySurfaceKHR>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
+ reinterpret_cast<PFN_vkDestroySurfaceKHR>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
ASSERT_NE(pfn_DestroySurface, nullptr);
ASSERT_EQ(VK_SUCCESS, pfn_CreateSurface(instance, &surf_create_info, nullptr, &created_surface));
pfn_DestroySurface(instance, created_surface, nullptr);
@@ -1832,23 +1970,24 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingFuchsiaSurf) {
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_GGP
-TEST_F(LoaderHandleValidTests, VerifyHandleWrappingGGPSurf) {
+TEST(LoaderHandleValidTests, VerifyHandleWrappingGGPSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_GGP_stream_descriptor_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
const char* wrap_objects_name = "WrapObjectsLayer";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
- "wrap_objects_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(
+ ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
+ "wrap_objects_layer.json");
driver.physical_devices.emplace_back("physical_device_0");
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_GGP_stream_descriptor_surface");
instance.create_info.add_layer(wrap_objects_name);
@@ -1859,10 +1998,10 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingGGPSurf) {
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
PFN_vkCreateStreamDescriptorSurfaceGGP pfn_CreateSurface = reinterpret_cast<PFN_vkCreateStreamDescriptorSurfaceGGP>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateStreamDescriptorSurfaceGGP"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateStreamDescriptorSurfaceGGP"));
ASSERT_NE(pfn_CreateSurface, nullptr);
PFN_vkDestroySurfaceKHR pfn_DestroySurface =
- reinterpret_cast<PFN_vkDestroySurfaceKHR>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
+ reinterpret_cast<PFN_vkDestroySurfaceKHR>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
ASSERT_NE(pfn_DestroySurface, nullptr);
ASSERT_EQ(VK_SUCCESS, pfn_CreateSurface(instance, &surf_create_info, nullptr, &created_surface));
pfn_DestroySurface(instance, created_surface, nullptr);
@@ -1870,23 +2009,24 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingGGPSurf) {
#endif // VK_USE_PLATFORM_GGP
#ifdef VK_USE_PLATFORM_IOS_MVK
-TEST_F(LoaderHandleValidTests, VerifyHandleWrappingIOSSurf) {
+TEST(LoaderHandleValidTests, VerifyHandleWrappingIOSSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_MVK_ios_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
const char* wrap_objects_name = "WrapObjectsLayer";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
- "wrap_objects_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(
+ ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
+ "wrap_objects_layer.json");
driver.physical_devices.emplace_back("physical_device_0");
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_MVK_ios_surface");
instance.create_info.add_layer(wrap_objects_name);
@@ -1897,10 +2037,10 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingIOSSurf) {
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
PFN_vkCreateIOSSurfaceMVK pfn_CreateSurface =
- reinterpret_cast<PFN_vkCreateIOSSurfaceMVK>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateIOSSurfaceMVK"));
+ reinterpret_cast<PFN_vkCreateIOSSurfaceMVK>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateIOSSurfaceMVK"));
ASSERT_NE(pfn_CreateSurface, nullptr);
PFN_vkDestroySurfaceKHR pfn_DestroySurface =
- reinterpret_cast<PFN_vkDestroySurfaceKHR>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
+ reinterpret_cast<PFN_vkDestroySurfaceKHR>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
ASSERT_NE(pfn_DestroySurface, nullptr);
ASSERT_EQ(VK_SUCCESS, pfn_CreateSurface(instance, &surf_create_info, nullptr, &created_surface));
pfn_DestroySurface(instance, created_surface, nullptr);
@@ -1908,23 +2048,24 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingIOSSurf) {
#endif // VK_USE_PLATFORM_IOS_MVK
#ifdef VK_USE_PLATFORM_MACOS_MVK
-TEST_F(LoaderHandleValidTests, VerifyHandleWrappingMacOSSurf) {
+TEST(LoaderHandleValidTests, VerifyHandleWrappingMacOSSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_MVK_macos_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
const char* wrap_objects_name = "WrapObjectsLayer";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
- "wrap_objects_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(
+ ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
+ "wrap_objects_layer.json");
driver.physical_devices.emplace_back("physical_device_0");
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_MVK_macos_surface");
instance.create_info.add_layer(wrap_objects_name);
@@ -1935,10 +2076,10 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingMacOSSurf) {
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
PFN_vkCreateMacOSSurfaceMVK pfn_CreateSurface = reinterpret_cast<PFN_vkCreateMacOSSurfaceMVK>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateMacOSSurfaceMVK"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateMacOSSurfaceMVK"));
ASSERT_NE(pfn_CreateSurface, nullptr);
PFN_vkDestroySurfaceKHR pfn_DestroySurface =
- reinterpret_cast<PFN_vkDestroySurfaceKHR>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
+ reinterpret_cast<PFN_vkDestroySurfaceKHR>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
ASSERT_NE(pfn_DestroySurface, nullptr);
ASSERT_EQ(VK_SUCCESS, pfn_CreateSurface(instance, &surf_create_info, nullptr, &created_surface));
pfn_DestroySurface(instance, created_surface, nullptr);
@@ -1946,23 +2087,24 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingMacOSSurf) {
#endif // VK_USE_PLATFORM_MACOS_MVK
#if defined(VK_USE_PLATFORM_METAL_EXT)
-TEST_F(LoaderHandleValidTests, VerifyHandleWrappingMetalSurf) {
+TEST(LoaderHandleValidTests, VerifyHandleWrappingMetalSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_EXT_metal_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
const char* wrap_objects_name = "WrapObjectsLayer";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
- "wrap_objects_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(
+ ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
+ "wrap_objects_layer.json");
driver.physical_devices.emplace_back("physical_device_0");
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_EXT_metal_surface");
instance.create_info.add_layer(wrap_objects_name);
@@ -1973,10 +2115,10 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingMetalSurf) {
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
PFN_vkCreateMetalSurfaceEXT pfn_CreateSurface = reinterpret_cast<PFN_vkCreateMetalSurfaceEXT>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateMetalSurfaceEXT"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateMetalSurfaceEXT"));
ASSERT_NE(pfn_CreateSurface, nullptr);
PFN_vkDestroySurfaceKHR pfn_DestroySurface =
- reinterpret_cast<PFN_vkDestroySurfaceKHR>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
+ reinterpret_cast<PFN_vkDestroySurfaceKHR>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
ASSERT_NE(pfn_DestroySurface, nullptr);
ASSERT_EQ(VK_SUCCESS, pfn_CreateSurface(instance, &surf_create_info, nullptr, &created_surface));
pfn_DestroySurface(instance, created_surface, nullptr);
@@ -1984,23 +2126,24 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingMetalSurf) {
#endif // VK_USE_PLATFORM_METAL_EXT
#ifdef VK_USE_PLATFORM_SCREEN_QNX
-TEST_F(LoaderHandleValidTests, VerifyHandleWrappingQNXSurf) {
+TEST(LoaderHandleValidTests, VerifyHandleWrappingQNXSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_QNX_screen_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
const char* wrap_objects_name = "WrapObjectsLayer";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
- "wrap_objects_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(
+ ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
+ "wrap_objects_layer.json");
driver.physical_devices.emplace_back("physical_device_0");
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_QNX_screen_surface");
instance.create_info.add_layer(wrap_objects_name);
@@ -2011,10 +2154,10 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingQNXSurf) {
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
PFN_vkCreateScreenSurfaceQNX pfn_CreateSurface = reinterpret_cast<PFN_vkCreateScreenSurfaceQNX>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateScreenSurfaceQNX"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateScreenSurfaceQNX"));
ASSERT_NE(pfn_CreateSurface, nullptr);
PFN_vkDestroySurfaceKHR pfn_DestroySurface =
- reinterpret_cast<PFN_vkDestroySurfaceKHR>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
+ reinterpret_cast<PFN_vkDestroySurfaceKHR>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
ASSERT_NE(pfn_DestroySurface, nullptr);
ASSERT_EQ(VK_SUCCESS, pfn_CreateSurface(instance, &surf_create_info, nullptr, &created_surface));
pfn_DestroySurface(instance, created_surface, nullptr);
@@ -2022,23 +2165,24 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingQNXSurf) {
#endif // VK_USE_PLATFORM_SCREEN_QNX
#ifdef VK_USE_PLATFORM_VI_NN
-TEST_F(LoaderHandleValidTests, VerifyHandleWrappingViNNSurf) {
+TEST(LoaderHandleValidTests, VerifyHandleWrappingViNNSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_NN_vi_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
const char* wrap_objects_name = "WrapObjectsLayer";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
- "wrap_objects_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(
+ ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
+ "wrap_objects_layer.json");
driver.physical_devices.emplace_back("physical_device_0");
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_NN_vi_surface");
instance.create_info.add_layer(wrap_objects_name);
@@ -2049,10 +2193,10 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingViNNSurf) {
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
PFN_vkCreateViSurfaceNN pfn_CreateSurface =
- reinterpret_cast<PFN_vkCreateViSurfaceNN>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateViSurfaceNN"));
+ reinterpret_cast<PFN_vkCreateViSurfaceNN>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateViSurfaceNN"));
ASSERT_NE(pfn_CreateSurface, nullptr);
PFN_vkDestroySurfaceKHR pfn_DestroySurface =
- reinterpret_cast<PFN_vkDestroySurfaceKHR>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
+ reinterpret_cast<PFN_vkDestroySurfaceKHR>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
ASSERT_NE(pfn_DestroySurface, nullptr);
ASSERT_EQ(VK_SUCCESS, pfn_CreateSurface(instance, &surf_create_info, nullptr, &created_surface));
pfn_DestroySurface(instance, created_surface, nullptr);
@@ -2060,23 +2204,24 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingViNNSurf) {
#endif // VK_USE_PLATFORM_VI_NN
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
-TEST_F(LoaderHandleValidTests, VerifyHandleWrappingWaylandSurf) {
+TEST(LoaderHandleValidTests, VerifyHandleWrappingWaylandSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_wayland_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
const char* wrap_objects_name = "WrapObjectsLayer";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
- "wrap_objects_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(
+ ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
+ "wrap_objects_layer.json");
driver.physical_devices.emplace_back("physical_device_0");
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_wayland_surface");
instance.create_info.add_layer(wrap_objects_name);
@@ -2087,10 +2232,10 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingWaylandSurf) {
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
PFN_vkCreateWaylandSurfaceKHR pfn_CreateSurface = reinterpret_cast<PFN_vkCreateWaylandSurfaceKHR>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateWaylandSurfaceKHR"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateWaylandSurfaceKHR"));
ASSERT_NE(pfn_CreateSurface, nullptr);
PFN_vkDestroySurfaceKHR pfn_DestroySurface =
- reinterpret_cast<PFN_vkDestroySurfaceKHR>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
+ reinterpret_cast<PFN_vkDestroySurfaceKHR>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
ASSERT_NE(pfn_DestroySurface, nullptr);
ASSERT_EQ(VK_SUCCESS, pfn_CreateSurface(instance, &surf_create_info, nullptr, &created_surface));
pfn_DestroySurface(instance, created_surface, nullptr);
@@ -2098,23 +2243,24 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingWaylandSurf) {
#endif // VK_USE_PLATFORM_WAYLAND_KHR
#ifdef VK_USE_PLATFORM_WIN32_KHR
-TEST_F(LoaderHandleValidTests, VerifyHandleWrappingWin32Surf) {
+TEST(LoaderHandleValidTests, VerifyHandleWrappingWin32Surf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_win32_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
const char* wrap_objects_name = "WrapObjectsLayer";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
- "wrap_objects_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(
+ ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
+ "wrap_objects_layer.json");
driver.physical_devices.emplace_back("physical_device_0");
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_win32_surface");
instance.create_info.add_layer(wrap_objects_name);
@@ -2125,10 +2271,10 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingWin32Surf) {
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
PFN_vkCreateWin32SurfaceKHR pfn_CreateSurface = reinterpret_cast<PFN_vkCreateWin32SurfaceKHR>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateWin32SurfaceKHR"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateWin32SurfaceKHR"));
ASSERT_NE(pfn_CreateSurface, nullptr);
PFN_vkDestroySurfaceKHR pfn_DestroySurface =
- reinterpret_cast<PFN_vkDestroySurfaceKHR>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
+ reinterpret_cast<PFN_vkDestroySurfaceKHR>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
ASSERT_NE(pfn_DestroySurface, nullptr);
ASSERT_EQ(VK_SUCCESS, pfn_CreateSurface(instance, &surf_create_info, nullptr, &created_surface));
pfn_DestroySurface(instance, created_surface, nullptr);
@@ -2136,23 +2282,24 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingWin32Surf) {
#endif // VK_USE_PLATFORM_WIN32_KHR
#ifdef VK_USE_PLATFORM_XCB_KHR
-TEST_F(LoaderHandleValidTests, VerifyHandleWrappingXCBSurf) {
+TEST(LoaderHandleValidTests, VerifyHandleWrappingXCBSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_xcb_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
const char* wrap_objects_name = "WrapObjectsLayer";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
- "wrap_objects_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(
+ ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
+ "wrap_objects_layer.json");
driver.physical_devices.emplace_back("physical_device_0");
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_xcb_surface");
instance.create_info.add_layer(wrap_objects_name);
@@ -2163,10 +2310,10 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingXCBSurf) {
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
PFN_vkCreateXcbSurfaceKHR pfn_CreateSurface =
- reinterpret_cast<PFN_vkCreateXcbSurfaceKHR>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateXcbSurfaceKHR"));
+ reinterpret_cast<PFN_vkCreateXcbSurfaceKHR>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateXcbSurfaceKHR"));
ASSERT_NE(pfn_CreateSurface, nullptr);
PFN_vkDestroySurfaceKHR pfn_DestroySurface =
- reinterpret_cast<PFN_vkDestroySurfaceKHR>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
+ reinterpret_cast<PFN_vkDestroySurfaceKHR>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
ASSERT_NE(pfn_DestroySurface, nullptr);
ASSERT_EQ(VK_SUCCESS, pfn_CreateSurface(instance, &surf_create_info, nullptr, &created_surface));
pfn_DestroySurface(instance, created_surface, nullptr);
@@ -2174,23 +2321,24 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingXCBSurf) {
#endif // VK_USE_PLATFORM_XCB_KHR
#ifdef VK_USE_PLATFORM_XLIB_KHR
-TEST_F(LoaderHandleValidTests, VerifyHandleWrappingXlibSurf) {
+TEST(LoaderHandleValidTests, VerifyHandleWrappingXlibSurf) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension first_ext{"VK_KHR_surface"};
Extension second_ext{"VK_KHR_xlib_surface"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({first_ext, second_ext});
const char* wrap_objects_name = "WrapObjectsLayer";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
- "wrap_objects_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(
+ ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
+ "wrap_objects_layer.json");
driver.physical_devices.emplace_back("physical_device_0");
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_KHR_surface");
instance.create_info.add_extension("VK_KHR_xlib_surface");
instance.create_info.add_layer(wrap_objects_name);
@@ -2201,10 +2349,10 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingXlibSurf) {
surf_create_info.pNext = nullptr;
VkSurfaceKHR created_surface = VK_NULL_HANDLE;
PFN_vkCreateXlibSurfaceKHR pfn_CreateSurface = reinterpret_cast<PFN_vkCreateXlibSurfaceKHR>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateXlibSurfaceKHR"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateXlibSurfaceKHR"));
ASSERT_NE(pfn_CreateSurface, nullptr);
PFN_vkDestroySurfaceKHR pfn_DestroySurface =
- reinterpret_cast<PFN_vkDestroySurfaceKHR>(env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
+ reinterpret_cast<PFN_vkDestroySurfaceKHR>(env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR"));
ASSERT_NE(pfn_DestroySurface, nullptr);
ASSERT_EQ(VK_SUCCESS, pfn_CreateSurface(instance, &surf_create_info, nullptr, &created_surface));
pfn_DestroySurface(instance, created_surface, nullptr);
@@ -2222,22 +2370,23 @@ static VkBool32 JunkDebugUtilsCallback(VkDebugUtilsMessageSeverityFlagBitsEXT me
return VK_FALSE;
}
-TEST_F(LoaderHandleValidTests, VerifyHandleWrappingDebugUtilsMessenger) {
+TEST(LoaderHandleValidTests, VerifyHandleWrappingDebugUtilsMessenger) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
Extension ext{"VK_EXT_debug_utils"};
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.add_instance_extensions({ext});
const char* wrap_objects_name = "WrapObjectsLayer";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
- "wrap_objects_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(
+ ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
+ "wrap_objects_layer.json");
driver.physical_devices.emplace_back("physical_device_0");
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper instance(env->vulkan_functions);
+ InstWrapper instance(env.vulkan_functions);
instance.create_info.add_extension("VK_EXT_debug_utils");
instance.create_info.add_layer(wrap_objects_name);
instance.CheckCreate();
@@ -2251,10 +2400,10 @@ TEST_F(LoaderHandleValidTests, VerifyHandleWrappingDebugUtilsMessenger) {
debug_messenger_create_info.pfnUserCallback = reinterpret_cast<PFN_vkDebugUtilsMessengerCallbackEXT>(JunkDebugUtilsCallback);
VkDebugUtilsMessengerEXT messenger = VK_NULL_HANDLE;
PFN_vkCreateDebugUtilsMessengerEXT pfn_CreateMessenger = reinterpret_cast<PFN_vkCreateDebugUtilsMessengerEXT>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateDebugUtilsMessengerEXT"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkCreateDebugUtilsMessengerEXT"));
ASSERT_NE(pfn_CreateMessenger, nullptr);
PFN_vkDestroyDebugUtilsMessengerEXT pfn_DestroyMessenger = reinterpret_cast<PFN_vkDestroyDebugUtilsMessengerEXT>(
- env->vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroyDebugUtilsMessengerEXT"));
+ env.vulkan_functions.vkGetInstanceProcAddr(instance, "vkDestroyDebugUtilsMessengerEXT"));
ASSERT_NE(pfn_DestroyMessenger, nullptr);
ASSERT_EQ(VK_SUCCESS, pfn_CreateMessenger(instance, &debug_messenger_create_info, nullptr, &messenger));
pfn_DestroyMessenger(instance, messenger, nullptr);
diff --git a/tests/loader_layer_tests.cpp b/tests/loader_layer_tests.cpp
index 743e63bdf..407a15a23 100644
--- a/tests/loader_layer_tests.cpp
+++ b/tests/loader_layer_tests.cpp
@@ -27,26 +27,6 @@
#include "test_environment.h"
-class LayerTests : public ::testing::Test {
- protected:
- virtual void SetUp() {
- env = std::unique_ptr<FrameworkEnvironment>(new FrameworkEnvironment());
- env->add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
- }
-
- virtual void TearDown() { env.reset(); }
- std::unique_ptr<FrameworkEnvironment> env;
-};
-
-// Subtyping for organization
-class ExplicitLayers : public LayerTests {};
-class ImplicitLayers : public LayerTests {};
-class LayerExtensions : public LayerTests {};
-class MetaLayers : public LayerTests {};
-class OverrideMetaLayer : public LayerTests {};
-class LayerCreateInstance : public LayerTests {};
-class LayerPhysDeviceMod : public LayerTests {};
-
void CheckLogForLayerString(FrameworkEnvironment& env, const char* implicit_layer_name, bool check_for_enable) {
{
InstWrapper inst{env.vulkan_functions};
@@ -63,92 +43,98 @@ void CheckLogForLayerString(FrameworkEnvironment& env, const char* implicit_laye
const char* lunarg_meta_layer_name = "VK_LAYER_LUNARG_override";
-TEST_F(ImplicitLayers, WithEnableAndDisableEnvVar) {
+TEST(ImplicitLayers, WithEnableAndDisableEnvVar) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
const char* implicit_layer_name = "VK_LAYER_ImplicitTestLayer";
const char* enable_env_var = "ENABLE_ME";
const char* disable_env_var = "DISABLE_ME";
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name(implicit_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_disable_environment(disable_env_var)
- .set_enable_environment(enable_env_var)),
- "implicit_test_layer.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(implicit_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_disable_environment(disable_env_var)
+ .set_enable_environment(enable_env_var)),
+ "implicit_test_layer.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
// didn't set enable env-var, layer should not load
- CheckLogForLayerString(*env, implicit_layer_name, false);
+ CheckLogForLayerString(env, implicit_layer_name, false);
// set enable env-var to 0, no layer should be found
set_env_var(enable_env_var, "0");
- CheckLogForLayerString(*env, implicit_layer_name, false);
+ CheckLogForLayerString(env, implicit_layer_name, false);
// // set enable env-var, layer should load
set_env_var(enable_env_var, "1");
- CheckLogForLayerString(*env, implicit_layer_name, true);
+ CheckLogForLayerString(env, implicit_layer_name, true);
remove_env_var(enable_env_var);
// set disable env-var to 0, layer should not load
set_env_var(disable_env_var, "0");
- CheckLogForLayerString(*env, implicit_layer_name, false);
+ CheckLogForLayerString(env, implicit_layer_name, false);
// set disable env-var to 1, layer should not load
set_env_var(disable_env_var, "1");
- CheckLogForLayerString(*env, implicit_layer_name, false);
+ CheckLogForLayerString(env, implicit_layer_name, false);
// set both enable and disable env-var, layer should not load
set_env_var(enable_env_var, "1");
set_env_var(disable_env_var, "1");
- CheckLogForLayerString(*env, implicit_layer_name, false);
+ CheckLogForLayerString(env, implicit_layer_name, false);
remove_env_var(enable_env_var);
remove_env_var(disable_env_var);
}
-TEST_F(ImplicitLayers, OnlyDisableEnvVar) {
+TEST(ImplicitLayers, OnlyDisableEnvVar) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
const char* implicit_layer_name = "ImplicitTestLayer";
const char* disable_env_var = "DISABLE_ME";
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name(implicit_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_disable_environment(disable_env_var)),
- "implicit_test_layer.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(implicit_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_disable_environment(disable_env_var)),
+ "implicit_test_layer.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
// don't set disable env-var, layer should load
- CheckLogForLayerString(*env, implicit_layer_name, true);
+ CheckLogForLayerString(env, implicit_layer_name, true);
// set disable env-var to 0, layer should load
set_env_var(disable_env_var, "0");
- CheckLogForLayerString(*env, implicit_layer_name, false);
+ CheckLogForLayerString(env, implicit_layer_name, false);
// set disable env-var to 1, layer should not load
set_env_var(disable_env_var, "1");
- CheckLogForLayerString(*env, implicit_layer_name, false);
+ CheckLogForLayerString(env, implicit_layer_name, false);
{
- InstWrapper inst{env->vulkan_functions};
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ InstWrapper inst{env.vulkan_functions};
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.create_info.add_layer(implicit_layer_name);
inst.CheckCreate(VK_SUCCESS);
- ASSERT_TRUE(env->debug_log.find(std::string("Insert instance layer ") + implicit_layer_name));
+ ASSERT_TRUE(env.debug_log.find(std::string("Insert instance layer ") + implicit_layer_name));
}
remove_env_var(disable_env_var);
}
-TEST_F(ImplicitLayers, PreInstanceEnumInstLayerProps) {
+TEST(ImplicitLayers, PreInstanceEnumInstLayerProps) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
const char* implicit_layer_name = "ImplicitTestLayer";
const char* disable_env_var = "DISABLE_ME";
- env->add_implicit_layer(
+ env.add_implicit_layer(
ManifestLayer{}
.set_file_format_version(ManifestVersion(1, 1, 2))
.add_layer(ManifestLayer::LayerDescription{}
@@ -161,67 +147,71 @@ TEST_F(ImplicitLayers, PreInstanceEnumInstLayerProps) {
"implicit_test_layer.json");
uint32_t layer_props = 43;
- auto& layer = env->get_test_layer(0);
+ auto& layer = env.get_test_layer(0);
layer.set_reported_layer_props(layer_props);
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
ASSERT_EQ(count, layer_props);
// set disable env-var to 1, layer should not load
set_env_var(disable_env_var, "1");
count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_NE(count, 0);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_NE(count, 0U);
ASSERT_NE(count, layer_props);
remove_env_var(disable_env_var);
}
-TEST_F(ImplicitLayers, PreInstanceEnumInstExtProps) {
+TEST(ImplicitLayers, PreInstanceEnumInstExtProps) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
const char* implicit_layer_name = "ImplicitTestLayer";
const char* disable_env_var = "DISABLE_ME";
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 1, 2))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(implicit_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_disable_environment(disable_env_var)
- .add_pre_instance_function(
- ManifestLayer::LayerDescription::FunctionOverride{}
- .set_vk_func("vkEnumerateInstanceExtensionProperties")
- .set_override_name("test_preinst_vkEnumerateInstanceExtensionProperties"))),
- "implicit_test_layer.json");
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 1, 2))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(implicit_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_disable_environment(disable_env_var)
+ .add_pre_instance_function(
+ ManifestLayer::LayerDescription::FunctionOverride{}
+ .set_vk_func("vkEnumerateInstanceExtensionProperties")
+ .set_override_name("test_preinst_vkEnumerateInstanceExtensionProperties"))),
+ "implicit_test_layer.json");
uint32_t ext_props = 52;
- auto& layer = env->get_test_layer(0);
+ auto& layer = env.get_test_layer(0);
layer.set_reported_extension_props(ext_props);
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &count, nullptr));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &count, nullptr));
ASSERT_EQ(count, ext_props);
// set disable env-var to 1, layer should not load
set_env_var(disable_env_var, "1");
count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &count, nullptr));
- ASSERT_NE(count, 0);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &count, nullptr));
+ ASSERT_NE(count, 0U);
ASSERT_NE(count, ext_props);
remove_env_var(disable_env_var);
}
-TEST_F(ImplicitLayers, PreInstanceVersion) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 2, 3);
+TEST(ImplicitLayers, PreInstanceVersion) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 2, 3);
const char* implicit_layer_name = "ImplicitTestLayer";
const char* disable_env_var = "DISABLE_ME";
- env->add_implicit_layer(
+ env.add_implicit_layer(
ManifestLayer{}
.set_file_format_version(ManifestVersion(1, 1, 2))
.add_layer(ManifestLayer::LayerDescription{}
@@ -235,19 +225,19 @@ TEST_F(ImplicitLayers, PreInstanceVersion) {
"implicit_test_layer.json");
uint32_t layer_version = VK_MAKE_API_VERSION(1, 2, 3, 4);
- auto& layer = env->get_test_layer(0);
+ auto& layer = env.get_test_layer(0);
layer.set_reported_instance_version(layer_version);
uint32_t version = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceVersion(&version));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceVersion(&version));
ASSERT_EQ(version, layer_version);
// set disable env-var to 1, layer should not load
set_env_var(disable_env_var, "1");
version = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceVersion(&version));
- ASSERT_NE(version, 0);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceVersion(&version));
+ ASSERT_NE(version, 0U);
ASSERT_NE(version, layer_version);
remove_env_var(disable_env_var);
@@ -257,32 +247,34 @@ TEST_F(ImplicitLayers, PreInstanceVersion) {
// renamed vkGetInstanceProcAddr function which returns one that intentionally fails. Then disable the
// layer and verify it works. The non-override version of vkCreateInstance in the layer also works (and is
// tested through behavior above).
-TEST_F(ImplicitLayers, OverrideGetInstanceProcAddr) {
- env->get_test_icd().physical_devices.push_back({});
+TEST(ImplicitLayers, OverrideGetInstanceProcAddr) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().physical_devices.push_back({});
const char* implicit_layer_name = "ImplicitTestLayer";
const char* disable_env_var = "DISABLE_ME";
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 0, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(implicit_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_1)
- .set_disable_environment(disable_env_var)
- .add_function(ManifestLayer::LayerDescription::FunctionOverride{}
- .set_vk_func("vkGetInstanceProcAddr")
- .set_override_name("test_override_vkGetInstanceProcAddr"))),
- "implicit_test_layer.json");
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 0, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(implicit_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_1)
+ .set_disable_environment(disable_env_var)
+ .add_function(ManifestLayer::LayerDescription::FunctionOverride{}
+ .set_vk_func("vkGetInstanceProcAddr")
+ .set_override_name("test_override_vkGetInstanceProcAddr"))),
+ "implicit_test_layer.json");
{
- InstWrapper inst1{env->vulkan_functions};
+ InstWrapper inst1{env.vulkan_functions};
inst1.CheckCreate(VK_ERROR_INVALID_SHADER_NV);
}
{
// set disable env-var to 1, layer should not load
set_env_var(disable_env_var, "1");
- InstWrapper inst2{env->vulkan_functions};
+ InstWrapper inst2{env.vulkan_functions};
inst2.CheckCreate();
}
@@ -290,215 +282,225 @@ TEST_F(ImplicitLayers, OverrideGetInstanceProcAddr) {
}
// Meta layer which contains component layers that do not exist.
-TEST_F(MetaLayers, InvalidComponentLayer) {
+TEST(MetaLayers, InvalidComponentLayer) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
const char* meta_layer_name = "VK_LAYER_MetaTestLayer";
const char* invalid_layer_name_1 = "VK_LAYER_InvalidLayer1";
const char* invalid_layer_name_2 = "VK_LAYER_InvalidLayer2";
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 1, 2))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(meta_layer_name)
- .add_component_layers({invalid_layer_name_1, invalid_layer_name_2})
- .set_disable_environment("NotGonnaWork")
- .add_instance_extension({"NeverGonnaGiveYouUp"})
- .add_device_extension({"NeverGonnaLetYouDown"})),
- "meta_test_layer.json");
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 1, 2))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(meta_layer_name)
+ .add_component_layers({invalid_layer_name_1, invalid_layer_name_2})
+ .set_disable_environment("NotGonnaWork")
+ .add_instance_extension({"NeverGonnaGiveYouUp"})
+ .add_device_extension({"NeverGonnaLetYouDown"})),
+ "meta_test_layer.json");
const char* regular_layer_name = "TestLayer";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}.set_name(regular_layer_name).set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)),
"regular_test_layer.json");
// should find 1, the 'regular' layer
uint32_t layer_count = 1;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
- EXPECT_EQ(layer_count, 1);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
+ EXPECT_EQ(layer_count, 1U);
VkLayerProperties layer_props;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, &layer_props));
- EXPECT_EQ(layer_count, 1);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, &layer_props));
+ EXPECT_EQ(layer_count, 1U);
EXPECT_TRUE(string_eq(layer_props.layerName, regular_layer_name));
uint32_t extension_count = 0;
std::array<VkExtensionProperties, 2> extensions;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
- EXPECT_EQ(extension_count, 2); // return debug report & debug utils
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
+ EXPECT_EQ(extension_count, 2U); // return debug report & debug utils
EXPECT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extensions.data()));
- EXPECT_EQ(extension_count, 2);
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extensions.data()));
+ EXPECT_EQ(extension_count, 2U);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(meta_layer_name);
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.CheckCreate(VK_ERROR_LAYER_NOT_PRESENT);
- ASSERT_TRUE(env->debug_log.find(std::string("verify_meta_layer_component_layers: Meta-layer ") + meta_layer_name +
- " can't find component layer " + invalid_layer_name_1 + " at index 0. Skipping this layer."));
+ ASSERT_TRUE(env.debug_log.find(std::string("verify_meta_layer_component_layers: Meta-layer ") + meta_layer_name +
+ " can't find component layer " + invalid_layer_name_1 + " at index 0. Skipping this layer."));
}
// Meta layer that is an explicit layer
-TEST_F(MetaLayers, ExplicitMetaLayer) {
- env->get_test_icd().add_physical_device({});
+TEST(MetaLayers, ExplicitMetaLayer) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().add_physical_device({});
const char* meta_layer_name = "VK_LAYER_MetaTestLayer";
const char* regular_layer_name = "VK_LAYER_TestLayer";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}
.set_file_format_version(ManifestVersion(1, 1, 2))
.add_layer(ManifestLayer::LayerDescription{}.set_name(meta_layer_name).add_component_layers({regular_layer_name})),
"meta_test_layer.json");
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}.set_name(regular_layer_name).set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)),
"regular_test_layer.json");
{ // global functions
// should find 1, the 'regular' layer
uint32_t layer_count = 0;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
- EXPECT_EQ(layer_count, 2);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
+ EXPECT_EQ(layer_count, 2U);
std::array<VkLayerProperties, 2> layer_props;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
- EXPECT_EQ(layer_count, 2);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
+ EXPECT_EQ(layer_count, 2U);
EXPECT_TRUE(check_permutation({regular_layer_name, meta_layer_name}, layer_props));
uint32_t extension_count = 0;
std::array<VkExtensionProperties, 2> extensions;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
- EXPECT_EQ(extension_count, 2); // return debug report & debug utils
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
+ EXPECT_EQ(extension_count, 2U); // return debug report & debug utils
EXPECT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extensions.data()));
- EXPECT_EQ(extension_count, 2);
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extensions.data()));
+ EXPECT_EQ(extension_count, 2U);
}
{ // don't enable the layer, shouldn't find any layers when calling vkEnumerateDeviceLayerProperties
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate(VK_SUCCESS);
auto phys_dev = inst.GetPhysDev();
uint32_t count = 0;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(count, 0);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
+ ASSERT_EQ(count, 0U);
}
{
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(meta_layer_name);
inst.CheckCreate(VK_SUCCESS);
auto phys_dev = inst.GetPhysDev();
uint32_t count = 0;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(count, 2);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
+ ASSERT_EQ(count, 2U);
std::array<VkLayerProperties, 2> layer_props;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
- ASSERT_EQ(count, 2);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
+ ASSERT_EQ(count, 2U);
EXPECT_TRUE(check_permutation({regular_layer_name, meta_layer_name}, layer_props));
}
}
// Meta layer which adds itself in its list of component layers
-TEST_F(MetaLayers, MetaLayerNameInComponentLayers) {
+TEST(MetaLayers, MetaLayerNameInComponentLayers) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
const char* meta_layer_name = "VK_LAYER_MetaTestLayer";
const char* regular_layer_name = "VK_LAYER_TestLayer";
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 1, 2))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(meta_layer_name)
- .add_component_layers({meta_layer_name, regular_layer_name})
- .set_disable_environment("NotGonnaWork")
- .add_instance_extension({"NeverGonnaGiveYouUp"})
- .add_device_extension({"NeverGonnaLetYouDown"})),
- "meta_test_layer.json");
-
- env->add_explicit_layer(
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 1, 2))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(meta_layer_name)
+ .add_component_layers({meta_layer_name, regular_layer_name})
+ .set_disable_environment("NotGonnaWork")
+ .add_instance_extension({"NeverGonnaGiveYouUp"})
+ .add_device_extension({"NeverGonnaLetYouDown"})),
+ "meta_test_layer.json");
+
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}.set_name(regular_layer_name).set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)),
"regular_test_layer.json");
// should find 1, the 'regular' layer
uint32_t layer_count = 1;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
- EXPECT_EQ(layer_count, 1);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
+ EXPECT_EQ(layer_count, 1U);
VkLayerProperties layer_props;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, &layer_props));
- EXPECT_EQ(layer_count, 1);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, &layer_props));
+ EXPECT_EQ(layer_count, 1U);
EXPECT_TRUE(string_eq(layer_props.layerName, regular_layer_name));
uint32_t extension_count = 0;
std::array<VkExtensionProperties, 2> extensions;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
- EXPECT_EQ(extension_count, 2); // return debug report & debug utils
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
+ EXPECT_EQ(extension_count, 2U); // return debug report & debug utils
EXPECT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extensions.data()));
- EXPECT_EQ(extension_count, 2);
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extensions.data()));
+ EXPECT_EQ(extension_count, 2U);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(meta_layer_name);
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.CheckCreate(VK_ERROR_LAYER_NOT_PRESENT);
- ASSERT_TRUE(env->debug_log.find(std::string("verify_meta_layer_component_layers: Meta-layer ") + meta_layer_name +
- " lists itself in its component layer " + "list at index 0. Skipping this layer."));
+ ASSERT_TRUE(env.debug_log.find(std::string("verify_meta_layer_component_layers: Meta-layer ") + meta_layer_name +
+ " lists itself in its component layer " + "list at index 0. Skipping this layer."));
}
// Meta layer which adds another meta layer as a component layer
-TEST_F(MetaLayers, MetaLayerWhichAddsMetaLayer) {
+TEST(MetaLayers, MetaLayerWhichAddsMetaLayer) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
const char* meta_layer_name = "VK_LAYER_MetaTestLayer";
const char* meta_meta_layer_name = "VK_LAYER_MetaMetaTestLayer";
const char* regular_layer_name = "VK_LAYER_TestLayer";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}.set_name(regular_layer_name).set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)),
"regular_test_layer.json");
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}
.set_file_format_version(ManifestVersion(1, 1, 2))
.add_layer(ManifestLayer::LayerDescription{}.set_name(meta_layer_name).add_component_layers({regular_layer_name})),
"meta_test_layer.json");
- env->add_explicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 1, 2))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(meta_meta_layer_name)
- .add_component_layers({meta_layer_name, regular_layer_name})),
- "meta_meta_test_layer.json");
+ env.add_explicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 1, 2))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(meta_meta_layer_name)
+ .add_component_layers({meta_layer_name, regular_layer_name})),
+ "meta_meta_test_layer.json");
uint32_t layer_count = 3;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
- EXPECT_EQ(layer_count, 3);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
+ EXPECT_EQ(layer_count, 3U);
std::array<VkLayerProperties, 3> layer_props;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
- EXPECT_EQ(layer_count, 3);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
+ EXPECT_EQ(layer_count, 3U);
EXPECT_TRUE(check_permutation({regular_layer_name, meta_layer_name, meta_meta_layer_name}, layer_props));
uint32_t extension_count = 0;
std::array<VkExtensionProperties, 2> extensions;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
- EXPECT_EQ(extension_count, 2); // return debug report & debug utils
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
+ EXPECT_EQ(extension_count, 2U); // return debug report & debug utils
EXPECT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extensions.data()));
- EXPECT_EQ(extension_count, 2);
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extensions.data()));
+ EXPECT_EQ(extension_count, 2U);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(meta_layer_name);
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.CheckCreate();
- ASSERT_TRUE(env->debug_log.find(std::string("verify_meta_layer_component_layers: Adding meta-layer ") + meta_meta_layer_name +
- " which also contains meta-layer " + meta_layer_name));
+ ASSERT_TRUE(env.debug_log.find(std::string("verify_meta_layer_component_layers: Adding meta-layer ") + meta_meta_layer_name +
+ " which also contains meta-layer " + meta_layer_name));
}
-TEST_F(MetaLayers, InstanceExtensionInComponentLayer) {
- env->get_test_icd().add_physical_device({});
+TEST(MetaLayers, InstanceExtensionInComponentLayer) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().add_physical_device({});
const char* meta_layer_name = "VK_LAYER_MetaTestLayer";
const char* regular_layer_name = "VK_LAYER_TestLayer";
const char* instance_ext_name = "VK_EXT_headless_surface";
- env->add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name(regular_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .add_instance_extension({instance_ext_name})),
- "regular_test_layer.json");
- env->add_explicit_layer(
+ env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(regular_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .add_instance_extension({instance_ext_name})),
+ "regular_test_layer.json");
+ env.add_explicit_layer(
ManifestLayer{}
.set_file_format_version(ManifestVersion(1, 1, 2))
.add_layer(ManifestLayer::LayerDescription{}.set_name(meta_layer_name).add_component_layers({regular_layer_name})),
@@ -506,26 +508,28 @@ TEST_F(MetaLayers, InstanceExtensionInComponentLayer) {
uint32_t extension_count = 0;
std::array<VkExtensionProperties, 1> extensions;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(meta_layer_name, &extension_count, nullptr));
- EXPECT_EQ(extension_count, 1); // return instance_ext_name
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(meta_layer_name, &extension_count, nullptr));
+ EXPECT_EQ(extension_count, 1U); // return instance_ext_name
EXPECT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(meta_layer_name, &extension_count, extensions.data()));
- EXPECT_EQ(extension_count, 1);
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(meta_layer_name, &extension_count, extensions.data()));
+ EXPECT_EQ(extension_count, 1U);
EXPECT_TRUE(string_eq(extensions[0].extensionName, instance_ext_name));
}
-TEST_F(MetaLayers, DeviceExtensionInComponentLayer) {
- env->get_test_icd().add_physical_device({});
+TEST(MetaLayers, DeviceExtensionInComponentLayer) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().add_physical_device({});
const char* meta_layer_name = "VK_LAYER_MetaTestLayer";
const char* regular_layer_name = "VK_LAYER_TestLayer";
const char* device_ext_name = "VK_EXT_fake_dev_ext";
- env->add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name(regular_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .add_device_extension({device_ext_name})),
- "regular_test_layer.json");
- env->add_explicit_layer(
+ env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(regular_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .add_device_extension({device_ext_name})),
+ "regular_test_layer.json");
+ env.add_explicit_layer(
ManifestLayer{}
.set_file_format_version(ManifestVersion(1, 1, 2))
.add_layer(ManifestLayer::LayerDescription{}.set_name(meta_layer_name).add_component_layers({regular_layer_name})),
@@ -533,402 +537,416 @@ TEST_F(MetaLayers, DeviceExtensionInComponentLayer) {
{
uint32_t extension_count = 0;
EXPECT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(meta_layer_name, &extension_count, nullptr));
- EXPECT_EQ(extension_count, 0);
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(meta_layer_name, &extension_count, nullptr));
+ EXPECT_EQ(extension_count, 0U);
}
{ // layer is not enabled
- InstWrapper inst{env->vulkan_functions};
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ InstWrapper inst{env.vulkan_functions};
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.CheckCreate();
- ASSERT_TRUE(env->debug_log.find(std::string("Meta-layer ") + meta_layer_name + " component layer " + regular_layer_name +
- " adding device extension " + device_ext_name));
+ ASSERT_TRUE(env.debug_log.find(std::string("Meta-layer ") + meta_layer_name + " component layer " + regular_layer_name +
+ " adding device extension " + device_ext_name));
auto phys_dev = inst.GetPhysDev();
uint32_t extension_count = 0;
std::array<VkExtensionProperties, 1> extensions;
EXPECT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, meta_layer_name, &extension_count, nullptr));
- EXPECT_EQ(extension_count, 1); // return device_ext_name
+ env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, meta_layer_name, &extension_count, nullptr));
+ EXPECT_EQ(extension_count, 1U); // return device_ext_name
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, meta_layer_name,
- &extension_count, extensions.data()));
- EXPECT_EQ(extension_count, 1);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, meta_layer_name, &extension_count,
+ extensions.data()));
+ EXPECT_EQ(extension_count, 1U);
EXPECT_TRUE(string_eq(extensions[0].extensionName, device_ext_name));
}
{ // layer is enabled
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(meta_layer_name);
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.CheckCreate();
- ASSERT_TRUE(env->debug_log.find(std::string("Meta-layer ") + meta_layer_name + " component layer " + regular_layer_name +
- " adding device extension " + device_ext_name));
+ ASSERT_TRUE(env.debug_log.find(std::string("Meta-layer ") + meta_layer_name + " component layer " + regular_layer_name +
+ " adding device extension " + device_ext_name));
auto phys_dev = inst.GetPhysDev();
uint32_t extension_count = 0;
std::array<VkExtensionProperties, 1> extensions;
EXPECT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, meta_layer_name, &extension_count, nullptr));
- EXPECT_EQ(extension_count, 1); // return device_ext_name
+ env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, meta_layer_name, &extension_count, nullptr));
+ EXPECT_EQ(extension_count, 1U); // return device_ext_name
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, meta_layer_name,
- &extension_count, extensions.data()));
- EXPECT_EQ(extension_count, 1);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, meta_layer_name, &extension_count,
+ extensions.data()));
+ EXPECT_EQ(extension_count, 1U);
EXPECT_TRUE(string_eq(extensions[0].extensionName, device_ext_name));
}
}
// Override meta layer missing disable environment variable still enables the layer
-TEST_F(OverrideMetaLayer, InvalidDisableEnvironment) {
- env->get_test_icd().add_physical_device({});
+TEST(OverrideMetaLayer, InvalidDisableEnvironment) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().add_physical_device({});
const char* regular_layer_name = "VK_LAYER_TestLayer";
- env->add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name(regular_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
- .add_device_extension({"NeverGonnaLetYouDown"})),
- "regular_test_layer.json");
-
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 1, 2))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(lunarg_meta_layer_name)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
- .add_component_layers({regular_layer_name})),
- "meta_test_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(regular_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
+ .add_device_extension({"NeverGonnaLetYouDown"})),
+ "regular_test_layer.json");
+
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 1, 2))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(lunarg_meta_layer_name)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
+ .add_component_layers({regular_layer_name})),
+ "meta_test_layer.json");
uint32_t layer_count = 0;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
- EXPECT_EQ(layer_count, 1);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
+ EXPECT_EQ(layer_count, 1U);
std::array<VkLayerProperties, 1> layer_props;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
- EXPECT_EQ(layer_count, 1);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
+ EXPECT_EQ(layer_count, 1U);
EXPECT_TRUE(string_eq(layer_props[0].layerName, regular_layer_name));
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
}
// Override meta layer whose version is less than the api version of the instance
-TEST_F(OverrideMetaLayer, OlderVersionThanInstance) {
- env->get_test_icd().add_physical_device({});
+TEST(OverrideMetaLayer, OlderVersionThanInstance) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().add_physical_device({});
const char* regular_layer_name = "VK_LAYER_TestLayer";
- env->add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name(regular_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
- .add_device_extension({"NeverGonnaLetYouDown"})),
- "regular_test_layer.json");
-
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 1, 2))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(lunarg_meta_layer_name)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
- .set_disable_environment("DisableMeIfYouCan")
- .add_component_layers({regular_layer_name})),
- "meta_test_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(regular_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
+ .add_device_extension({"NeverGonnaLetYouDown"})),
+ "regular_test_layer.json");
+
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 1, 2))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(lunarg_meta_layer_name)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
+ .set_disable_environment("DisableMeIfYouCan")
+ .add_component_layers({regular_layer_name})),
+ "meta_test_layer.json");
{ // global functions
uint32_t layer_count = 0;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
- EXPECT_EQ(layer_count, 2);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
+ EXPECT_EQ(layer_count, 2U);
std::array<VkLayerProperties, 2> layer_props;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
- EXPECT_EQ(layer_count, 2);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
+ EXPECT_EQ(layer_count, 2U);
EXPECT_TRUE(check_permutation({regular_layer_name, lunarg_meta_layer_name}, layer_props));
}
{ // 1.1 instance
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.api_version = VK_API_VERSION_1_1;
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
uint32_t count = 0;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(2, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
+ ASSERT_EQ(2U, count);
std::array<VkLayerProperties, 2> layer_props;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
- ASSERT_EQ(2, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
+ ASSERT_EQ(2U, count);
ASSERT_TRUE(string_eq(layer_props[0].layerName, regular_layer_name));
ASSERT_TRUE(string_eq(layer_props[1].layerName, lunarg_meta_layer_name));
}
{ // 1.2 instance
- InstWrapper inst{env->vulkan_functions};
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ InstWrapper inst{env.vulkan_functions};
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.create_info.api_version = VK_API_VERSION_1_2;
inst.CheckCreate();
- ASSERT_TRUE(env->debug_log.find(std::string("loader_add_implicit_layer: Disabling implicit layer ") +
- lunarg_meta_layer_name +
- " for using an old API version 1.1 versus application requested 1.2"));
+ ASSERT_TRUE(env.debug_log.find(std::string("loader_add_implicit_layer: Disabling implicit layer ") +
+ lunarg_meta_layer_name +
+ " for using an old API version 1.1 versus application requested 1.2"));
}
}
-TEST_F(OverrideMetaLayer, OlderMetaLayerWithNewerInstanceVersion) {
- env->get_test_icd().add_physical_device({});
+TEST(OverrideMetaLayer, OlderMetaLayerWithNewerInstanceVersion) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().add_physical_device({});
const char* regular_layer_name = "VK_LAYER_TestLayer";
- env->add_explicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 2, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(regular_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))),
- "regular_test_layer.json");
-
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 2, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(lunarg_meta_layer_name)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
- .add_component_layers({regular_layer_name})
- .set_disable_environment("DisableMeIfYouCan")),
- "meta_test_layer.json");
+ env.add_explicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 2, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(regular_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))),
+ "regular_test_layer.json");
+
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 2, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(lunarg_meta_layer_name)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
+ .add_component_layers({regular_layer_name})
+ .set_disable_environment("DisableMeIfYouCan")),
+ "meta_test_layer.json");
{ // global functions
uint32_t layer_count = 2;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
- EXPECT_EQ(layer_count, 2);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
+ EXPECT_EQ(layer_count, 2U);
std::array<VkLayerProperties, 2> layer_props;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
- EXPECT_EQ(layer_count, 2);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
+ EXPECT_EQ(layer_count, 2U);
EXPECT_TRUE(check_permutation({regular_layer_name, lunarg_meta_layer_name}, layer_props));
}
{
// 1.1 instance
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(1, 1, 0);
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
uint32_t count = 0;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(2, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
+ ASSERT_EQ(2U, count);
std::array<VkLayerProperties, 2> layer_props;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
- ASSERT_EQ(2, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
+ ASSERT_EQ(2U, count);
ASSERT_TRUE(string_eq(layer_props[0].layerName, regular_layer_name));
ASSERT_TRUE(string_eq(layer_props[1].layerName, lunarg_meta_layer_name));
}
{
// 1.2 instance
- InstWrapper inst{env->vulkan_functions};
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ InstWrapper inst{env.vulkan_functions};
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.create_info.set_api_version(1, 2, 0);
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
ASSERT_TRUE(
- env->debug_log.find("loader_add_implicit_layer: Disabling implicit layer VK_LAYER_LUNARG_override for using an old API "
- "version 1.1 versus application requested 1.2"));
+ env.debug_log.find("loader_add_implicit_layer: Disabling implicit layer VK_LAYER_LUNARG_override for using an old API "
+ "version 1.1 versus application requested 1.2"));
uint32_t count = 0;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(0, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
+ ASSERT_EQ(0U, count);
std::array<VkLayerProperties, 2> layer_props;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
- ASSERT_EQ(0, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
+ ASSERT_EQ(0U, count);
}
}
-TEST_F(OverrideMetaLayer, NewerComponentLayerInMetaLayer) {
- env->get_test_icd().add_physical_device({});
+TEST(OverrideMetaLayer, NewerComponentLayerInMetaLayer) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().add_physical_device({});
const char* regular_layer_name = "VK_LAYER_TestLayer";
- env->add_explicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 2, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(regular_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 2, 0))),
- "regular_test_layer.json");
-
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 2, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(lunarg_meta_layer_name)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
- .add_component_layers({regular_layer_name})
- .set_disable_environment("DisableMeIfYouCan")),
- "meta_test_layer.json");
+ env.add_explicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 2, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(regular_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 2, 0))),
+ "regular_test_layer.json");
+
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 2, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(lunarg_meta_layer_name)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
+ .add_component_layers({regular_layer_name})
+ .set_disable_environment("DisableMeIfYouCan")),
+ "meta_test_layer.json");
{ // global functions
uint32_t layer_count = 1;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
- EXPECT_EQ(layer_count, 1);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
+ EXPECT_EQ(layer_count, 1U);
std::array<VkLayerProperties, 1> layer_props;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
- EXPECT_EQ(layer_count, 1);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
+ EXPECT_EQ(layer_count, 1U);
// Expect the explicit layer to still be found
EXPECT_TRUE(string_eq(layer_props[0].layerName, regular_layer_name));
}
{
// 1.1 instance
- InstWrapper inst{env->vulkan_functions};
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ InstWrapper inst{env.vulkan_functions};
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.create_info.set_api_version(1, 1, 0);
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
ASSERT_TRUE(
- env->debug_log.find("verify_meta_layer_component_layers: Meta-layer uses API version 1.1, but component layer 0 uses "
- "API version 1.2. Skipping this layer."));
- env->debug_log.clear();
+ env.debug_log.find("verify_meta_layer_component_layers: Meta-layer uses API version 1.1, but component layer 0 uses "
+ "API version 1.2. Skipping this layer."));
+ env.debug_log.clear();
uint32_t count = 0;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(0, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
+ ASSERT_EQ(0U, count);
std::array<VkLayerProperties, 1> layer_props;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
- ASSERT_EQ(0, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
+ ASSERT_EQ(0U, count);
}
{
// 1.2 instance
- InstWrapper inst{env->vulkan_functions};
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ InstWrapper inst{env.vulkan_functions};
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.create_info.set_api_version(1, 2, 0);
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
ASSERT_TRUE(
- env->debug_log.find("verify_meta_layer_component_layers: Meta-layer uses API version 1.1, but component layer 0 uses "
- "API version 1.2. Skipping this layer."));
- env->debug_log.clear();
+ env.debug_log.find("verify_meta_layer_component_layers: Meta-layer uses API version 1.1, but component layer 0 uses "
+ "API version 1.2. Skipping this layer."));
+ env.debug_log.clear();
uint32_t count = 0;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(0, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
+ ASSERT_EQ(0U, count);
std::array<VkLayerProperties, 2> layer_props;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
- ASSERT_EQ(0, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
+ ASSERT_EQ(0U, count);
}
}
-TEST_F(OverrideMetaLayer, OlderComponentLayerInMetaLayer) {
- env->get_test_icd().add_physical_device({});
+TEST(OverrideMetaLayer, OlderComponentLayerInMetaLayer) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().add_physical_device({});
const char* regular_layer_name = "VK_LAYER_TestLayer";
- env->add_explicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 2, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(regular_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 0, 0))),
- "regular_test_layer.json");
-
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 2, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(lunarg_meta_layer_name)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
- .add_component_layers({regular_layer_name})
- .set_disable_environment("DisableMeIfYouCan")),
- "meta_test_layer.json");
+ env.add_explicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 2, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(regular_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 0, 0))),
+ "regular_test_layer.json");
+
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 2, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(lunarg_meta_layer_name)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
+ .add_component_layers({regular_layer_name})
+ .set_disable_environment("DisableMeIfYouCan")),
+ "meta_test_layer.json");
{ // global functions
uint32_t layer_count = 0;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
- EXPECT_EQ(layer_count, 1);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
+ EXPECT_EQ(layer_count, 1U);
std::array<VkLayerProperties, 1> layer_props;
- EXPECT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
- EXPECT_EQ(layer_count, 1);
+ EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
+ EXPECT_EQ(layer_count, 1U);
EXPECT_TRUE(string_eq(layer_props[0].layerName, regular_layer_name));
}
{
// 1.1 instance
- InstWrapper inst{env->vulkan_functions};
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ InstWrapper inst{env.vulkan_functions};
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.create_info.set_api_version(1, 1, 0);
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
ASSERT_TRUE(
- env->debug_log.find("verify_meta_layer_component_layers: Meta-layer uses API version 1.1, but component layer 0 uses "
- "API version 1.0. Skipping this layer."));
- env->debug_log.clear();
+ env.debug_log.find("verify_meta_layer_component_layers: Meta-layer uses API version 1.1, but component layer 0 uses "
+ "API version 1.0. Skipping this layer."));
+ env.debug_log.clear();
uint32_t count = 0;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(0, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
+ ASSERT_EQ(0U, count);
std::array<VkLayerProperties, 2> layer_props;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
- ASSERT_EQ(0, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
+ ASSERT_EQ(0U, count);
}
{
// 1.2 instance
- InstWrapper inst{env->vulkan_functions};
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ InstWrapper inst{env.vulkan_functions};
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.create_info.set_api_version(1, 2, 0);
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
ASSERT_TRUE(
- env->debug_log.find("verify_meta_layer_component_layers: Meta-layer uses API version 1.1, but component layer 0 uses "
- "API version 1.0. Skipping this layer."));
- env->debug_log.clear();
+ env.debug_log.find("verify_meta_layer_component_layers: Meta-layer uses API version 1.1, but component layer 0 uses "
+ "API version 1.0. Skipping this layer."));
+ env.debug_log.clear();
uint32_t count = 0;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(0, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
+ ASSERT_EQ(0U, count);
std::array<VkLayerProperties, 2> layer_props;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
- ASSERT_EQ(0, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
+ ASSERT_EQ(0U, count);
}
}
-TEST_F(OverrideMetaLayer, ApplicationEnabledLayerInBlacklist) {
- env->get_test_icd().add_physical_device({});
+TEST(OverrideMetaLayer, ApplicationEnabledLayerInBlacklist) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().add_physical_device({});
const char* automatic_regular_layer_name = "VK_LAYER_TestLayer_1";
const char* manual_regular_layer_name = "VK_LAYER_TestLayer_2";
- env->add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name(automatic_regular_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))),
- "regular_test_layer_1.json");
- env->add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name(manual_regular_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))),
- "regular_test_layer_2.json");
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 2, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(lunarg_meta_layer_name)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
- .add_component_layer(automatic_regular_layer_name)
- .add_blacklisted_layer(manual_regular_layer_name)
- .set_disable_environment("DisableMeIfYouCan")),
- "meta_test_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(automatic_regular_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))),
+ "regular_test_layer_1.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(manual_regular_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))),
+ "regular_test_layer_2.json");
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 2, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(lunarg_meta_layer_name)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
+ .add_component_layer(automatic_regular_layer_name)
+ .add_blacklisted_layer(manual_regular_layer_name)
+ .set_disable_environment("DisableMeIfYouCan")),
+ "meta_test_layer.json");
{ // enable the layer in the blacklist
- InstWrapper inst{env->vulkan_functions};
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ InstWrapper inst{env.vulkan_functions};
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.create_info.add_layer(manual_regular_layer_name);
inst.CheckCreate(VK_ERROR_LAYER_NOT_PRESENT);
- ASSERT_TRUE(env->debug_log.find(std::string("loader_remove_layers_in_blacklist: Override layer is active and layer ") +
- manual_regular_layer_name +
- " is in the blacklist inside of it. Removing that layer from current layer list."));
- env->debug_log.clear();
+ ASSERT_TRUE(env.debug_log.find(std::string("loader_remove_layers_in_blacklist: Override layer is active and layer ") +
+ manual_regular_layer_name +
+ " is in the blacklist inside of it. Removing that layer from current layer list."));
+ env.debug_log.clear();
}
{ // dont enable the layer in the blacklist
- InstWrapper inst{env->vulkan_functions};
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ InstWrapper inst{env.vulkan_functions};
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
- ASSERT_TRUE(env->debug_log.find(std::string("loader_remove_layers_in_blacklist: Override layer is active and layer ") +
- manual_regular_layer_name +
- " is in the blacklist inside of it. Removing that layer from current layer list."));
- env->debug_log.clear();
+ ASSERT_TRUE(env.debug_log.find(std::string("loader_remove_layers_in_blacklist: Override layer is active and layer ") +
+ manual_regular_layer_name +
+ " is in the blacklist inside of it. Removing that layer from current layer list."));
+ env.debug_log.clear();
uint32_t count = 0;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(2, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
+ ASSERT_EQ(2U, count);
std::array<VkLayerProperties, 2> layer_props;
- env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
- ASSERT_EQ(2, count);
+ env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, layer_props.data());
+ ASSERT_EQ(2U, count);
ASSERT_TRUE(check_permutation({automatic_regular_layer_name, lunarg_meta_layer_name}, layer_props));
}
}
-TEST_F(OverrideMetaLayer, BasicOverridePaths) {
- env->get_test_icd().add_physical_device({});
+TEST(OverrideMetaLayer, BasicOverridePaths) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().add_physical_device({});
fs::FolderManager override_layer_folder{FRAMEWORK_BUILD_DIRECTORY, "override_layer_folder"};
const char* regular_layer_name = "VK_LAYER_TestLayer_1";
@@ -940,36 +958,38 @@ TEST_F(OverrideMetaLayer, BasicOverridePaths) {
.set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0)))
.get_manifest_str());
auto override_folder_location = fs::make_native(override_layer_folder.location().str());
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 2, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(lunarg_meta_layer_name)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
- .add_component_layer(regular_layer_name)
- .set_disable_environment("DisableMeIfYouCan")
- .add_override_path(override_folder_location)),
- "meta_test_layer.json");
-
- InstWrapper inst{env->vulkan_functions};
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 2, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(lunarg_meta_layer_name)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
+ .add_component_layer(regular_layer_name)
+ .set_disable_environment("DisableMeIfYouCan")
+ .add_override_path(override_folder_location)),
+ "meta_test_layer.json");
+
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(1, 1, 0);
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.CheckCreate();
- ASSERT_TRUE(env->debug_log.find(std::string("Insert instance layer ") + regular_layer_name));
- env->layers.clear();
+ ASSERT_TRUE(env.debug_log.find(std::string("Insert instance layer ") + regular_layer_name));
+ env.layers.clear();
}
-TEST_F(OverrideMetaLayer, BasicOverridePathsIgnoreOtherLayers) {
- env->get_test_icd().add_physical_device({});
+TEST(OverrideMetaLayer, BasicOverridePathsIgnoreOtherLayers) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().add_physical_device({});
fs::FolderManager override_layer_folder{FRAMEWORK_BUILD_DIRECTORY, "override_layer_folder"};
const char* regular_layer_name = "VK_LAYER_TestLayer";
- env->add_explicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 2, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(regular_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 0, 0))),
- "regular_test_layer.json");
+ env.add_explicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 2, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(regular_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 0, 0))),
+ "regular_test_layer.json");
const char* special_layer_name = "VK_LAYER_TestLayer_1";
override_layer_folder.write_manifest("regular_test_layer.json",
@@ -980,27 +1000,29 @@ TEST_F(OverrideMetaLayer, BasicOverridePathsIgnoreOtherLayers) {
.set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0)))
.get_manifest_str());
auto override_folder_location = fs::make_native(override_layer_folder.location().str());
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 2, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(lunarg_meta_layer_name)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
- .add_component_layer(special_layer_name)
- .set_disable_environment("DisableMeIfYouCan")
- .add_override_path(override_folder_location)),
- "meta_test_layer.json");
-
- InstWrapper inst{env->vulkan_functions};
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 2, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(lunarg_meta_layer_name)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
+ .add_component_layer(special_layer_name)
+ .set_disable_environment("DisableMeIfYouCan")
+ .add_override_path(override_folder_location)),
+ "meta_test_layer.json");
+
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(1, 1, 0);
inst.create_info.add_layer(regular_layer_name);
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.CheckCreate(VK_ERROR_LAYER_NOT_PRESENT);
- ASSERT_FALSE(env->debug_log.find(std::string("Insert instance layer ") + regular_layer_name));
- env->layers.clear();
+ ASSERT_FALSE(env.debug_log.find(std::string("Insert instance layer ") + regular_layer_name));
+ env.layers.clear();
}
-TEST_F(OverrideMetaLayer, OverridePathsInteractionWithVK_LAYER_PATH) {
- env->get_test_icd().add_physical_device({});
+TEST(OverrideMetaLayer, OverridePathsInteractionWithVK_LAYER_PATH) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().add_physical_device({});
fs::FolderManager vk_layer_path_folder{FRAMEWORK_BUILD_DIRECTORY, "vk_layer_folder"};
set_env_var("VK_LAYER_PATH", vk_layer_path_folder.location().str());
@@ -1008,58 +1030,60 @@ TEST_F(OverrideMetaLayer, OverridePathsInteractionWithVK_LAYER_PATH) {
// add explicit layer to VK_LAYER_PATH folder
const char* env_var_layer_name = "VK_LAYER_env_var_set_path";
- env->add_explicit_layer(TestLayerDetails{ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 2, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(env_var_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 0, 0))),
- "regular_test_layer.json"}
- .set_destination_folder(&vk_layer_path_folder));
+ env.add_explicit_layer(TestLayerDetails{ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 2, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(env_var_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 0, 0))),
+ "regular_test_layer.json"}
+ .set_destination_folder(&vk_layer_path_folder));
// add layer to regular explicit layer folder
const char* regular_layer_name = "VK_LAYER_regular_layer_path";
- env->add_explicit_layer(TestLayerDetails{ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name(regular_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))),
- "regular_test_layer.json"}
- .set_destination_folder(&override_path_folder));
-
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 2, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(lunarg_meta_layer_name)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
- .add_component_layer(regular_layer_name)
- .set_disable_environment("DisableMeIfYouCan")
- .add_override_path(override_path_folder.location().str())),
- "meta_test_layer.json");
-
- InstWrapper inst{env->vulkan_functions};
+ env.add_explicit_layer(TestLayerDetails{ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(regular_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))),
+ "regular_test_layer.json"}
+ .set_destination_folder(&override_path_folder));
+
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 2, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(lunarg_meta_layer_name)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
+ .add_component_layer(regular_layer_name)
+ .set_disable_environment("DisableMeIfYouCan")
+ .add_override_path(override_path_folder.location().str())),
+ "meta_test_layer.json");
+
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(1, 1, 0);
inst.create_info.add_layer(env_var_layer_name);
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.CheckCreate(VK_ERROR_LAYER_NOT_PRESENT);
- ASSERT_FALSE(env->debug_log.find(std::string("Insert instance layer ") + env_var_layer_name));
+ ASSERT_FALSE(env.debug_log.find(std::string("Insert instance layer ") + env_var_layer_name));
- env->layers.clear();
+ env.layers.clear();
remove_env_var("VK_LAYER_PATH");
}
// Make sure that implicit layers not in the override paths aren't found by mistake
-TEST_F(OverrideMetaLayer, OverridePathsEnableImplicitLayerInDefaultPaths) {
- env->get_test_icd().add_physical_device({});
+TEST(OverrideMetaLayer, OverridePathsEnableImplicitLayerInDefaultPaths) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().add_physical_device({});
fs::FolderManager override_layer_folder{FRAMEWORK_BUILD_DIRECTORY, "override_layer_folder"};
const char* implicit_layer_name = "VK_LAYER_ImplicitLayer";
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 2, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(implicit_layer_name)
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 0, 0))),
- "implicit_test_layer.json");
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 2, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(implicit_layer_name)
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 0, 0))),
+ "implicit_test_layer.json");
const char* regular_layer_name = "VK_LAYER_TestLayer_1";
override_layer_folder.write_manifest("regular_test_layer.json",
@@ -1070,28 +1094,30 @@ TEST_F(OverrideMetaLayer, OverridePathsEnableImplicitLayerInDefaultPaths) {
.set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0)))
.get_manifest_str());
auto override_folder_location = fs::make_native(override_layer_folder.location().str());
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 2, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(lunarg_meta_layer_name)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
- .add_component_layers({regular_layer_name, implicit_layer_name})
- .set_disable_environment("DisableMeIfYouCan")
- .add_override_path(override_folder_location)),
- "meta_test_layer.json");
-
- InstWrapper inst{env->vulkan_functions};
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 2, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(lunarg_meta_layer_name)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
+ .add_component_layers({regular_layer_name, implicit_layer_name})
+ .set_disable_environment("DisableMeIfYouCan")
+ .add_override_path(override_folder_location)),
+ "meta_test_layer.json");
+
+ InstWrapper inst{env.vulkan_functions};
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.create_info.set_api_version(1, 1, 0);
inst.CheckCreate();
- ASSERT_FALSE(env->debug_log.find(std::string("Insert instance layer ") + implicit_layer_name));
+ ASSERT_FALSE(env.debug_log.find(std::string("Insert instance layer ") + implicit_layer_name));
ASSERT_TRUE(
- env->debug_log.find("Removing meta-layer VK_LAYER_LUNARG_override from instance layer list since it appears invalid."));
- env->layers.clear();
+ env.debug_log.find("Removing meta-layer VK_LAYER_LUNARG_override from instance layer list since it appears invalid."));
+ env.layers.clear();
}
-TEST_F(OverrideMetaLayer, ManifestFileFormatVersionTooOld) {
- env->get_test_icd().add_physical_device({});
+TEST(OverrideMetaLayer, ManifestFileFormatVersionTooOld) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().add_physical_device({});
fs::FolderManager override_layer_folder{FRAMEWORK_BUILD_DIRECTORY, "override_layer_folder"};
const char* regular_layer_name = "VK_LAYER_TestLayer_1";
@@ -1103,40 +1129,42 @@ TEST_F(OverrideMetaLayer, ManifestFileFormatVersionTooOld) {
.set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0)))
.get_manifest_str());
auto override_folder_location = fs::make_native(override_layer_folder.location().str());
- env->add_implicit_layer(ManifestLayer{}
- .set_file_format_version(ManifestVersion(1, 0, 0))
- .add_layer(ManifestLayer::LayerDescription{}
- .set_name(lunarg_meta_layer_name)
- .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
- .add_component_layer(regular_layer_name)
- .set_disable_environment("DisableMeIfYouCan")
- .add_override_path(override_folder_location)),
- "meta_test_layer.json");
-
- InstWrapper inst{env->vulkan_functions};
+ env.add_implicit_layer(ManifestLayer{}
+ .set_file_format_version(ManifestVersion(1, 0, 0))
+ .add_layer(ManifestLayer::LayerDescription{}
+ .set_name(lunarg_meta_layer_name)
+ .set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0))
+ .add_component_layer(regular_layer_name)
+ .set_disable_environment("DisableMeIfYouCan")
+ .add_override_path(override_folder_location)),
+ "meta_test_layer.json");
+
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(1, 1, 0);
- FillDebugUtilsCreateDetails(inst.create_info, env->debug_log);
+ FillDebugUtilsCreateDetails(inst.create_info, env.debug_log);
inst.CheckCreate();
- ASSERT_TRUE(env->debug_log.find(std::string("Insert instance layer ") + regular_layer_name));
- ASSERT_TRUE(env->debug_log.find("Indicating meta-layer-specific override paths, but using older JSON file version."));
- env->layers.clear();
+ ASSERT_TRUE(env.debug_log.find(std::string("Insert instance layer ") + regular_layer_name));
+ ASSERT_TRUE(env.debug_log.find("Indicating meta-layer-specific override paths, but using older JSON file version."));
+ env.layers.clear();
}
// This test makes sure that any layer calling GetPhysicalDeviceProperties2 inside of CreateInstance
// succeeds and doesn't crash.
-TEST_F(LayerCreateInstance, GetPhysicalDeviceProperties2) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
+TEST(LayerCreateInstance, GetPhysicalDeviceProperties2) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().icd_api_version = VK_MAKE_API_VERSION(0, 1, 1, 0);
const char* regular_layer_name = "TestLayer";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}
.set_file_format_version(ManifestVersion(1, 1, 2))
.add_layer(
ManifestLayer::LayerDescription{}.set_name(regular_layer_name).set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)),
"regular_test_layer.json");
- auto& layer = env->get_test_layer(0);
+ auto& layer = env.get_test_layer(0);
layer.set_create_instance_callback([](TestLayer& layer) -> VkResult {
uint32_t phys_dev_count = 0;
VkResult res = layer.instance_dispatch_table.EnumeratePhysicalDevices(layer.instance_handle, &phys_dev_count, nullptr);
@@ -1158,22 +1186,24 @@ TEST_F(LayerCreateInstance, GetPhysicalDeviceProperties2) {
return VK_SUCCESS;
});
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(regular_layer_name).set_api_version(1, 1, 0);
inst.CheckCreate();
}
-TEST_F(LayerCreateInstance, GetPhysicalDeviceProperties2KHR) {
- env->get_test_icd().physical_devices.push_back({});
- env->get_test_icd().add_instance_extension({"VK_KHR_get_physical_device_properties2", 0});
+TEST(LayerCreateInstance, GetPhysicalDeviceProperties2KHR) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.get_test_icd().physical_devices.push_back({});
+ env.get_test_icd().add_instance_extension({"VK_KHR_get_physical_device_properties2", 0});
const char* regular_layer_name = "VK_LAYER_TestLayer";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}.set_name(regular_layer_name).set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)),
"regular_test_layer.json");
- auto& layer = env->get_test_layer(0);
+ auto& layer = env.get_test_layer(0);
layer.set_create_instance_callback([](TestLayer& layer) -> VkResult {
uint32_t phys_dev_count = 1;
VkPhysicalDevice phys_dev{};
@@ -1189,28 +1219,29 @@ TEST_F(LayerCreateInstance, GetPhysicalDeviceProperties2KHR) {
return VK_SUCCESS;
});
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(regular_layer_name).add_extension("VK_KHR_get_physical_device_properties2");
inst.CheckCreate();
}
-TEST_F(ExplicitLayers, WrapObjects) {
- auto& driver = env->get_test_icd();
+TEST(ExplicitLayers, WrapObjects) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
const char* wrap_objects_name = "VK_LAYER_LUNARG_wrap_objects";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
- "wrap_objects_layer.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(
+ ManifestLayer::LayerDescription{}.set_name(wrap_objects_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
+ "wrap_objects_layer.json");
const char* regular_layer_name_1 = "RegularLayer1";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}.set_name(regular_layer_name_1).set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)),
"regular_layer_1.json");
const char* regular_layer_name_2 = "RegularLayer2";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}.set_name(regular_layer_name_2).set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)),
"regular_layer_2.json");
@@ -1220,7 +1251,7 @@ TEST_F(ExplicitLayers, WrapObjects) {
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().queue_family_properties.push_back(family_props);
{ // just the wrap layer
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(wrap_objects_name);
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
@@ -1230,7 +1261,7 @@ TEST_F(ExplicitLayers, WrapObjects) {
dev.CheckCreate(phys_dev);
}
{ // wrap layer first
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(wrap_objects_name).add_layer(regular_layer_name_1);
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
@@ -1240,7 +1271,7 @@ TEST_F(ExplicitLayers, WrapObjects) {
dev.CheckCreate(phys_dev);
}
{ // wrap layer last
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(regular_layer_name_1).add_layer(wrap_objects_name);
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
@@ -1250,7 +1281,7 @@ TEST_F(ExplicitLayers, WrapObjects) {
dev.CheckCreate(phys_dev);
}
{ // wrap layer last
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(regular_layer_name_1).add_layer(wrap_objects_name).add_layer(regular_layer_name_2);
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
@@ -1261,8 +1292,10 @@ TEST_F(ExplicitLayers, WrapObjects) {
}
}
-TEST_F(LayerExtensions, ImplicitNoAdditionalInstanceExtension) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ImplicitNoAdditionalInstanceExtension) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
@@ -1272,28 +1305,28 @@ TEST_F(LayerExtensions, ImplicitNoAdditionalInstanceExtension) {
const char* enable_env_var = "ENABLE_ME";
const char* disable_env_var = "DISABLE_ME";
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name(implicit_layer_name)
- .set_lib_path(TEST_LAYER_WRAP_OBJECTS)
- .set_disable_environment(disable_env_var)
- .set_enable_environment(enable_env_var)),
- "implicit_wrap_layer_no_ext.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(implicit_layer_name)
+ .set_lib_path(TEST_LAYER_WRAP_OBJECTS)
+ .set_disable_environment(disable_env_var)
+ .set_enable_environment(enable_env_var)),
+ "implicit_wrap_layer_no_ext.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
// // set enable env-var, layer should load
set_env_var(enable_env_var, "1");
- CheckLogForLayerString(*env, implicit_layer_name, true);
+ CheckLogForLayerString(env, implicit_layer_name, true);
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
if (extension_count > 0) {
extension_props.resize(extension_count);
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
// Make sure the extensions that are implemented only in the test layers is not present.
for (uint32_t ext = 0; ext < extension_count; ++ext) {
@@ -1302,18 +1335,20 @@ TEST_F(LayerExtensions, ImplicitNoAdditionalInstanceExtension) {
}
}
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
// Make sure all the function pointers are NULL as well
- handle_assert_null(env->vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkReleaseDisplayEXT"));
- handle_assert_null(env->vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
+ handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkReleaseDisplayEXT"));
+ handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
remove_env_var(enable_env_var);
}
-TEST_F(LayerExtensions, ImplicitDirDispModeInstanceExtension) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ImplicitDirDispModeInstanceExtension) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
@@ -1323,7 +1358,7 @@ TEST_F(LayerExtensions, ImplicitDirDispModeInstanceExtension) {
const char* enable_env_var = "ENABLE_ME";
const char* disable_env_var = "DISABLE_ME";
- env->add_implicit_layer(
+ env.add_implicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}
.set_name(implicit_layer_name)
@@ -1334,20 +1369,20 @@ TEST_F(LayerExtensions, ImplicitDirDispModeInstanceExtension) {
"implicit_wrap_layer_dir_disp_mode.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
// // set enable env-var, layer should load
set_env_var(enable_env_var, "1");
- CheckLogForLayerString(*env, implicit_layer_name, true);
+ CheckLogForLayerString(env, implicit_layer_name, true);
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
- ASSERT_EQ(extension_count, 3); // the instance extension, debug_utils, and debug_report
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 3U); // the instance extension, debug_utils, and debug_report
extension_props.resize(extension_count);
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
// Make sure the extensions that are implemented only in the test layers is not present.
bool found = false;
@@ -1359,19 +1394,21 @@ TEST_F(LayerExtensions, ImplicitDirDispModeInstanceExtension) {
}
ASSERT_EQ(true, found);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_extension(VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME);
inst.CheckCreate();
// Make sure only the appropriate function pointers are NULL as well
- handle_assert_has_value(env->vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkReleaseDisplayEXT"));
- handle_assert_null(env->vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
+ handle_assert_has_value(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkReleaseDisplayEXT"));
+ handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
remove_env_var(enable_env_var);
}
-TEST_F(LayerExtensions, ImplicitDispSurfCountInstanceExtension) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ImplicitDispSurfCountInstanceExtension) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
@@ -1381,32 +1418,31 @@ TEST_F(LayerExtensions, ImplicitDispSurfCountInstanceExtension) {
const char* enable_env_var = "ENABLE_ME";
const char* disable_env_var = "DISABLE_ME";
- env->add_implicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}
- .set_name(implicit_layer_name)
- .set_lib_path(TEST_LAYER_WRAP_OBJECTS_2)
- .set_disable_environment(disable_env_var)
- .set_enable_environment(enable_env_var)
- .add_instance_extension(
- {VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME, 1, {"vkGetPhysicalDeviceSurfaceCapabilities2EXT"}})),
- "implicit_wrap_layer_disp_surf_count.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(implicit_layer_name)
+ .set_lib_path(TEST_LAYER_WRAP_OBJECTS_2)
+ .set_disable_environment(disable_env_var)
+ .set_enable_environment(enable_env_var)
+ .add_instance_extension({VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME,
+ 1,
+ {"vkGetPhysicalDeviceSurfaceCapabilities2EXT"}})),
+ "implicit_wrap_layer_disp_surf_count.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
// // set enable env-var, layer should load
set_env_var(enable_env_var, "1");
- CheckLogForLayerString(*env, implicit_layer_name, true);
+ CheckLogForLayerString(env, implicit_layer_name, true);
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
- ASSERT_EQ(extension_count, 3); // the instance extension, debug_utils, and debug_report
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 3U); // the instance extension, debug_utils, and debug_report
extension_props.resize(extension_count);
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
// Make sure the extensions that are implemented only in the test layers is not present.
bool found = false;
@@ -1418,19 +1454,21 @@ TEST_F(LayerExtensions, ImplicitDispSurfCountInstanceExtension) {
}
ASSERT_EQ(true, found);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_extension(VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME);
inst.CheckCreate();
// Make sure only the appropriate function pointers are NULL as well
- handle_assert_null(env->vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkReleaseDisplayEXT"));
- handle_assert_has_value(env->vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
+ handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkReleaseDisplayEXT"));
+ handle_assert_has_value(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
remove_env_var(enable_env_var);
}
-TEST_F(LayerExtensions, ImplicitBothInstanceExtensions) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ImplicitBothInstanceExtensions) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
@@ -1440,7 +1478,7 @@ TEST_F(LayerExtensions, ImplicitBothInstanceExtensions) {
const char* enable_env_var = "ENABLE_ME";
const char* disable_env_var = "DISABLE_ME";
- env->add_implicit_layer(
+ env.add_implicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}
.set_name(implicit_layer_name)
@@ -1453,20 +1491,20 @@ TEST_F(LayerExtensions, ImplicitBothInstanceExtensions) {
"implicit_wrap_layer_both_inst.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
// // set enable env-var, layer should load
set_env_var(enable_env_var, "1");
- CheckLogForLayerString(*env, implicit_layer_name, true);
+ CheckLogForLayerString(env, implicit_layer_name, true);
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
- ASSERT_EQ(extension_count, 4); // the two instance extension plus debug_utils and debug_report
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 4U); // the two instance extension plus debug_utils and debug_report
extension_props.resize(extension_count);
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
// Make sure the extensions that are implemented only in the test layers is not present.
bool found[2] = {false, false};
@@ -1482,42 +1520,44 @@ TEST_F(LayerExtensions, ImplicitBothInstanceExtensions) {
ASSERT_EQ(true, found[ext]);
}
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_extension(VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME)
.add_extension(VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME);
inst.CheckCreate();
// Make sure only the appropriate function pointers are NULL as well
- handle_assert_has_value(env->vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkReleaseDisplayEXT"));
- handle_assert_has_value(env->vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
+ handle_assert_has_value(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkReleaseDisplayEXT"));
+ handle_assert_has_value(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
remove_env_var(enable_env_var);
}
-TEST_F(LayerExtensions, ExplicitNoAdditionalInstanceExtension) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ExplicitNoAdditionalInstanceExtension) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().queue_family_properties.push_back(family_props);
const char* explicit_layer_name = "VK_LAYER_LUNARG_wrap_objects";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}.set_name(explicit_layer_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
"explicit_wrap_layer_no_ext.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
if (extension_count > 0) {
extension_props.resize(extension_count);
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
// Make sure the extensions are not present
for (uint32_t ext = 0; ext < extension_count; ++ext) {
@@ -1530,11 +1570,11 @@ TEST_F(LayerExtensions, ExplicitNoAdditionalInstanceExtension) {
extension_count = 0;
extension_props.clear();
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count, nullptr));
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count, nullptr));
if (extension_count > 0) {
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count,
- extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count,
+ extension_props.data()));
// Make sure the extensions still aren't present in this layer
for (uint32_t ext = 0; ext < extension_count; ++ext) {
@@ -1543,23 +1583,25 @@ TEST_F(LayerExtensions, ExplicitNoAdditionalInstanceExtension) {
}
}
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
// Make sure all the function pointers are NULL as well
- handle_assert_null(env->vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkReleaseDisplayEXT"));
- handle_assert_null(env->vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
+ handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkReleaseDisplayEXT"));
+ handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
}
-TEST_F(LayerExtensions, ExplicitDirDispModeInstanceExtension) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ExplicitDirDispModeInstanceExtension) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().queue_family_properties.push_back(family_props);
const char* explicit_layer_name = "VK_LAYER_LUNARG_wrap_objects";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}
.set_name(explicit_layer_name)
@@ -1568,16 +1610,16 @@ TEST_F(LayerExtensions, ExplicitDirDispModeInstanceExtension) {
"explicit_wrap_layer_dir_disp_mode.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
if (extension_count > 0) {
extension_props.resize(extension_count);
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
// Make sure the extensions are not present
for (uint32_t ext = 0; ext < extension_count; ++ext) {
@@ -1590,11 +1632,11 @@ TEST_F(LayerExtensions, ExplicitDirDispModeInstanceExtension) {
extension_count = 0;
extension_props.clear();
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count, nullptr));
- ASSERT_EQ(extension_count, 1);
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 1U);
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count,
- extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count,
+ extension_props.data()));
// Make sure the extensions still aren't present in this layer
bool found = false;
@@ -1606,51 +1648,52 @@ TEST_F(LayerExtensions, ExplicitDirDispModeInstanceExtension) {
}
ASSERT_EQ(true, found);
- InstWrapper inst1{env->vulkan_functions};
+ InstWrapper inst1{env.vulkan_functions};
inst1.create_info.add_extension(VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME);
inst1.CheckCreate(VK_ERROR_EXTENSION_NOT_PRESENT);
// Make sure only the appropriate function pointers are NULL as well
- handle_assert_null(env->vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkReleaseDisplayEXT"));
- handle_assert_null(env->vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
+ handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkReleaseDisplayEXT"));
+ handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
- InstWrapper inst2{env->vulkan_functions};
+ InstWrapper inst2{env.vulkan_functions};
inst2.create_info.add_layer(explicit_layer_name).add_extension(VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME);
inst2.CheckCreate();
// Make sure only the appropriate function pointers are NULL as well
- handle_assert_has_value(env->vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkReleaseDisplayEXT"));
- handle_assert_null(env->vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
+ handle_assert_has_value(env.vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkReleaseDisplayEXT"));
+ handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
}
-TEST_F(LayerExtensions, ExplicitDispSurfCountInstanceExtension) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ExplicitDispSurfCountInstanceExtension) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().queue_family_properties.push_back(family_props);
const char* explicit_layer_name = "VK_LAYER_LUNARG_wrap_objects";
- env->add_explicit_layer(
- ManifestLayer{}.add_layer(
- ManifestLayer::LayerDescription{}
- .set_name(explicit_layer_name)
- .set_lib_path(TEST_LAYER_WRAP_OBJECTS_2)
- .add_instance_extension(
- {VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME, 1, {"vkGetPhysicalDeviceSurfaceCapabilities2EXT"}})),
- "explicit_wrap_layer_disp_surf_count.json");
+ env.add_explicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(explicit_layer_name)
+ .set_lib_path(TEST_LAYER_WRAP_OBJECTS_2)
+ .add_instance_extension({VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME,
+ 1,
+ {"vkGetPhysicalDeviceSurfaceCapabilities2EXT"}})),
+ "explicit_wrap_layer_disp_surf_count.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
if (extension_count > 0) {
extension_props.resize(extension_count);
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
// Make sure the extensions are not present
for (uint32_t ext = 0; ext < extension_count; ++ext) {
@@ -1663,11 +1706,11 @@ TEST_F(LayerExtensions, ExplicitDispSurfCountInstanceExtension) {
extension_count = 0;
extension_props.clear();
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count, nullptr));
- ASSERT_EQ(extension_count, 1);
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 1U);
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count,
- extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count,
+ extension_props.data()));
// Make sure the extensions still aren't present in this layer
bool found = false;
@@ -1679,32 +1722,34 @@ TEST_F(LayerExtensions, ExplicitDispSurfCountInstanceExtension) {
}
ASSERT_EQ(true, found);
- InstWrapper inst1{env->vulkan_functions};
+ InstWrapper inst1{env.vulkan_functions};
inst1.create_info.add_extension(VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME);
inst1.CheckCreate(VK_ERROR_EXTENSION_NOT_PRESENT);
// Make sure only the appropriate function pointers are NULL as well
- handle_assert_null(env->vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkReleaseDisplayEXT"));
- handle_assert_null(env->vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
+ handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkReleaseDisplayEXT"));
+ handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
- InstWrapper inst2{env->vulkan_functions};
+ InstWrapper inst2{env.vulkan_functions};
inst2.create_info.add_layer(explicit_layer_name).add_extension(VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME);
inst2.CheckCreate();
// Make sure only the appropriate function pointers are NULL as well
- handle_assert_null(env->vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkReleaseDisplayEXT"));
- handle_assert_has_value(env->vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
+ handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkReleaseDisplayEXT"));
+ handle_assert_has_value(env.vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
}
-TEST_F(LayerExtensions, ExplicitBothInstanceExtensions) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ExplicitBothInstanceExtensions) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().queue_family_properties.push_back(family_props);
const char* explicit_layer_name = "VK_LAYER_LUNARG_wrap_objects";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}
.set_name(explicit_layer_name)
@@ -1715,16 +1760,16 @@ TEST_F(LayerExtensions, ExplicitBothInstanceExtensions) {
"explicit_wrap_layer_both_inst.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
if (extension_count > 0) {
extension_props.resize(extension_count);
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extension_props.data()));
// Make sure the extensions are not present
for (uint32_t ext = 0; ext < extension_count; ++ext) {
@@ -1737,11 +1782,11 @@ TEST_F(LayerExtensions, ExplicitBothInstanceExtensions) {
extension_count = 0;
extension_props.clear();
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count, nullptr));
- ASSERT_EQ(extension_count, 2);
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 2U);
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count,
- extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(explicit_layer_name, &extension_count,
+ extension_props.data()));
// Make sure the extensions still aren't present in this layer
bool found[2] = {false, false};
@@ -1757,16 +1802,16 @@ TEST_F(LayerExtensions, ExplicitBothInstanceExtensions) {
ASSERT_EQ(true, found[ext]);
}
- InstWrapper inst1{env->vulkan_functions};
+ InstWrapper inst1{env.vulkan_functions};
inst1.create_info.add_extension(VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME)
.add_extension(VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME);
inst1.CheckCreate(VK_ERROR_EXTENSION_NOT_PRESENT);
// Make sure only the appropriate function pointers are NULL as well
- handle_assert_null(env->vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkReleaseDisplayEXT"));
- handle_assert_null(env->vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
+ handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkReleaseDisplayEXT"));
+ handle_assert_null(env.vulkan_functions.vkGetInstanceProcAddr(inst1.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
- InstWrapper inst2{env->vulkan_functions};
+ InstWrapper inst2{env.vulkan_functions};
inst2.create_info.add_layer(explicit_layer_name)
.add_extension(VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME)
.add_extension(VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME);
@@ -1774,23 +1819,25 @@ TEST_F(LayerExtensions, ExplicitBothInstanceExtensions) {
VkPhysicalDevice phys_dev = inst2.GetPhysDev();
// Make sure only the appropriate function pointers are NULL as well
- handle_assert_has_value(env->vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkReleaseDisplayEXT"));
+ handle_assert_has_value(env.vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkReleaseDisplayEXT"));
PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT pfnGetPhysicalDeviceSurfaceCapabilities2EXT =
reinterpret_cast<PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT>(
- env->vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
+ env.vulkan_functions.vkGetInstanceProcAddr(inst2.inst, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"));
handle_assert_has_value(pfnGetPhysicalDeviceSurfaceCapabilities2EXT);
VkSurfaceCapabilities2EXT surf_caps{VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT};
// Call and then check a few things
ASSERT_EQ(VK_SUCCESS, pfnGetPhysicalDeviceSurfaceCapabilities2EXT(phys_dev, VK_NULL_HANDLE, &surf_caps));
- ASSERT_EQ(7, surf_caps.minImageCount);
- ASSERT_EQ(12, surf_caps.maxImageCount);
- ASSERT_EQ(365, surf_caps.maxImageArrayLayers);
+ ASSERT_EQ(7U, surf_caps.minImageCount);
+ ASSERT_EQ(12U, surf_caps.maxImageCount);
+ ASSERT_EQ(365U, surf_caps.maxImageArrayLayers);
}
-TEST_F(LayerExtensions, ImplicitNoAdditionalDeviceExtension) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ImplicitNoAdditionalDeviceExtension) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
@@ -1800,32 +1847,32 @@ TEST_F(LayerExtensions, ImplicitNoAdditionalDeviceExtension) {
const char* enable_env_var = "ENABLE_ME";
const char* disable_env_var = "DISABLE_ME";
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name(implicit_layer_name)
- .set_lib_path(TEST_LAYER_WRAP_OBJECTS)
- .set_disable_environment(disable_env_var)
- .set_enable_environment(enable_env_var)),
- "implicit_wrap_layer_no_ext.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(implicit_layer_name)
+ .set_lib_path(TEST_LAYER_WRAP_OBJECTS)
+ .set_disable_environment(disable_env_var)
+ .set_enable_environment(enable_env_var)),
+ "implicit_wrap_layer_no_ext.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
// // set enable env-var, layer should load
set_env_var(enable_env_var, "1");
- CheckLogForLayerString(*env, implicit_layer_name, true);
+ CheckLogForLayerString(env, implicit_layer_name, true);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
if (extension_count > 0) {
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
- extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
+ extension_props.data()));
// Make sure the extensions that are implemented only in the test layers is not present.
for (uint32_t ext = 0; ext < extension_count; ++ext) {
@@ -1874,8 +1921,10 @@ TEST_F(LayerExtensions, ImplicitNoAdditionalDeviceExtension) {
remove_env_var(enable_env_var);
}
-TEST_F(LayerExtensions, ImplicitMaintenanceDeviceExtension) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ImplicitMaintenanceDeviceExtension) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
@@ -1885,32 +1934,32 @@ TEST_F(LayerExtensions, ImplicitMaintenanceDeviceExtension) {
const char* enable_env_var = "ENABLE_ME";
const char* disable_env_var = "DISABLE_ME";
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name(implicit_layer_name)
- .set_lib_path(TEST_LAYER_WRAP_OBJECTS_1)
- .set_disable_environment(disable_env_var)
- .set_enable_environment(enable_env_var)),
- "implicit_wrap_layer_maint.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(implicit_layer_name)
+ .set_lib_path(TEST_LAYER_WRAP_OBJECTS_1)
+ .set_disable_environment(disable_env_var)
+ .set_enable_environment(enable_env_var)),
+ "implicit_wrap_layer_maint.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
// // set enable env-var, layer should load
set_env_var(enable_env_var, "1");
- CheckLogForLayerString(*env, implicit_layer_name, true);
+ CheckLogForLayerString(env, implicit_layer_name, true);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
- ASSERT_EQ(extension_count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 1U);
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
- extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
+ extension_props.data()));
// Make sure only the one extension implemented by the enabled implicit layer is present.
bool found = false;
@@ -1933,8 +1982,10 @@ TEST_F(LayerExtensions, ImplicitMaintenanceDeviceExtension) {
remove_env_var(enable_env_var);
}
-TEST_F(LayerExtensions, ImplicitPresentImageDeviceExtension) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ImplicitPresentImageDeviceExtension) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
@@ -1944,32 +1995,32 @@ TEST_F(LayerExtensions, ImplicitPresentImageDeviceExtension) {
const char* enable_env_var = "ENABLE_ME";
const char* disable_env_var = "DISABLE_ME";
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name(implicit_layer_name)
- .set_lib_path(TEST_LAYER_WRAP_OBJECTS_2)
- .set_disable_environment(disable_env_var)
- .set_enable_environment(enable_env_var)),
- "implicit_wrap_layer_pres.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(implicit_layer_name)
+ .set_lib_path(TEST_LAYER_WRAP_OBJECTS_2)
+ .set_disable_environment(disable_env_var)
+ .set_enable_environment(enable_env_var)),
+ "implicit_wrap_layer_pres.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
// // set enable env-var, layer should load
set_env_var(enable_env_var, "1");
- CheckLogForLayerString(*env, implicit_layer_name, true);
+ CheckLogForLayerString(env, implicit_layer_name, true);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
- ASSERT_EQ(extension_count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 1U);
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
- extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
+ extension_props.data()));
// Make sure only the one extension implemented by the enabled implicit layer is present.
bool found = false;
@@ -1993,8 +2044,10 @@ TEST_F(LayerExtensions, ImplicitPresentImageDeviceExtension) {
remove_env_var(enable_env_var);
}
-TEST_F(LayerExtensions, ImplicitBothDeviceExtensions) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ImplicitBothDeviceExtensions) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
@@ -2004,32 +2057,32 @@ TEST_F(LayerExtensions, ImplicitBothDeviceExtensions) {
const char* enable_env_var = "ENABLE_ME";
const char* disable_env_var = "DISABLE_ME";
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name(implicit_layer_name)
- .set_lib_path(TEST_LAYER_WRAP_OBJECTS_3)
- .set_disable_environment(disable_env_var)
- .set_enable_environment(enable_env_var)),
- "implicit_wrap_layer_both_dev.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name(implicit_layer_name)
+ .set_lib_path(TEST_LAYER_WRAP_OBJECTS_3)
+ .set_disable_environment(disable_env_var)
+ .set_enable_environment(enable_env_var)),
+ "implicit_wrap_layer_both_dev.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
// // set enable env-var, layer should load
set_env_var(enable_env_var, "1");
- CheckLogForLayerString(*env, implicit_layer_name, true);
+ CheckLogForLayerString(env, implicit_layer_name, true);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
- ASSERT_EQ(extension_count, 2);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 2U);
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
- extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
+ extension_props.data()));
// Make sure only the one extension implemented by the enabled implicit layer is present.
bool found[2] = {false, false};
@@ -2058,35 +2111,37 @@ TEST_F(LayerExtensions, ImplicitBothDeviceExtensions) {
remove_env_var(enable_env_var);
}
-TEST_F(LayerExtensions, ExplicitNoAdditionalDeviceExtension) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ExplicitNoAdditionalDeviceExtension) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().queue_family_properties.push_back(family_props);
const char* explicit_layer_name = "VK_LAYER_LUNARG_wrap_objects";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}.set_name(explicit_layer_name).set_lib_path(TEST_LAYER_WRAP_OBJECTS)),
"explicit_wrap_layer_no_ext.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(explicit_layer_name);
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
if (extension_count > 0) {
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
- extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
+ extension_props.data()));
// Make sure the extensions are not present
for (uint32_t ext = 0; ext < extension_count; ++ext) {
@@ -2099,11 +2154,11 @@ TEST_F(LayerExtensions, ExplicitNoAdditionalDeviceExtension) {
extension_count = 0;
extension_props.clear();
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name, &extension_count, nullptr));
+ env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name, &extension_count, nullptr));
if (extension_count > 0) {
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name,
- &extension_count, extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name,
+ &extension_count, extension_props.data()));
// Make sure the extensions still aren't present in this layer
for (uint32_t ext = 0; ext < extension_count; ++ext) {
@@ -2122,15 +2177,17 @@ TEST_F(LayerExtensions, ExplicitNoAdditionalDeviceExtension) {
handle_assert_null(dev->vkGetDeviceProcAddr(dev.dev, "vkSetDeviceMemoryPriorityEXT"));
}
-TEST_F(LayerExtensions, ExplicitMaintenanceDeviceExtension) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ExplicitMaintenanceDeviceExtension) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().queue_family_properties.push_back(family_props);
const char* explicit_layer_name = "VK_LAYER_LUNARG_wrap_objects";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
.set_name(explicit_layer_name)
.set_lib_path(TEST_LAYER_WRAP_OBJECTS_1)
@@ -2139,21 +2196,21 @@ TEST_F(LayerExtensions, ExplicitMaintenanceDeviceExtension) {
"explicit_wrap_layer_maint.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(explicit_layer_name);
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
if (extension_count > 0) {
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
- extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
+ extension_props.data()));
// Make sure the extensions are not present
for (uint32_t ext = 0; ext < extension_count; ++ext) {
@@ -2166,11 +2223,11 @@ TEST_F(LayerExtensions, ExplicitMaintenanceDeviceExtension) {
extension_count = 0;
extension_props.clear();
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name, &extension_count, nullptr));
- ASSERT_EQ(extension_count, 1);
+ env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name, &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 1U);
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name,
- &extension_count, extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name, &extension_count,
+ extension_props.data()));
// Make sure only the one extension implemented by the enabled implicit layer is present.
bool found = true;
@@ -2191,15 +2248,17 @@ TEST_F(LayerExtensions, ExplicitMaintenanceDeviceExtension) {
handle_assert_null(dev->vkGetDeviceProcAddr(dev.dev, "vkGetSwapchainStatusKHR"));
}
-TEST_F(LayerExtensions, ExplicitPresentImageDeviceExtension) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ExplicitPresentImageDeviceExtension) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().queue_family_properties.push_back(family_props);
const char* explicit_layer_name = "VK_LAYER_LUNARG_wrap_objects";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}
.set_name(explicit_layer_name)
@@ -2209,21 +2268,21 @@ TEST_F(LayerExtensions, ExplicitPresentImageDeviceExtension) {
"explicit_wrap_layer_pres.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(explicit_layer_name);
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
if (extension_count > 0) {
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
- extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
+ extension_props.data()));
// Make sure the extensions are not present
for (uint32_t ext = 0; ext < extension_count; ++ext) {
@@ -2236,11 +2295,11 @@ TEST_F(LayerExtensions, ExplicitPresentImageDeviceExtension) {
extension_count = 0;
extension_props.clear();
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name, &extension_count, nullptr));
- ASSERT_EQ(extension_count, 1);
+ env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name, &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 1U);
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name,
- &extension_count, extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name, &extension_count,
+ extension_props.data()));
// Make sure only the one extension implemented by the enabled implicit layer is present.
bool found = false;
@@ -2262,15 +2321,17 @@ TEST_F(LayerExtensions, ExplicitPresentImageDeviceExtension) {
handle_assert_has_value(dev->vkGetDeviceProcAddr(dev.dev, "vkGetSwapchainStatusKHR"));
}
-TEST_F(LayerExtensions, ExplicitBothDeviceExtensions) {
- auto& driver = env->get_test_icd();
+TEST(LayerExtensions, ExplicitBothDeviceExtensions) {
+ FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().queue_family_properties.push_back(family_props);
const char* explicit_layer_name = "VK_LAYER_LUNARG_wrap_objects";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}
.set_name(explicit_layer_name)
@@ -2281,10 +2342,10 @@ TEST_F(LayerExtensions, ExplicitBothDeviceExtensions) {
"explicit_wrap_layer_both_dev.json");
uint32_t count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
- ASSERT_EQ(count, 1);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&count, nullptr));
+ ASSERT_EQ(count, 1U);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(explicit_layer_name);
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
@@ -2292,11 +2353,11 @@ TEST_F(LayerExtensions, ExplicitBothDeviceExtensions) {
uint32_t extension_count = 0;
std::vector<VkExtensionProperties> extension_props;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count, nullptr));
if (extension_count > 0) {
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
- extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &extension_count,
+ extension_props.data()));
// Make sure the extensions are not present
for (uint32_t ext = 0; ext < extension_count; ++ext) {
@@ -2309,11 +2370,11 @@ TEST_F(LayerExtensions, ExplicitBothDeviceExtensions) {
extension_count = 0;
extension_props.clear();
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name, &extension_count, nullptr));
- ASSERT_EQ(extension_count, 2); // debug_utils, and debug_report
+ env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name, &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 2U); // debug_utils, and debug_report
extension_props.resize(extension_count);
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name,
- &extension_count, extension_props.data()));
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, explicit_layer_name, &extension_count,
+ extension_props.data()));
// Make sure only the one extension implemented by the enabled implicit layer is present.
bool found[2] = {false, false};
@@ -2375,10 +2436,10 @@ TEST(TestLayers, ExplicitlyEnableImplicitLayer) {
uint32_t count = 0;
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- EXPECT_EQ(1, count);
+ EXPECT_EQ(1U, count);
VkLayerProperties layer_props{};
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, &layer_props);
- EXPECT_EQ(1, count);
+ EXPECT_EQ(1U, count);
ASSERT_TRUE(string_eq(regular_layer_name, layer_props.layerName));
}
{ // 1.2 instance
@@ -2390,10 +2451,10 @@ TEST(TestLayers, ExplicitlyEnableImplicitLayer) {
uint32_t count = 0;
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(1, count);
+ ASSERT_EQ(1U, count);
VkLayerProperties layer_props{};
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, &layer_props);
- ASSERT_EQ(1, count);
+ ASSERT_EQ(1U, count);
}
}
@@ -2416,11 +2477,11 @@ TEST(TestLayers, NewerInstanceVersionThanImplicitLayer) {
{ // global functions
uint32_t layer_count = 0;
EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
- EXPECT_EQ(layer_count, 1);
+ EXPECT_EQ(layer_count, 1U);
std::array<VkLayerProperties, 1> layer_props;
EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
- EXPECT_EQ(layer_count, 1);
+ EXPECT_EQ(layer_count, 1U);
EXPECT_TRUE(string_eq(layer_props[0].layerName, regular_layer_name));
}
{ // 1.1 instance - should find the implicit layer
@@ -2431,10 +2492,10 @@ TEST(TestLayers, NewerInstanceVersionThanImplicitLayer) {
uint32_t count = 0;
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- EXPECT_EQ(1, count);
+ EXPECT_EQ(1U, count);
VkLayerProperties layer_props{};
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, &layer_props);
- EXPECT_EQ(1, count);
+ EXPECT_EQ(1U, count);
ASSERT_TRUE(string_eq(regular_layer_name, layer_props.layerName));
}
{ // 1.2 instance -- instance layer shouldn't be found
@@ -2450,10 +2511,10 @@ TEST(TestLayers, NewerInstanceVersionThanImplicitLayer) {
uint32_t count = 0;
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(0, count);
+ ASSERT_EQ(0U, count);
VkLayerProperties layer_props{};
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, &layer_props);
- ASSERT_EQ(0, count);
+ ASSERT_EQ(0U, count);
}
}
@@ -2477,11 +2538,11 @@ TEST(TestLayers, ImplicitLayerPre10APIVersion) {
uint32_t layer_count = 0;
EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
- EXPECT_EQ(layer_count, 1);
+ EXPECT_EQ(layer_count, 1U);
std::array<VkLayerProperties, 1> layer_props;
EXPECT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()));
- EXPECT_EQ(layer_count, 1);
+ EXPECT_EQ(layer_count, 1U);
EXPECT_TRUE(string_eq(layer_props[0].layerName, regular_layer_name));
}
{ // 1.0 instance -- instance layer should be found
@@ -2496,10 +2557,10 @@ TEST(TestLayers, ImplicitLayerPre10APIVersion) {
uint32_t count = 0;
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(0, count);
+ ASSERT_EQ(0U, count);
VkLayerProperties layer_props{};
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, &layer_props);
- ASSERT_EQ(0, count);
+ ASSERT_EQ(0U, count);
}
{ // 1.1 instance -- instance layer should be found
DebugUtilsLogger log;
@@ -2512,10 +2573,10 @@ TEST(TestLayers, ImplicitLayerPre10APIVersion) {
VkPhysicalDevice phys_dev = inst.GetPhysDev();
uint32_t count = 0;
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(0, count);
+ ASSERT_EQ(0U, count);
VkLayerProperties layer_props{};
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, &layer_props);
- ASSERT_EQ(0, count);
+ ASSERT_EQ(0U, count);
}
{ // 1.2 instance -- instance layer shouldn't be found
DebugUtilsLogger log;
@@ -2529,10 +2590,10 @@ TEST(TestLayers, ImplicitLayerPre10APIVersion) {
uint32_t count = 0;
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(0, count);
+ ASSERT_EQ(0U, count);
VkLayerProperties layer_props{};
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, &layer_props);
- ASSERT_EQ(0, count);
+ ASSERT_EQ(0U, count);
}
{ // application doesn't state its API version
DebugUtilsLogger log;
@@ -2546,10 +2607,10 @@ TEST(TestLayers, ImplicitLayerPre10APIVersion) {
uint32_t count = 0;
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, nullptr);
- ASSERT_EQ(0, count);
+ ASSERT_EQ(0U, count);
VkLayerProperties layer_props{};
env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &count, &layer_props);
- ASSERT_EQ(0, count);
+ ASSERT_EQ(0U, count);
}
}
@@ -2788,8 +2849,9 @@ TEST(TestLayers, DeviceLayerNotPresent) {
dev.CheckCreate(phys_dev);
}
-TEST_F(LayerPhysDeviceMod, AddPhysicalDevices) {
+TEST(LayerPhysDeviceMod, AddPhysicalDevices) {
FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
.set_name("VkLayer_LunarG_add_phys_dev")
.set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
@@ -2807,15 +2869,10 @@ TEST_F(LayerPhysDeviceMod, AddPhysicalDevices) {
VkPhysicalDeviceProperties properties{};
properties.apiVersion = VK_API_VERSION_1_2;
properties.vendorID = 0x11000000 + (icd << 6);
- char vendor_char = 'a' + icd;
for (uint32_t dev = 0; dev < 3; ++dev) {
properties.deviceID = properties.vendorID + dev;
properties.deviceType = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU;
- char dev_char = '0' + dev;
- std::string dev_name = "physdev_";
- dev_name += vendor_char;
- dev_name += "_";
- dev_name += dev_char;
+ auto dev_name = std::string("physdev_") + std::to_string(icd) + "_" + std::to_string(dev);
#if defined(_WIN32)
strncpy_s(properties.deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE, dev_name.c_str(), dev_name.length() + 1);
#else
@@ -2871,8 +2928,9 @@ TEST_F(LayerPhysDeviceMod, AddPhysicalDevices) {
ASSERT_EQ(found_incomplete, icd_devices);
}
-TEST_F(LayerPhysDeviceMod, RemovePhysicalDevices) {
+TEST(LayerPhysDeviceMod, RemovePhysicalDevices) {
FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
.set_name("VkLayer_LunarG_remove_phys_dev")
.set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
@@ -2890,15 +2948,10 @@ TEST_F(LayerPhysDeviceMod, RemovePhysicalDevices) {
VkPhysicalDeviceProperties properties{};
properties.apiVersion = VK_API_VERSION_1_2;
properties.vendorID = 0x11000000 + (icd << 6);
- char vendor_char = 'a' + icd;
for (uint32_t dev = 0; dev < 3; ++dev) {
properties.deviceID = properties.vendorID + dev;
properties.deviceType = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU;
- char dev_char = '0' + dev;
- std::string dev_name = "physdev_";
- dev_name += vendor_char;
- dev_name += "_";
- dev_name += dev_char;
+ auto dev_name = std::string("physdev_") + std::to_string(icd) + "_" + std::to_string(dev);
#if defined(_WIN32)
strncpy_s(properties.deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE, dev_name.c_str(), dev_name.length() + 1);
#else
@@ -2927,8 +2980,9 @@ TEST_F(LayerPhysDeviceMod, RemovePhysicalDevices) {
ASSERT_EQ(dev_count, returned_phys_dev_count);
}
-TEST_F(LayerPhysDeviceMod, ReorderPhysicalDevices) {
+TEST(LayerPhysDeviceMod, ReorderPhysicalDevices) {
FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
.set_name("VkLayer_LunarG_reorder_phys_dev")
.set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
@@ -2946,15 +3000,10 @@ TEST_F(LayerPhysDeviceMod, ReorderPhysicalDevices) {
VkPhysicalDeviceProperties properties{};
properties.apiVersion = VK_API_VERSION_1_2;
properties.vendorID = 0x11000000 + (icd << 6);
- char vendor_char = 'a' + icd;
for (uint32_t dev = 0; dev < 3; ++dev) {
properties.deviceID = properties.vendorID + dev;
properties.deviceType = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU;
- char dev_char = '0' + dev;
- std::string dev_name = "physdev_";
- dev_name += vendor_char;
- dev_name += "_";
- dev_name += dev_char;
+ auto dev_name = std::string("physdev_") + std::to_string(icd) + "_" + std::to_string(dev);
#if defined(_WIN32)
strncpy_s(properties.deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE, dev_name.c_str(), dev_name.length() + 1);
#else
@@ -2983,8 +3032,9 @@ TEST_F(LayerPhysDeviceMod, ReorderPhysicalDevices) {
ASSERT_EQ(dev_count, returned_phys_dev_count);
}
-TEST_F(LayerPhysDeviceMod, AddRemoveAndReorderPhysicalDevices) {
+TEST(LayerPhysDeviceMod, AddRemoveAndReorderPhysicalDevices) {
FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
.set_name("VkLayer_LunarG_all_phys_dev")
.set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
@@ -3002,15 +3052,10 @@ TEST_F(LayerPhysDeviceMod, AddRemoveAndReorderPhysicalDevices) {
VkPhysicalDeviceProperties properties{};
properties.apiVersion = VK_API_VERSION_1_2;
properties.vendorID = 0x11000000 + (icd << 6);
- char vendor_char = 'a' + icd;
for (uint32_t dev = 0; dev < 3; ++dev) {
properties.deviceID = properties.vendorID + dev;
properties.deviceType = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU;
- char dev_char = '0' + dev;
- std::string dev_name = "physdev_";
- dev_name += vendor_char;
- dev_name += "_";
- dev_name += dev_char;
+ auto dev_name = std::string("physdev_") + std::to_string(icd) + "_" + std::to_string(dev);
#if defined(_WIN32)
strncpy_s(properties.deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE, dev_name.c_str(), dev_name.length() + 1);
#else
@@ -3049,8 +3094,8 @@ TEST_F(LayerPhysDeviceMod, AddRemoveAndReorderPhysicalDevices) {
// Should see 2 removed, but 3 added so a diff count of 1
uint32_t diff_count = dev_count - icd_devices;
- ASSERT_EQ(1, diff_count);
- ASSERT_EQ(found_added_count, 3);
+ ASSERT_EQ(1U, diff_count);
+ ASSERT_EQ(found_added_count, 3U);
}
static bool GroupsAreTheSame(VkPhysicalDeviceGroupProperties a, VkPhysicalDeviceGroupProperties b) {
@@ -3065,8 +3110,9 @@ static bool GroupsAreTheSame(VkPhysicalDeviceGroupProperties a, VkPhysicalDevice
return true;
}
-TEST_F(LayerPhysDeviceMod, AddPhysicalDeviceGroups) {
+TEST(LayerPhysDeviceMod, AddPhysicalDeviceGroups) {
FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
.set_name("VkLayer_LunarG_add_phys_dev")
.set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
@@ -3084,15 +3130,10 @@ TEST_F(LayerPhysDeviceMod, AddPhysicalDeviceGroups) {
VkPhysicalDeviceProperties properties{};
properties.apiVersion = VK_API_VERSION_1_2;
properties.vendorID = 0x11000000 + (icd << 6);
- char vendor_char = 'a' + icd;
for (uint32_t dev = 0; dev < 3; ++dev) {
properties.deviceID = properties.vendorID + dev;
properties.deviceType = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU;
- char dev_char = '0' + dev;
- std::string dev_name = "physdev_";
- dev_name += vendor_char;
- dev_name += "_";
- dev_name += dev_char;
+ auto dev_name = std::string("physdev_") + std::to_string(icd) + "_" + std::to_string(dev);
#if defined(_WIN32)
strncpy_s(properties.deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE, dev_name.c_str(), dev_name.length() + 1);
#else
@@ -3159,8 +3200,9 @@ TEST_F(LayerPhysDeviceMod, AddPhysicalDeviceGroups) {
ASSERT_EQ(found_incomplete, icd_groups);
}
-TEST_F(LayerPhysDeviceMod, RemovePhysicalDeviceGroups) {
+TEST(LayerPhysDeviceMod, RemovePhysicalDeviceGroups) {
FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
.set_name("VkLayer_LunarG_remove_phys_dev")
.set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
@@ -3178,15 +3220,10 @@ TEST_F(LayerPhysDeviceMod, RemovePhysicalDeviceGroups) {
VkPhysicalDeviceProperties properties{};
properties.apiVersion = VK_API_VERSION_1_2;
properties.vendorID = 0x11000000 + (icd << 6);
- char vendor_char = 'a' + icd;
for (uint32_t dev = 0; dev < 3; ++dev) {
properties.deviceID = properties.vendorID + dev;
properties.deviceType = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU;
- char dev_char = '0' + dev;
- std::string dev_name = "physdev_";
- dev_name += vendor_char;
- dev_name += "_";
- dev_name += dev_char;
+ auto dev_name = std::string("physdev_") + std::to_string(icd) + "_" + std::to_string(dev);
#if defined(_WIN32)
strncpy_s(properties.deviceName, dev_name.c_str(), VK_MAX_PHYSICAL_DEVICE_NAME_SIZE);
#else
@@ -3218,8 +3255,9 @@ TEST_F(LayerPhysDeviceMod, RemovePhysicalDeviceGroups) {
ASSERT_EQ(grp_count, returned_group_count);
}
-TEST_F(LayerPhysDeviceMod, ReorderPhysicalDeviceGroups) {
+TEST(LayerPhysDeviceMod, ReorderPhysicalDeviceGroups) {
FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
.set_name("VkLayer_LunarG_reorder_phys_dev")
.set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
@@ -3237,15 +3275,10 @@ TEST_F(LayerPhysDeviceMod, ReorderPhysicalDeviceGroups) {
VkPhysicalDeviceProperties properties{};
properties.apiVersion = VK_API_VERSION_1_2;
properties.vendorID = 0x11000000 + (icd << 6);
- char vendor_char = 'a' + icd;
for (uint32_t dev = 0; dev < 3; ++dev) {
properties.deviceID = properties.vendorID + dev;
properties.deviceType = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU;
- char dev_char = '0' + dev;
- std::string dev_name = "physdev_";
- dev_name += vendor_char;
- dev_name += "_";
- dev_name += dev_char;
+ auto dev_name = std::string("physdev_") + std::to_string(icd) + "_" + std::to_string(dev);
#if defined(_WIN32)
strncpy_s(properties.deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE, dev_name.c_str(), dev_name.length() + 1);
#else
@@ -3277,8 +3310,9 @@ TEST_F(LayerPhysDeviceMod, ReorderPhysicalDeviceGroups) {
ASSERT_EQ(grp_count, returned_group_count);
}
-TEST_F(LayerPhysDeviceMod, AddRemoveAndReorderPhysicalDeviceGroups) {
+TEST(LayerPhysDeviceMod, AddRemoveAndReorderPhysicalDeviceGroups) {
FrameworkEnvironment env;
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
.set_name("VkLayer_LunarG_all_phys_dev")
.set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
@@ -3296,15 +3330,10 @@ TEST_F(LayerPhysDeviceMod, AddRemoveAndReorderPhysicalDeviceGroups) {
VkPhysicalDeviceProperties properties{};
properties.apiVersion = VK_API_VERSION_1_2;
properties.vendorID = 0x11000000 + (icd << 6);
- char vendor_char = 'a' + icd;
for (uint32_t dev = 0; dev < 3; ++dev) {
properties.deviceID = properties.vendorID + dev;
properties.deviceType = VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU;
- char dev_char = '0' + dev;
- std::string dev_name = "physdev_";
- dev_name += vendor_char;
- dev_name += "_";
- dev_name += dev_char;
+ auto dev_name = std::string("physdev_") + std::to_string(icd) + "_" + std::to_string(dev);
#if defined(_WIN32)
strncpy_s(properties.deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE, dev_name.c_str(), dev_name.length() + 1);
#else
@@ -3353,6 +3382,6 @@ TEST_F(LayerPhysDeviceMod, AddRemoveAndReorderPhysicalDeviceGroups) {
// Should see 2 devices removed which should result in 1 group removed and since 3
// devices were added we should have 3 new groups. So we should have a diff of 2
// groups and 3 new groups
- ASSERT_EQ(2, diff_count);
- ASSERT_EQ(found_added_count, 3);
+ ASSERT_EQ(2U, diff_count);
+ ASSERT_EQ(found_added_count, 3U);
}
diff --git a/tests/loader_phys_dev_inst_ext_tests.cpp b/tests/loader_phys_dev_inst_ext_tests.cpp
index 7e12af42f..8b3c20e3d 100644
--- a/tests/loader_phys_dev_inst_ext_tests.cpp
+++ b/tests/loader_phys_dev_inst_ext_tests.cpp
@@ -104,7 +104,7 @@ TEST(LoaderInstPhysDevExts, PhysDevProps2KHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkPhysicalDeviceProperties props{};
instance->vkGetPhysicalDeviceProperties(physical_device, &props);
@@ -142,7 +142,7 @@ TEST(LoaderInstPhysDevExts, PhysDevProps2Simple) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkPhysicalDeviceProperties props{};
instance->vkGetPhysicalDeviceProperties(physical_device, &props);
@@ -187,7 +187,7 @@ TEST(LoaderInstPhysDevExts, PhysDevProps2KHRInstanceSupports11) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkPhysicalDeviceProperties props{};
instance->vkGetPhysicalDeviceProperties(physical_device, &props);
@@ -452,7 +452,7 @@ TEST(LoaderInstPhysDevExts, PhysDevFeats2KHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkPhysicalDeviceFeatures feats{};
instance->vkGetPhysicalDeviceFeatures(physical_device, &feats);
@@ -483,7 +483,7 @@ TEST(LoaderInstPhysDevExts, PhysDevFeats2Simple) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkPhysicalDeviceFeatures feats{};
instance->vkGetPhysicalDeviceFeatures(physical_device, &feats);
@@ -521,7 +521,7 @@ TEST(LoaderInstPhysDevExts, PhysDevFeats2KHRInstanceSupports11) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkPhysicalDeviceFeatures feats{};
instance->vkGetPhysicalDeviceFeatures(physical_device, &feats);
@@ -672,7 +672,7 @@ TEST(LoaderInstPhysDevExts, PhysDevFormatProps2KHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkFormatProperties props{};
instance->vkGetPhysicalDeviceFormatProperties(physical_device, VK_FORMAT_R4G4_UNORM_PACK8, &props);
@@ -706,7 +706,7 @@ TEST(LoaderInstPhysDevExts, PhysDevFormatProps2Simple) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkFormatProperties props{};
instance->vkGetPhysicalDeviceFormatProperties(physical_device, VK_FORMAT_R4G4_UNORM_PACK8, &props);
@@ -747,7 +747,7 @@ TEST(LoaderInstPhysDevExts, PhysDevFormatProps2KHRInstanceSupports11) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkFormatProperties props{};
instance->vkGetPhysicalDeviceFormatProperties(physical_device, VK_FORMAT_R4G4_UNORM_PACK8, &props);
@@ -904,7 +904,7 @@ TEST(LoaderInstPhysDevExts, PhysDevImageFormatProps2KHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkImageFormatProperties props{};
ASSERT_EQ(VK_SUCCESS,
@@ -954,7 +954,7 @@ TEST(LoaderInstPhysDevExts, PhysDevImageFormatProps2Simple) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkImageFormatProperties props{};
ASSERT_EQ(VK_SUCCESS,
@@ -1012,7 +1012,7 @@ TEST(LoaderInstPhysDevExts, PhysDevImageFormatProps2KHRInstanceSupports11) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkImageFormatProperties props{};
ASSERT_EQ(VK_SUCCESS,
@@ -1225,7 +1225,7 @@ TEST(LoaderInstPhysDevExts, PhysDevMemoryProps2KHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkPhysicalDeviceMemoryProperties props{};
instance->vkGetPhysicalDeviceMemoryProperties(physical_device, &props);
@@ -1257,7 +1257,7 @@ TEST(LoaderInstPhysDevExts, PhysDevMemoryProps2Simple) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkPhysicalDeviceMemoryProperties props{};
instance->vkGetPhysicalDeviceMemoryProperties(physical_device, &props);
@@ -1296,7 +1296,7 @@ TEST(LoaderInstPhysDevExts, PhysDevMemoryProps2KHRInstanceSupports11) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkPhysicalDeviceMemoryProperties props{};
instance->vkGetPhysicalDeviceMemoryProperties(physical_device, &props);
@@ -1468,7 +1468,7 @@ TEST(LoaderInstPhysDevExts, PhysDevQueueFamilyProps2KHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
uint32_t ret_fam_1 = 0;
std::vector<VkQueueFamilyProperties> props{};
@@ -1509,7 +1509,7 @@ TEST(LoaderInstPhysDevExts, PhysDevQueueFamilyProps2Simple) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
uint32_t ret_fam_1 = 0;
std::vector<VkQueueFamilyProperties> props{};
@@ -1557,7 +1557,7 @@ TEST(LoaderInstPhysDevExts, PhysDevQueueFamilyProps2KHRInstanceSupports11) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
uint32_t ret_fam_1 = 0;
std::vector<VkQueueFamilyProperties> props{};
@@ -1742,19 +1742,19 @@ TEST(LoaderInstPhysDevExts, PhysDevSparseImageFormatProps2KHRInstanceAndICDSuppo
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
std::vector<VkSparseImageFormatProperties> props{};
uint32_t sparse_count_1 = 0;
instance->vkGetPhysicalDeviceSparseImageFormatProperties(physical_device, VK_FORMAT_R4G4_UNORM_PACK8, VK_IMAGE_TYPE_2D,
VK_SAMPLE_COUNT_4_BIT, VK_IMAGE_USAGE_STORAGE_BIT,
VK_IMAGE_TILING_OPTIMAL, &sparse_count_1, nullptr);
- ASSERT_NE(sparse_count_1, 0);
+ ASSERT_NE(sparse_count_1, 0U);
props.resize(sparse_count_1);
instance->vkGetPhysicalDeviceSparseImageFormatProperties(physical_device, VK_FORMAT_R4G4_UNORM_PACK8, VK_IMAGE_TYPE_2D,
VK_SAMPLE_COUNT_4_BIT, VK_IMAGE_USAGE_STORAGE_BIT,
VK_IMAGE_TILING_OPTIMAL, &sparse_count_1, props.data());
- ASSERT_NE(sparse_count_1, 0);
+ ASSERT_NE(sparse_count_1, 0U);
VkPhysicalDeviceSparseImageFormatInfo2 info2{
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, // sType
@@ -1797,19 +1797,19 @@ TEST(LoaderInstPhysDevExts, PhysDevSparseImageFormatProps2Simple) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
std::vector<VkSparseImageFormatProperties> props{};
uint32_t sparse_count_1 = 0;
instance->vkGetPhysicalDeviceSparseImageFormatProperties(physical_device, VK_FORMAT_R4G4_UNORM_PACK8, VK_IMAGE_TYPE_2D,
VK_SAMPLE_COUNT_4_BIT, VK_IMAGE_USAGE_STORAGE_BIT,
VK_IMAGE_TILING_OPTIMAL, &sparse_count_1, nullptr);
- ASSERT_NE(sparse_count_1, 0);
+ ASSERT_NE(sparse_count_1, 0U);
props.resize(sparse_count_1);
instance->vkGetPhysicalDeviceSparseImageFormatProperties(physical_device, VK_FORMAT_R4G4_UNORM_PACK8, VK_IMAGE_TYPE_2D,
VK_SAMPLE_COUNT_4_BIT, VK_IMAGE_USAGE_STORAGE_BIT,
VK_IMAGE_TILING_OPTIMAL, &sparse_count_1, props.data());
- ASSERT_NE(sparse_count_1, 0);
+ ASSERT_NE(sparse_count_1, 0U);
VkPhysicalDeviceSparseImageFormatInfo2 info2{
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, // sType
@@ -1859,19 +1859,19 @@ TEST(LoaderInstPhysDevExts, PhysDevSparseImageFormatProps2KHRInstanceSupports11)
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
std::vector<VkSparseImageFormatProperties> props{};
uint32_t sparse_count_1 = 0;
instance->vkGetPhysicalDeviceSparseImageFormatProperties(physical_device, VK_FORMAT_R4G4_UNORM_PACK8, VK_IMAGE_TYPE_2D,
VK_SAMPLE_COUNT_4_BIT, VK_IMAGE_USAGE_STORAGE_BIT,
VK_IMAGE_TILING_OPTIMAL, &sparse_count_1, nullptr);
- ASSERT_NE(sparse_count_1, 0);
+ ASSERT_NE(sparse_count_1, 0U);
props.resize(sparse_count_1);
instance->vkGetPhysicalDeviceSparseImageFormatProperties(physical_device, VK_FORMAT_R4G4_UNORM_PACK8, VK_IMAGE_TYPE_2D,
VK_SAMPLE_COUNT_4_BIT, VK_IMAGE_USAGE_STORAGE_BIT,
VK_IMAGE_TILING_OPTIMAL, &sparse_count_1, props.data());
- ASSERT_NE(sparse_count_1, 0);
+ ASSERT_NE(sparse_count_1, 0U);
VkPhysicalDeviceSparseImageFormatInfo2 info2{
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, // sType
@@ -1974,12 +1974,12 @@ TEST(LoaderInstPhysDevExts, PhysDevSparseImageFormatPropsMixed) {
instance->vkGetPhysicalDeviceSparseImageFormatProperties(
physical_devices[dev], VK_FORMAT_R4G4_UNORM_PACK8, VK_IMAGE_TYPE_2D, VK_SAMPLE_COUNT_4_BIT, VK_IMAGE_USAGE_STORAGE_BIT,
VK_IMAGE_TILING_OPTIMAL, &sparse_count_1, nullptr);
- ASSERT_NE(sparse_count_1, 0);
+ ASSERT_NE(sparse_count_1, 0U);
props.resize(sparse_count_1);
instance->vkGetPhysicalDeviceSparseImageFormatProperties(
physical_devices[dev], VK_FORMAT_R4G4_UNORM_PACK8, VK_IMAGE_TYPE_2D, VK_SAMPLE_COUNT_4_BIT, VK_IMAGE_USAGE_STORAGE_BIT,
VK_IMAGE_TILING_OPTIMAL, &sparse_count_1, props.data());
- ASSERT_NE(sparse_count_1, 0);
+ ASSERT_NE(sparse_count_1, 0U);
VkPhysicalDeviceSparseImageFormatInfo2 info2{
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, // sType
@@ -2076,7 +2076,7 @@ TEST(LoaderInstPhysDevExts, PhysDevExtBufProps2KHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkPhysicalDeviceExternalBufferInfoKHR info{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR};
VkExternalBufferPropertiesKHR props{VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR};
@@ -2107,7 +2107,7 @@ TEST(LoaderInstPhysDevExts, PhysDevExtBufProps2Simple) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkPhysicalDeviceExternalBufferInfo info{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO};
VkExternalBufferProperties props{VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES};
@@ -2289,7 +2289,7 @@ TEST(LoaderInstPhysDevExts, PhysDevExtSemProps2KHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkPhysicalDeviceExternalSemaphoreInfoKHR info{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR};
VkExternalSemaphorePropertiesKHR props{VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR};
@@ -2319,7 +2319,7 @@ TEST(LoaderInstPhysDevExts, PhysDevExtSemProps2Simple) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkPhysicalDeviceExternalSemaphoreInfo info{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO};
VkExternalSemaphoreProperties props{VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES};
@@ -2500,7 +2500,7 @@ TEST(LoaderInstPhysDevExts, PhysDevExtFenceProps2KHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkPhysicalDeviceExternalFenceInfoKHR info{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR};
VkExternalFencePropertiesKHR props{VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR};
@@ -2530,7 +2530,7 @@ TEST(LoaderInstPhysDevExts, PhysDevExtFenceProps2Simple) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkPhysicalDeviceExternalFenceInfo info{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO};
VkExternalFenceProperties props{VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES};
@@ -2755,7 +2755,7 @@ TEST(LoaderInstPhysDevExts, PhysDevSurfaceCaps2KHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkSurfaceKHR surface;
VkHeadlessSurfaceCreateInfoEXT create_info{VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT};
@@ -2961,7 +2961,7 @@ TEST(LoaderInstPhysDevExts, PhysDevSurfaceFormats2KHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkSurfaceKHR surface;
VkHeadlessSurfaceCreateInfoEXT create_info{VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT};
@@ -3077,10 +3077,10 @@ TEST(LoaderInstPhysDevExts, PhysDevSurfaceFormats2KHRMixed) {
std::vector<VkSurfaceFormatKHR> props{};
uint32_t count_1 = 0;
ASSERT_EQ(VK_SUCCESS, GetPhysicalDeviceSurfaceFormats(physical_devices[dev], surface, &count_1, nullptr));
- ASSERT_NE(0, count_1);
+ ASSERT_NE(0U, count_1);
props.resize(count_1);
ASSERT_EQ(VK_SUCCESS, GetPhysicalDeviceSurfaceFormats(physical_devices[dev], surface, &count_1, props.data()));
- ASSERT_NE(0, count_1);
+ ASSERT_NE(0U, count_1);
VkPhysicalDeviceSurfaceInfo2KHR info{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR, nullptr, surface};
std::vector<VkSurfaceFormat2KHR> props2{};
@@ -3187,7 +3187,7 @@ TEST(LoaderInstPhysDevExts, PhysDevDispPropsKHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
std::vector<VkDisplayPropertiesKHR> props{};
uint32_t prop_count = 0;
@@ -3285,7 +3285,7 @@ TEST(LoaderInstPhysDevExts, PhysDevDispPropsKHRMixed) {
if (icd == 1) {
// For this extension, if no support exists (like for ICD 1), the value of 0 should be returned by the
// loader.
- ASSERT_EQ(0, prop_count);
+ ASSERT_EQ(0U, prop_count);
} else {
ASSERT_EQ(cur_dev.display_properties.size(), prop_count);
props.resize(prop_count);
@@ -3374,7 +3374,7 @@ TEST(LoaderInstPhysDevExts, PhysDevDispPlanePropsKHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
std::vector<VkDisplayPlanePropertiesKHR> props{};
uint32_t prop_count = 0;
@@ -3472,7 +3472,7 @@ TEST(LoaderInstPhysDevExts, PhysDevDispPlanePropsKHRMixed) {
if (icd == 1) {
// For this extension, if no support exists (like for ICD 1), the value of 0 should be returned by the
// loader.
- ASSERT_EQ(0, prop_count);
+ ASSERT_EQ(0U, prop_count);
} else {
ASSERT_EQ(cur_dev.display_plane_properties.size(), prop_count);
props.resize(prop_count);
@@ -3559,7 +3559,7 @@ TEST(LoaderInstPhysDevExts, GetDispPlaneSupDispsKHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
std::vector<VkDisplayKHR> disps{};
uint32_t disp_count = 0;
@@ -3657,7 +3657,7 @@ TEST(LoaderInstPhysDevExts, GetDispPlaneSupDispsKHRMixed) {
if (icd == 1) {
// For this extension, if no support exists (like for ICD 1), the value of 0 should be returned by the
// loader.
- ASSERT_EQ(0, disp_count);
+ ASSERT_EQ(0U, disp_count);
} else {
ASSERT_EQ(cur_dev.displays.size(), disp_count);
disps.resize(disp_count);
@@ -3751,7 +3751,7 @@ TEST(LoaderInstPhysDevExts, GetDispModePropsKHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
std::vector<VkDisplayModePropertiesKHR> props{};
uint32_t props_count = 0;
@@ -3848,7 +3848,7 @@ TEST(LoaderInstPhysDevExts, GetDispModePropsKHRMixed) {
if (icd == 1) {
// For this extension, if no support exists (like for ICD 1), the value of 0 should be returned by the
// loader.
- ASSERT_EQ(0, props_count);
+ ASSERT_EQ(0U, props_count);
} else {
std::vector<VkDisplayModePropertiesKHR> props{};
ASSERT_EQ(cur_dev.display_mode_properties.size(), props_count);
@@ -3921,7 +3921,7 @@ TEST(LoaderInstPhysDevExts, GetDispModesKHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkDisplayModeKHR mode{};
VkDisplayModeCreateInfoKHR create_info{VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR};
@@ -4143,7 +4143,7 @@ TEST(LoaderInstPhysDevExts, GetDispPlaneCapsKHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkDisplayPlaneCapabilitiesKHR caps{};
ASSERT_EQ(VK_SUCCESS, GetDisplayPlaneCapabilities(physical_device, 0, 0, &caps));
@@ -4318,12 +4318,12 @@ TEST(LoaderInstPhysDevExts, PhysDevDispProps2KHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
std::vector<VkDisplayPropertiesKHR> props{};
uint32_t prop_count = 0;
ASSERT_EQ(VK_SUCCESS, GetPhysicalDeviceDisplayProperties(physical_device, &prop_count, nullptr));
- ASSERT_NE(0, prop_count);
+ ASSERT_NE(0U, prop_count);
props.resize(prop_count);
ASSERT_EQ(VK_SUCCESS, GetPhysicalDeviceDisplayProperties(physical_device, &prop_count, props.data()));
@@ -4411,7 +4411,7 @@ TEST(LoaderInstPhysDevExts, PhysDevDispProps2KHRMixed) {
std::vector<VkDisplayPropertiesKHR> props{};
uint32_t prop_count = 0;
ASSERT_EQ(VK_SUCCESS, GetPhysicalDeviceDisplayProperties(physical_devices[dev], &prop_count, nullptr));
- ASSERT_NE(0, prop_count);
+ ASSERT_NE(0U, prop_count);
props.resize(prop_count);
ASSERT_EQ(VK_SUCCESS, GetPhysicalDeviceDisplayProperties(physical_devices[dev], &prop_count, props.data()));
@@ -4492,12 +4492,12 @@ TEST(LoaderInstPhysDevExts, PhysDevDispPlaneProps2KHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
std::vector<VkDisplayPlanePropertiesKHR> props{};
uint32_t prop_count = 0;
ASSERT_EQ(VK_SUCCESS, GetPhysicalDeviceDisplayPlaneProperties(physical_device, &prop_count, nullptr));
- ASSERT_NE(0, prop_count);
+ ASSERT_NE(0U, prop_count);
props.resize(prop_count);
ASSERT_EQ(VK_SUCCESS, GetPhysicalDeviceDisplayPlaneProperties(physical_device, &prop_count, props.data()));
@@ -4584,7 +4584,7 @@ TEST(LoaderInstPhysDevExts, PhysDevDispPlaneProps2KHRMixed) {
std::vector<VkDisplayPlanePropertiesKHR> props{};
uint32_t prop_count = 0;
ASSERT_EQ(VK_SUCCESS, GetPhysicalDeviceDisplayPlaneProperties(physical_devices[dev], &prop_count, nullptr));
- ASSERT_NE(0, prop_count);
+ ASSERT_NE(0U, prop_count);
props.resize(prop_count);
ASSERT_EQ(VK_SUCCESS, GetPhysicalDeviceDisplayPlaneProperties(physical_devices[dev], &prop_count, props.data()));
@@ -4668,12 +4668,12 @@ TEST(LoaderInstPhysDevExts, GetDispModeProps2KHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
std::vector<VkDisplayModePropertiesKHR> props{};
uint32_t props_count1 = 0;
ASSERT_EQ(VK_SUCCESS, GetDisplayModeProperties(physical_device, VK_NULL_HANDLE, &props_count1, nullptr));
- ASSERT_NE(0, props_count1);
+ ASSERT_NE(0U, props_count1);
props.resize(props_count1);
ASSERT_EQ(VK_SUCCESS, GetDisplayModeProperties(physical_device, VK_NULL_HANDLE, &props_count1, props.data()));
@@ -4760,7 +4760,7 @@ TEST(LoaderInstPhysDevExts, GetDispModeProps2KHRMixed) {
std::vector<VkDisplayModePropertiesKHR> props{};
uint32_t props_count1 = 0;
ASSERT_EQ(VK_SUCCESS, GetDisplayModeProperties(physical_devices[dev], VK_NULL_HANDLE, &props_count1, nullptr));
- ASSERT_NE(0, props_count1);
+ ASSERT_NE(0U, props_count1);
props.resize(props_count1);
ASSERT_EQ(VK_SUCCESS, GetDisplayModeProperties(physical_devices[dev], VK_NULL_HANDLE, &props_count1, props.data()));
@@ -4851,7 +4851,7 @@ TEST(LoaderInstPhysDevExts, GetDispPlaneCaps2KHRInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkDisplayPlaneCapabilitiesKHR caps{};
ASSERT_EQ(VK_SUCCESS, GetDisplayPlaneCapabilities(physical_device, 0, 0, &caps));
@@ -4994,7 +4994,7 @@ TEST(LoaderInstPhysDevExts, AcquireDrmDisplayEXTInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkDisplayKHR display = VK_NULL_HANDLE;
ASSERT_EQ(VK_SUCCESS, AcquireDrmDisplay(physical_device, 0, display));
@@ -5150,7 +5150,7 @@ TEST(LoaderInstPhysDevExts, GetDrmDisplayEXTInstanceAndICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, instance->vkEnumeratePhysicalDevices(instance, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
VkDisplayKHR display = VK_NULL_HANDLE;
ASSERT_EQ(VK_SUCCESS, GetDrmDisplay(physical_device, 0, 0, &display));
diff --git a/tests/loader_regression_tests.cpp b/tests/loader_regression_tests.cpp
index 838e9a286..338923b44 100644
--- a/tests/loader_regression_tests.cpp
+++ b/tests/loader_regression_tests.cpp
@@ -34,96 +34,98 @@
// VL = Vulkan Loader github
// VVL = Vulkan Validation Layers github
-class RegressionTests : public ::testing::Test {
- protected:
- virtual void SetUp() {
- env = std::unique_ptr<FrameworkEnvironment>(new FrameworkEnvironment());
- env->add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
- }
-
- virtual void TearDown() { env.reset(); }
- std::unique_ptr<FrameworkEnvironment> env;
-};
-
-// Subtyping for organization
-class CreateInstance : public RegressionTests {};
-class EnumerateInstanceVersion : public RegressionTests {};
-class EnumerateInstanceLayerProperties : public RegressionTests {};
-class EnumerateInstanceExtensionProperties : public RegressionTests {};
-class EnumerateDeviceLayerProperties : public RegressionTests {};
-class EnumerateDeviceExtensionProperties : public RegressionTests {};
-class EnumeratePhysicalDevices : public RegressionTests {};
-class SortedPhysicalDevices : public RegressionTests {};
-class CreateDevice : public RegressionTests {};
-class EnumeratePhysicalDeviceGroups : public RegressionTests {};
-class WrapObjects : public RegressionTests {};
-
-TEST_F(CreateInstance, BasicRun) {
- auto& driver = env->get_test_icd();
+TEST(CreateInstance, BasicRun) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
+ auto& driver = env.get_test_icd();
driver.set_min_icd_interface_version(5);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
}
// LX435
-TEST_F(CreateInstance, ConstInstanceInfo) {
+TEST(CreateInstance, ConstInstanceInfo) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
VkInstance inst = VK_NULL_HANDLE;
VkInstanceCreateInfo const info = {VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO, nullptr, 0, nullptr, 0, nullptr, 0, nullptr};
- ASSERT_EQ(env->vulkan_functions.vkCreateInstance(&info, VK_NULL_HANDLE, &inst), VK_SUCCESS);
+ ASSERT_EQ(env.vulkan_functions.vkCreateInstance(&info, VK_NULL_HANDLE, &inst), VK_SUCCESS);
// Must clean up
- env->vulkan_functions.vkDestroyInstance(inst, nullptr);
+ env.vulkan_functions.vkDestroyInstance(inst, nullptr);
}
// VUID-vkDestroyInstance-instance-parameter, VUID-vkDestroyInstance-pAllocator-parameter
-TEST_F(CreateInstance, DestroyInstanceNullHandle) { env->vulkan_functions.vkDestroyInstance(VK_NULL_HANDLE, nullptr); }
+TEST(CreateInstance, DestroyInstanceNullHandle) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.vulkan_functions.vkDestroyInstance(VK_NULL_HANDLE, nullptr);
+}
// VUID-vkDestroyDevice-device-parameter, VUID-vkDestroyDevice-pAllocator-parameter
-TEST_F(CreateInstance, DestroyDeviceNullHandle) { env->vulkan_functions.vkDestroyDevice(VK_NULL_HANDLE, nullptr); }
+TEST(CreateInstance, DestroyDeviceNullHandle) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ env.vulkan_functions.vkDestroyDevice(VK_NULL_HANDLE, nullptr);
+}
// VUID-vkCreateInstance-ppEnabledExtensionNames-01388
-TEST_F(CreateInstance, ExtensionNotPresent) {
+TEST(CreateInstance, ExtensionNotPresent) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
{
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_extension("VK_EXT_validation_features"); // test icd won't report this as supported
inst.CheckCreate(VK_ERROR_EXTENSION_NOT_PRESENT);
}
{
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_extension("Non_existant_extension"); // unknown instance extension
inst.CheckCreate(VK_ERROR_EXTENSION_NOT_PRESENT);
}
}
-TEST_F(CreateInstance, LayerNotPresent) {
- InstWrapper inst{env->vulkan_functions};
+TEST(CreateInstance, LayerNotPresent) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer("VK_NON_EXISTANT_LAYER");
inst.CheckCreate(VK_ERROR_LAYER_NOT_PRESENT);
}
-TEST_F(CreateInstance, LayerPresent) {
+TEST(CreateInstance, LayerPresent) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
const char* layer_name = "TestLayer";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}.set_name(layer_name).set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)),
"test_layer.json");
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(layer_name);
inst.CheckCreate();
}
-TEST_F(CreateInstance, ConsecutiveCreate) {
+TEST(CreateInstance, ConsecutiveCreate) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
for (uint32_t i = 0; i < 100; i++) {
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
}
}
-TEST_F(CreateInstance, ConsecutiveCreateWithoutDestruction) {
+TEST(CreateInstance, ConsecutiveCreateWithoutDestruction) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
std::vector<InstWrapper> instances;
for (uint32_t i = 0; i < 100; i++) {
- instances.emplace_back(env->vulkan_functions);
+ instances.emplace_back(env.vulkan_functions);
instances.back().CheckCreate();
}
}
@@ -134,16 +136,19 @@ TEST(NoDrivers, CreateInstance) {
inst.CheckCreate(VK_ERROR_INCOMPATIBLE_DRIVER);
}
-TEST_F(EnumerateInstanceLayerProperties, UsageChecks) {
+TEST(EnumerateInstanceLayerProperties, UsageChecks) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
const char* layer_name_1 = "TestLayer1";
const char* layer_name_2 = "TestLayer1";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}.set_name(layer_name_1).set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)),
"test_layer_1.json");
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}.set_name(layer_name_2).set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)),
"test_layer_2.json");
@@ -151,41 +156,44 @@ TEST_F(EnumerateInstanceLayerProperties, UsageChecks) {
{ // OnePass
VkLayerProperties layer_props[2] = {};
uint32_t layer_count = 2;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props));
- ASSERT_EQ(layer_count, 2);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props));
+ ASSERT_EQ(layer_count, 2U);
ASSERT_TRUE(string_eq(layer_name_1, layer_props[0].layerName));
ASSERT_TRUE(string_eq(layer_name_2, layer_props[1].layerName));
}
{ // OnePass
uint32_t layer_count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
- ASSERT_EQ(layer_count, 2);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr));
+ ASSERT_EQ(layer_count, 2U);
VkLayerProperties layer_props[2] = {};
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props));
- ASSERT_EQ(layer_count, 2);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props));
+ ASSERT_EQ(layer_count, 2U);
ASSERT_TRUE(string_eq(layer_name_1, layer_props[0].layerName));
ASSERT_TRUE(string_eq(layer_name_2, layer_props[1].layerName));
}
{ // PropertyCountLessThanAvailable
VkLayerProperties layer_props{};
uint32_t layer_count = 1;
- ASSERT_EQ(VK_INCOMPLETE, env->vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, &layer_props));
+ ASSERT_EQ(VK_INCOMPLETE, env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, &layer_props));
ASSERT_TRUE(string_eq(layer_name_1, layer_props.layerName));
}
}
-TEST_F(EnumerateInstanceExtensionProperties, UsageChecks) {
+TEST(EnumerateInstanceExtensionProperties, UsageChecks) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
Extension first_ext{"VK_EXT_validation_features"}; // known instance extensions
Extension second_ext{"VK_EXT_headless_surface"};
- env->reset_icd().add_instance_extensions({first_ext, second_ext});
+ env.reset_icd().add_instance_extensions({first_ext, second_ext});
{ // One Pass
uint32_t extension_count = 4;
std::array<VkExtensionProperties, 4> extensions;
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extensions.data()));
- ASSERT_EQ(extension_count, 4); // return debug report & debug utils + our two extensions
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extensions.data()));
+ ASSERT_EQ(extension_count, 4U); // return debug report & debug utils + our two extensions
// loader always adds the debug report & debug utils extensions
ASSERT_TRUE(first_ext.extensionName == extensions[0].extensionName);
@@ -196,12 +204,12 @@ TEST_F(EnumerateInstanceExtensionProperties, UsageChecks) {
{ // Two Pass
uint32_t extension_count = 0;
std::array<VkExtensionProperties, 4> extensions;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
- ASSERT_EQ(extension_count, 4); // return debug report & debug utils + our two extensions
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 4U); // return debug report & debug utils + our two extensions
ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extensions.data()));
- ASSERT_EQ(extension_count, 4);
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extensions.data()));
+ ASSERT_EQ(extension_count, 4U);
// loader always adds the debug report & debug utils extensions
ASSERT_TRUE(first_ext.extensionName == extensions[0].extensionName);
ASSERT_TRUE(second_ext.extensionName == extensions[1].extensionName);
@@ -210,46 +218,51 @@ TEST_F(EnumerateInstanceExtensionProperties, UsageChecks) {
}
}
-TEST_F(EnumerateInstanceExtensionProperties, PropertyCountLessThanAvailable) {
+TEST(EnumerateInstanceExtensionProperties, PropertyCountLessThanAvailable) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
uint32_t extension_count = 0;
std::array<VkExtensionProperties, 2> extensions;
{ // use nullptr for null string
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
- ASSERT_EQ(extension_count, 2); // return debug report & debug utils
- extension_count = 1; // artificially remove one extension
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 2U); // return debug report & debug utils
+ extension_count = 1; // artificially remove one extension
ASSERT_EQ(VK_INCOMPLETE,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extensions.data()));
- ASSERT_EQ(extension_count, 1);
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties(nullptr, &extension_count, extensions.data()));
+ ASSERT_EQ(extension_count, 1U);
// loader always adds the debug report & debug utils extensions
ASSERT_TRUE(string_eq(extensions[0].extensionName, "VK_EXT_debug_report"));
}
{ // use "" for null string
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties("", &extension_count, nullptr));
- ASSERT_EQ(extension_count, 2); // return debug report & debug utils
- extension_count = 1; // artificially remove one extension
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties("", &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 2U); // return debug report & debug utils
+ extension_count = 1; // artificially remove one extension
ASSERT_EQ(VK_INCOMPLETE,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties("", &extension_count, extensions.data()));
- ASSERT_EQ(extension_count, 1);
+ env.vulkan_functions.vkEnumerateInstanceExtensionProperties("", &extension_count, extensions.data()));
+ ASSERT_EQ(extension_count, 1U);
// loader always adds the debug report & debug utils extensions
ASSERT_TRUE(string_eq(extensions[0].extensionName, "VK_EXT_debug_report"));
}
}
-TEST_F(EnumerateInstanceExtensionProperties, FilterUnkownInstanceExtensions) {
+TEST(EnumerateInstanceExtensionProperties, FilterUnkownInstanceExtensions) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
Extension first_ext{"FirstTestExtension"}; // unknown instance extensions
Extension second_ext{"SecondTestExtension"};
- env->reset_icd().add_instance_extensions({first_ext, second_ext});
+ env.reset_icd().add_instance_extensions({first_ext, second_ext});
{
uint32_t extension_count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties("", &extension_count, nullptr));
- ASSERT_EQ(extension_count, 2); // return debug report & debug utils
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties("", &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 2U); // return debug report & debug utils
std::array<VkExtensionProperties, 2> extensions;
- ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties("", &extension_count, extensions.data()));
- ASSERT_EQ(extension_count, 2);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties("", &extension_count, extensions.data()));
+ ASSERT_EQ(extension_count, 2U);
// loader always adds the debug report & debug utils extensions
ASSERT_TRUE(string_eq(extensions[0].extensionName, "VK_EXT_debug_report"));
ASSERT_TRUE(string_eq(extensions[1].extensionName, "VK_EXT_debug_utils"));
@@ -258,13 +271,12 @@ TEST_F(EnumerateInstanceExtensionProperties, FilterUnkownInstanceExtensions) {
set_env_var("VK_LOADER_DISABLE_INST_EXT_FILTER", "1");
uint32_t extension_count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateInstanceExtensionProperties("", &extension_count, nullptr));
- ASSERT_EQ(extension_count, 4);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties("", &extension_count, nullptr));
+ ASSERT_EQ(extension_count, 4U);
std::array<VkExtensionProperties, 4> extensions;
- ASSERT_EQ(VK_SUCCESS,
- env->vulkan_functions.vkEnumerateInstanceExtensionProperties("", &extension_count, extensions.data()));
- ASSERT_EQ(extension_count, 4);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateInstanceExtensionProperties("", &extension_count, extensions.data()));
+ ASSERT_EQ(extension_count, 4U);
ASSERT_EQ(extensions[0], first_ext.get());
ASSERT_EQ(extensions[1], second_ext.get());
@@ -274,17 +286,20 @@ TEST_F(EnumerateInstanceExtensionProperties, FilterUnkownInstanceExtensions) {
}
}
-TEST_F(EnumerateDeviceLayerProperties, LayersMatch) {
- auto& driver = env->get_test_icd();
+TEST(EnumerateDeviceLayerProperties, LayersMatch) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
const char* layer_name = "TestLayer";
- env->add_explicit_layer(
+ env.add_explicit_layer(
ManifestLayer{}.add_layer(
ManifestLayer::LayerDescription{}.set_name(layer_name).set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)),
"test_layer.json");
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_layer(layer_name);
inst.CheckCreate();
@@ -292,30 +307,33 @@ TEST_F(EnumerateDeviceLayerProperties, LayersMatch) {
{ // LayersMatch
uint32_t layer_count = 0;
- ASSERT_EQ(env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &layer_count, nullptr), VK_SUCCESS);
- ASSERT_EQ(layer_count, 1);
+ ASSERT_EQ(env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &layer_count, nullptr), VK_SUCCESS);
+ ASSERT_EQ(layer_count, 1U);
VkLayerProperties layer_props;
- ASSERT_EQ(env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &layer_count, &layer_props), VK_SUCCESS);
- ASSERT_EQ(layer_count, 1);
+ ASSERT_EQ(env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &layer_count, &layer_props), VK_SUCCESS);
+ ASSERT_EQ(layer_count, 1U);
ASSERT_TRUE(string_eq(layer_props.layerName, layer_name));
}
{ // Property count less than available
VkLayerProperties layer_props;
uint32_t layer_count = 0;
- ASSERT_EQ(VK_INCOMPLETE, env->vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &layer_count, &layer_props));
- ASSERT_EQ(layer_count, 0);
+ ASSERT_EQ(VK_INCOMPLETE, env.vulkan_functions.vkEnumerateDeviceLayerProperties(phys_dev, &layer_count, &layer_props));
+ ASSERT_EQ(layer_count, 0U);
}
}
-TEST_F(EnumerateDeviceExtensionProperties, DeviceExtensionEnumerated) {
- auto& driver = env->get_test_icd();
+TEST(EnumerateDeviceExtensionProperties, DeviceExtensionEnumerated) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
std::array<Extension, 2> device_extensions = {Extension{"MyExtension0", 4}, Extension{"MyExtension1", 7}};
for (auto& ext : device_extensions) {
driver.physical_devices.front().extensions.push_back(ext);
}
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
uint32_t driver_count = 1;
@@ -334,15 +352,18 @@ TEST_F(EnumerateDeviceExtensionProperties, DeviceExtensionEnumerated) {
ASSERT_TRUE(device_extensions[0].specVersion == enumerated_device_exts[0].specVersion);
}
-TEST_F(EnumerateDeviceExtensionProperties, PropertyCountLessThanAvailable) {
- auto& driver = env->get_test_icd();
+TEST(EnumerateDeviceExtensionProperties, PropertyCountLessThanAvailable) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
std::array<Extension, 2> device_extensions = {Extension{"MyExtension0", 4}, Extension{"MyExtension1", 7}};
for (auto& ext : device_extensions) {
driver.physical_devices.front().extensions.push_back(ext);
}
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
uint32_t driver_count = 1;
@@ -362,9 +383,12 @@ TEST_F(EnumerateDeviceExtensionProperties, PropertyCountLessThanAvailable) {
ASSERT_TRUE(device_extensions[0].specVersion == enumerated_device_exts[0].specVersion);
}
-TEST_F(EnumerateDeviceExtensionProperties, ZeroPhysicalDeviceExtensions) {
- env->get_test_icd().add_physical_device({});
- InstWrapper inst{env->vulkan_functions};
+TEST(EnumerateDeviceExtensionProperties, ZeroPhysicalDeviceExtensions) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
+ env.get_test_icd().add_physical_device({});
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0));
inst.CheckCreate(VK_SUCCESS);
@@ -373,22 +397,25 @@ TEST_F(EnumerateDeviceExtensionProperties, ZeroPhysicalDeviceExtensions) {
dev.CheckCreate(phys_dev);
uint32_t ext_count = 0;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &ext_count, nullptr));
- ASSERT_EQ(ext_count, 0);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &ext_count, nullptr));
+ ASSERT_EQ(ext_count, 0U);
VkExtensionProperties ext_props{};
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &ext_count, &ext_props));
- ASSERT_EQ(ext_count, 0);
+ ASSERT_EQ(VK_SUCCESS, env.vulkan_functions.vkEnumerateDeviceExtensionProperties(phys_dev, nullptr, &ext_count, &ext_props));
+ ASSERT_EQ(ext_count, 0U);
}
-TEST_F(EnumeratePhysicalDevices, OneCall) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5);
+TEST(EnumeratePhysicalDevices, OneCall) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5);
driver.physical_devices.emplace_back("physical_device_0", 1);
driver.physical_devices.emplace_back("physical_device_1", 2);
driver.physical_devices.emplace_back("physical_device_2", 3);
driver.physical_devices.emplace_back("physical_device_3", 4);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
uint32_t physical_count = static_cast<uint32_t>(driver.physical_devices.size());
@@ -398,8 +425,11 @@ TEST_F(EnumeratePhysicalDevices, OneCall) {
ASSERT_EQ(physical_count, returned_physical_count);
}
-TEST_F(EnumeratePhysicalDevices, TwoCall) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5);
+TEST(EnumeratePhysicalDevices, TwoCall) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5);
driver.add_instance_extension({VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME});
const uint32_t real_device_count = 2;
@@ -408,7 +438,7 @@ TEST_F(EnumeratePhysicalDevices, TwoCall) {
driver.physical_devices.back().extensions.push_back({VK_EXT_PCI_BUS_INFO_EXTENSION_NAME, 0});
}
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
uint32_t physical_count = static_cast<uint32_t>(driver.physical_devices.size());
@@ -417,13 +447,15 @@ TEST_F(EnumeratePhysicalDevices, TwoCall) {
ASSERT_EQ(physical_count, returned_physical_count);
std::array<VkPhysicalDevice, real_device_count> physical_device_handles;
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumeratePhysicalDevices(inst.inst, &returned_physical_count,
- physical_device_handles.data()));
+ ASSERT_EQ(VK_SUCCESS,
+ env.vulkan_functions.vkEnumeratePhysicalDevices(inst.inst, &returned_physical_count, physical_device_handles.data()));
ASSERT_EQ(physical_count, returned_physical_count);
}
-TEST_F(EnumeratePhysicalDevices, MatchOneAndTwoCallNumbers) {
- auto& driver = env->get_test_icd();
+TEST(EnumeratePhysicalDevices, MatchOneAndTwoCallNumbers) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
driver.set_min_icd_interface_version(5);
driver.add_instance_extension({VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME});
@@ -433,7 +465,7 @@ TEST_F(EnumeratePhysicalDevices, MatchOneAndTwoCallNumbers) {
driver.physical_devices.back().extensions.push_back({VK_EXT_PCI_BUS_INFO_EXTENSION_NAME, 0});
}
- InstWrapper inst1{env->vulkan_functions};
+ InstWrapper inst1{env.vulkan_functions};
inst1.CheckCreate();
uint32_t physical_count_one_call = static_cast<uint32_t>(driver.physical_devices.size());
@@ -442,7 +474,7 @@ TEST_F(EnumeratePhysicalDevices, MatchOneAndTwoCallNumbers) {
inst1->vkEnumeratePhysicalDevices(inst1, &physical_count_one_call, physical_device_handles_one_call.data()));
ASSERT_EQ(real_device_count, physical_count_one_call);
- InstWrapper inst2{env->vulkan_functions};
+ InstWrapper inst2{env.vulkan_functions};
inst2.CheckCreate();
uint32_t physical_count = static_cast<uint32_t>(driver.physical_devices.size());
@@ -457,8 +489,10 @@ TEST_F(EnumeratePhysicalDevices, MatchOneAndTwoCallNumbers) {
ASSERT_EQ(physical_count_one_call, returned_physical_count);
}
-TEST_F(EnumeratePhysicalDevices, TwoCallIncomplete) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5);
+TEST(EnumeratePhysicalDevices, TwoCallIncomplete) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5);
driver.add_instance_extension({VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME});
const uint32_t real_device_count = 2;
@@ -467,7 +501,7 @@ TEST_F(EnumeratePhysicalDevices, TwoCallIncomplete) {
driver.physical_devices.back().extensions.push_back({VK_EXT_PCI_BUS_INFO_EXTENSION_NAME, 0});
}
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
uint32_t physical_count = 0;
@@ -483,14 +517,14 @@ TEST_F(EnumeratePhysicalDevices, TwoCallIncomplete) {
// Use zero for the device count so we can get the VK_INCOMPLETE message and verify nothing was written into physical
physical_count = 0;
ASSERT_EQ(VK_INCOMPLETE, inst->vkEnumeratePhysicalDevices(inst, &physical_count, physical.data()));
- ASSERT_EQ(physical_count, 0);
+ ASSERT_EQ(physical_count, 0U);
ASSERT_EQ(static_cast<void*>(physical[0]), static_cast<void*>(temp_ptr.get()));
ASSERT_EQ(static_cast<void*>(physical[1]), static_cast<void*>(temp_ptr.get()));
// Remove one from the physical device count so we can get the VK_INCOMPLETE message
physical_count = 1;
ASSERT_EQ(VK_INCOMPLETE, inst->vkEnumeratePhysicalDevices(inst, &physical_count, physical.data()));
- ASSERT_EQ(physical_count, 1);
+ ASSERT_EQ(physical_count, 1U);
ASSERT_EQ(static_cast<void*>(physical[1]), static_cast<void*>(temp_ptr.get()));
physical_count = 2;
@@ -501,19 +535,23 @@ TEST_F(EnumeratePhysicalDevices, TwoCallIncomplete) {
ASSERT_TRUE(std::find(physical_2.begin(), physical_2.end(), physical[0]) != physical_2.end());
}
-TEST_F(EnumeratePhysicalDevices, ZeroPhysicalDevices) {
- InstWrapper inst{env->vulkan_functions};
+TEST(EnumeratePhysicalDevices, ZeroPhysicalDevices) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(VK_MAKE_API_VERSION(0, 1, 1, 0));
inst.CheckCreate(VK_SUCCESS);
uint32_t count = 0;
- ASSERT_EQ(VK_ERROR_INITIALIZATION_FAILED, env->vulkan_functions.vkEnumeratePhysicalDevices(inst, &count, nullptr));
- ASSERT_EQ(count, 0);
+ ASSERT_EQ(VK_ERROR_INITIALIZATION_FAILED, env.vulkan_functions.vkEnumeratePhysicalDevices(inst, &count, nullptr));
+ ASSERT_EQ(count, 0U);
}
-TEST_F(EnumeratePhysicalDevices, ZeroPhysicalDevicesAfterCreateInstance) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5);
- InstWrapper inst{env->vulkan_functions};
+TEST(EnumeratePhysicalDevices, ZeroPhysicalDevicesAfterCreateInstance) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5);
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(VK_API_VERSION_1_1);
inst.CheckCreate();
driver.physical_devices.clear();
@@ -532,14 +570,16 @@ TEST_F(EnumeratePhysicalDevices, ZeroPhysicalDevicesAfterCreateInstance) {
inst->vkEnumeratePhysicalDeviceGroups(inst, &physical_device_group_count, &physical_device_group_properties));
}
-TEST_F(EnumeratePhysicalDevices, CallTwiceNormal) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5);
+TEST(EnumeratePhysicalDevices, CallTwiceNormal) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5);
for (size_t i = 0; i < 4; i++) {
driver.physical_devices.emplace_back(std::string("physical_device_") + std::to_string(i));
}
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
// Call twice in a row and make sure nothing bad happened
@@ -557,14 +597,16 @@ TEST_F(EnumeratePhysicalDevices, CallTwiceNormal) {
}
}
-TEST_F(EnumeratePhysicalDevices, CallTwiceIncompleteOnceNormal) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5);
+TEST(EnumeratePhysicalDevices, CallTwiceIncompleteOnceNormal) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5);
for (size_t i = 0; i < 8; i++) {
driver.physical_devices.emplace_back(std::string("physical_device_") + std::to_string(i));
}
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
// Query 3, then 5, then all
@@ -572,11 +614,11 @@ TEST_F(EnumeratePhysicalDevices, CallTwiceIncompleteOnceNormal) {
uint32_t returned_physical_count = 3;
std::vector<VkPhysicalDevice> physical_device_handles_1 = std::vector<VkPhysicalDevice>(returned_physical_count);
ASSERT_EQ(VK_INCOMPLETE, inst->vkEnumeratePhysicalDevices(inst, &returned_physical_count, physical_device_handles_1.data()));
- ASSERT_EQ(3, returned_physical_count);
+ ASSERT_EQ(3U, returned_physical_count);
returned_physical_count = 5;
std::vector<VkPhysicalDevice> physical_device_handles_2 = std::vector<VkPhysicalDevice>(returned_physical_count);
ASSERT_EQ(VK_INCOMPLETE, inst->vkEnumeratePhysicalDevices(inst, &returned_physical_count, physical_device_handles_2.data()));
- ASSERT_EQ(5, returned_physical_count);
+ ASSERT_EQ(5U, returned_physical_count);
returned_physical_count = physical_count;
std::vector<VkPhysicalDevice> physical_device_handles_3 = std::vector<VkPhysicalDevice>(returned_physical_count);
ASSERT_EQ(VK_SUCCESS, inst->vkEnumeratePhysicalDevices(inst, &returned_physical_count, physical_device_handles_3.data()));
@@ -592,14 +634,16 @@ TEST_F(EnumeratePhysicalDevices, CallTwiceIncompleteOnceNormal) {
}
}
-TEST_F(EnumeratePhysicalDevices, CallThriceSuccessReduce) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5);
+TEST(EnumeratePhysicalDevices, CallThriceSuccessReduce) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5);
for (size_t i = 0; i < 8; i++) {
driver.physical_devices.emplace_back(std::string("physical_device_") + std::to_string(i));
}
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
// Query all at first, then 5, then 3
@@ -611,11 +655,11 @@ TEST_F(EnumeratePhysicalDevices, CallThriceSuccessReduce) {
returned_physical_count = 5;
std::vector<VkPhysicalDevice> physical_device_handles_2 = std::vector<VkPhysicalDevice>(returned_physical_count);
ASSERT_EQ(VK_INCOMPLETE, inst->vkEnumeratePhysicalDevices(inst, &returned_physical_count, physical_device_handles_2.data()));
- ASSERT_EQ(5, returned_physical_count);
+ ASSERT_EQ(5U, returned_physical_count);
returned_physical_count = 3;
std::vector<VkPhysicalDevice> physical_device_handles_3 = std::vector<VkPhysicalDevice>(returned_physical_count);
ASSERT_EQ(VK_INCOMPLETE, inst->vkEnumeratePhysicalDevices(inst, &returned_physical_count, physical_device_handles_3.data()));
- ASSERT_EQ(3, returned_physical_count);
+ ASSERT_EQ(3U, returned_physical_count);
// Make sure devices are same between the three
for (uint32_t count = 0; count < driver.physical_devices.size(); ++count) {
if (count < physical_device_handles_2.size()) {
@@ -627,13 +671,15 @@ TEST_F(EnumeratePhysicalDevices, CallThriceSuccessReduce) {
}
}
-TEST_F(EnumeratePhysicalDevices, CallThriceAddInBetween) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5);
+TEST(EnumeratePhysicalDevices, CallThriceAddInBetween) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5);
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.emplace_back("physical_device_1");
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
uint32_t physical_count = static_cast<uint32_t>(driver.physical_devices.size());
@@ -665,14 +711,16 @@ TEST_F(EnumeratePhysicalDevices, CallThriceAddInBetween) {
}
}
-TEST_F(EnumeratePhysicalDevices, CallThriceRemoveInBetween) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5);
+TEST(EnumeratePhysicalDevices, CallThriceRemoveInBetween) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5);
for (size_t i = 0; i < 4; i++) {
driver.physical_devices.emplace_back(std::string("physical_device_") + std::to_string(i));
}
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
uint32_t physical_count = static_cast<uint32_t>(driver.physical_devices.size());
@@ -720,15 +768,17 @@ TEST_F(EnumeratePhysicalDevices, CallThriceRemoveInBetween) {
ASSERT_EQ(three_found, returned_physical_count);
}
-TEST_F(EnumeratePhysicalDevices, MultipleAddRemoves) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5);
+TEST(EnumeratePhysicalDevices, MultipleAddRemoves) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5);
for (size_t i = 0; i < 4; i++) {
driver.physical_devices.emplace_back(std::string("physical_device_") + std::to_string(i));
}
std::array<std::vector<VkPhysicalDevice>, 8> physical_dev_handles;
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
uint32_t physical_count = static_cast<uint32_t>(driver.physical_devices.size());
@@ -799,14 +849,14 @@ TEST_F(EnumeratePhysicalDevices, MultipleAddRemoves) {
// Six [4] - A, B, 0, 2
// Seven [4] - A, B, C, 0
// Eight [5] - A, B, C, 0, 2
- ASSERT_EQ(4, physical_dev_handles[0].size());
- ASSERT_EQ(3, physical_dev_handles[1].size());
- ASSERT_EQ(3, physical_dev_handles[2].size());
- ASSERT_EQ(5, physical_dev_handles[3].size());
- ASSERT_EQ(4, physical_dev_handles[4].size());
- ASSERT_EQ(4, physical_dev_handles[5].size());
- ASSERT_EQ(4, physical_dev_handles[6].size());
- ASSERT_EQ(5, physical_dev_handles[7].size());
+ ASSERT_EQ(4U, physical_dev_handles[0].size());
+ ASSERT_EQ(3U, physical_dev_handles[1].size());
+ ASSERT_EQ(3U, physical_dev_handles[2].size());
+ ASSERT_EQ(5U, physical_dev_handles[3].size());
+ ASSERT_EQ(4U, physical_dev_handles[4].size());
+ ASSERT_EQ(4U, physical_dev_handles[5].size());
+ ASSERT_EQ(4U, physical_dev_handles[6].size());
+ ASSERT_EQ(5U, physical_dev_handles[7].size());
// Make sure the devices in two and three are all found in one
uint32_t found_items[8]{};
@@ -850,26 +900,28 @@ TEST_F(EnumeratePhysicalDevices, MultipleAddRemoves) {
ASSERT_GE(found_items[6], 4U);
}
-TEST_F(CreateDevice, ExtensionNotPresent) {
- auto& driver = env->get_test_icd();
+TEST(CreateDevice, ExtensionNotPresent) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
uint32_t familyCount = 0;
inst->vkGetPhysicalDeviceQueueFamilyProperties(phys_dev, &familyCount, nullptr);
- ASSERT_EQ(familyCount, 1);
+ ASSERT_EQ(familyCount, 1U);
VkQueueFamilyProperties families;
inst->vkGetPhysicalDeviceQueueFamilyProperties(phys_dev, &familyCount, &families);
- ASSERT_EQ(familyCount, 1);
+ ASSERT_EQ(familyCount, 1U);
ASSERT_EQ(families, family_props.properties);
DeviceWrapper dev{inst};
@@ -881,26 +933,28 @@ TEST_F(CreateDevice, ExtensionNotPresent) {
// LX535 / MI-76: Device layers are deprecated.
// Ensure that no errors occur if a bogus device layer list is passed to vkCreateDevice.
// https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-layers-devicelayerdeprecation
-TEST_F(CreateDevice, LayersNotPresent) {
- auto& driver = env->get_test_icd();
+TEST(CreateDevice, LayersNotPresent) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().queue_family_properties.push_back(family_props);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
uint32_t familyCount = 0;
inst->vkGetPhysicalDeviceQueueFamilyProperties(phys_dev, &familyCount, nullptr);
- ASSERT_EQ(familyCount, 1);
+ ASSERT_EQ(familyCount, 1U);
VkQueueFamilyProperties families;
inst->vkGetPhysicalDeviceQueueFamilyProperties(phys_dev, &familyCount, &families);
- ASSERT_EQ(familyCount, 1);
+ ASSERT_EQ(familyCount, 1U);
ASSERT_EQ(families, family_props.properties);
DeviceWrapper dev{inst};
@@ -909,15 +963,17 @@ TEST_F(CreateDevice, LayersNotPresent) {
dev.CheckCreate(phys_dev);
}
-TEST_F(CreateDevice, ConsecutiveCreate) {
- auto& driver = env->get_test_icd();
+TEST(CreateDevice, ConsecutiveCreate) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
for (uint32_t i = 0; i < 100; i++) {
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().queue_family_properties.push_back(family_props);
}
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
auto phys_devs = inst.GetPhysDevs(100);
@@ -928,15 +984,17 @@ TEST_F(CreateDevice, ConsecutiveCreate) {
}
}
-TEST_F(CreateDevice, ConsecutiveCreateWithoutDestruction) {
- auto& driver = env->get_test_icd();
+TEST(CreateDevice, ConsecutiveCreateWithoutDestruction) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
MockQueueFamilyProperties family_props{{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true};
for (uint32_t i = 0; i < 100; i++) {
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().queue_family_properties.push_back(family_props);
}
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
auto phys_devs = inst.GetPhysDevs(100);
@@ -975,7 +1033,7 @@ TEST(TryLoadWrongBinaries, WrongICD) {
uint32_t driver_count = 0;
ASSERT_EQ(VK_SUCCESS, inst->vkEnumeratePhysicalDevices(inst, &driver_count, nullptr));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
}
TEST(TryLoadWrongBinaries, WrongExplicit) {
@@ -991,11 +1049,11 @@ TEST(TryLoadWrongBinaries, WrongExplicit) {
uint32_t layer_count = 0;
ASSERT_EQ(env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr), VK_SUCCESS);
- ASSERT_EQ(layer_count, 1);
+ ASSERT_EQ(layer_count, 1U);
std::array<VkLayerProperties, 2> layer_props;
ASSERT_EQ(env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()), VK_SUCCESS);
- ASSERT_EQ(layer_count, 1);
+ ASSERT_EQ(layer_count, 1U);
DebugUtilsLogger log{VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT};
InstWrapper inst{env.vulkan_functions};
@@ -1028,11 +1086,11 @@ TEST(TryLoadWrongBinaries, WrongImplicit) {
uint32_t layer_count = 0;
ASSERT_EQ(env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr), VK_SUCCESS);
- ASSERT_EQ(layer_count, 1);
+ ASSERT_EQ(layer_count, 1U);
std::array<VkLayerProperties, 1> layer_props;
ASSERT_EQ(env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()), VK_SUCCESS);
- ASSERT_EQ(layer_count, 1);
+ ASSERT_EQ(layer_count, 1U);
DebugUtilsLogger log{VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT};
InstWrapper inst{env.vulkan_functions};
@@ -1070,11 +1128,11 @@ TEST(TryLoadWrongBinaries, WrongExplicitAndImplicit) {
uint32_t layer_count = 0;
ASSERT_EQ(env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr), VK_SUCCESS);
- ASSERT_EQ(layer_count, 2);
+ ASSERT_EQ(layer_count, 2U);
std::array<VkLayerProperties, 2> layer_props;
ASSERT_EQ(env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()), VK_SUCCESS);
- ASSERT_EQ(layer_count, 2);
+ ASSERT_EQ(layer_count, 2U);
DebugUtilsLogger log{VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT};
InstWrapper inst{env.vulkan_functions};
@@ -1115,11 +1173,11 @@ TEST(TryLoadWrongBinaries, WrongExplicitAndImplicitErrorOnly) {
uint32_t layer_count = 0;
ASSERT_EQ(env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr), VK_SUCCESS);
- ASSERT_EQ(layer_count, 2);
+ ASSERT_EQ(layer_count, 2U);
std::array<VkLayerProperties, 2> layer_props;
ASSERT_EQ(env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()), VK_SUCCESS);
- ASSERT_EQ(layer_count, 2);
+ ASSERT_EQ(layer_count, 2U);
DebugUtilsLogger log{VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT};
InstWrapper inst{env.vulkan_functions};
@@ -1153,11 +1211,11 @@ TEST(TryLoadWrongBinaries, BadExplicit) {
uint32_t layer_count = 0;
ASSERT_EQ(env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr), VK_SUCCESS);
- ASSERT_EQ(layer_count, 1);
+ ASSERT_EQ(layer_count, 1U);
std::array<VkLayerProperties, 2> layer_props;
ASSERT_EQ(env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()), VK_SUCCESS);
- ASSERT_EQ(layer_count, 1);
+ ASSERT_EQ(layer_count, 1U);
DebugUtilsLogger log{VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT};
InstWrapper inst{env.vulkan_functions};
@@ -1185,11 +1243,11 @@ TEST(TryLoadWrongBinaries, BadImplicit) {
uint32_t layer_count = 0;
ASSERT_EQ(env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr), VK_SUCCESS);
- ASSERT_EQ(layer_count, 1);
+ ASSERT_EQ(layer_count, 1U);
std::array<VkLayerProperties, 1> layer_props;
ASSERT_EQ(env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()), VK_SUCCESS);
- ASSERT_EQ(layer_count, 1);
+ ASSERT_EQ(layer_count, 1U);
DebugUtilsLogger log{VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT};
InstWrapper inst{env.vulkan_functions};
@@ -1222,11 +1280,11 @@ TEST(TryLoadWrongBinaries, BadExplicitAndImplicit) {
uint32_t layer_count = 0;
ASSERT_EQ(env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, nullptr), VK_SUCCESS);
- ASSERT_EQ(layer_count, 2);
+ ASSERT_EQ(layer_count, 2U);
std::array<VkLayerProperties, 2> layer_props;
ASSERT_EQ(env.vulkan_functions.vkEnumerateInstanceLayerProperties(&layer_count, layer_props.data()), VK_SUCCESS);
- ASSERT_EQ(layer_count, 2);
+ ASSERT_EQ(layer_count, 2U);
DebugUtilsLogger log{VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT};
InstWrapper inst{env.vulkan_functions};
@@ -1241,8 +1299,10 @@ TEST(TryLoadWrongBinaries, BadExplicitAndImplicit) {
ASSERT_TRUE(log.find(std::string("Requested layer ") + std::string(layer_name_1) + std::string(" failed to load.")));
}
-TEST_F(EnumeratePhysicalDeviceGroups, OneCall) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
+TEST(EnumeratePhysicalDeviceGroups, OneCall) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
driver.add_instance_extension({VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME});
// ICD contains 3 devices in two groups
@@ -1257,7 +1317,7 @@ TEST_F(EnumeratePhysicalDeviceGroups, OneCall) {
// Core function
{
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(VK_API_VERSION_1_1);
inst.CheckCreate();
@@ -1293,12 +1353,12 @@ TEST_F(EnumeratePhysicalDeviceGroups, OneCall) {
driver.add_instance_extension({VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME});
// Extension
{
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_extension(VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME);
inst.CheckCreate();
auto vkEnumeratePhysicalDeviceGroupsKHR = reinterpret_cast<PFN_vkEnumeratePhysicalDeviceGroupsKHR>(
- env->vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkEnumeratePhysicalDeviceGroupsKHR"));
+ env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkEnumeratePhysicalDeviceGroupsKHR"));
auto physical_devices = std::vector<VkPhysicalDevice>(max_physical_device_count);
uint32_t returned_phys_dev_count = max_physical_device_count;
@@ -1331,8 +1391,10 @@ TEST_F(EnumeratePhysicalDeviceGroups, OneCall) {
}
}
-TEST_F(EnumeratePhysicalDeviceGroups, TwoCall) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
+TEST(EnumeratePhysicalDeviceGroups, TwoCall) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
driver.add_instance_extension({VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME});
// ICD contains 3 devices in two groups
@@ -1347,7 +1409,7 @@ TEST_F(EnumeratePhysicalDeviceGroups, TwoCall) {
// Core function
{
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(VK_API_VERSION_1_1);
inst.CheckCreate();
@@ -1386,7 +1448,7 @@ TEST_F(EnumeratePhysicalDeviceGroups, TwoCall) {
driver.add_instance_extension({VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME});
// Extension
{
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_extension("VK_KHR_device_group_creation");
inst.CheckCreate();
@@ -1396,7 +1458,7 @@ TEST_F(EnumeratePhysicalDeviceGroups, TwoCall) {
handle_assert_has_values(physical_devices);
auto vkEnumeratePhysicalDeviceGroupsKHR = reinterpret_cast<PFN_vkEnumeratePhysicalDeviceGroupsKHR>(
- env->vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkEnumeratePhysicalDeviceGroupsKHR"));
+ env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkEnumeratePhysicalDeviceGroupsKHR"));
uint32_t group_count = static_cast<uint32_t>(driver.physical_device_groups.size());
uint32_t returned_group_count = 0;
@@ -1427,8 +1489,10 @@ TEST_F(EnumeratePhysicalDeviceGroups, TwoCall) {
}
}
-TEST_F(EnumeratePhysicalDeviceGroups, TwoCallIncomplete) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
+TEST(EnumeratePhysicalDeviceGroups, TwoCallIncomplete) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
driver.add_instance_extension({VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME});
// ICD contains 3 devices in two groups
@@ -1442,7 +1506,7 @@ TEST_F(EnumeratePhysicalDeviceGroups, TwoCallIncomplete) {
// Core function
{
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(VK_API_VERSION_1_1);
inst.CheckCreate();
@@ -1455,14 +1519,14 @@ TEST_F(EnumeratePhysicalDeviceGroups, TwoCallIncomplete) {
std::array<VkPhysicalDeviceGroupProperties, 1> group_props{};
group_props[0].sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
ASSERT_EQ(VK_INCOMPLETE, inst->vkEnumeratePhysicalDeviceGroups(inst, &returned_group_count, group_props.data()));
- ASSERT_EQ(1, returned_group_count);
+ ASSERT_EQ(1U, returned_group_count);
returned_group_count = 2;
std::array<VkPhysicalDeviceGroupProperties, 2> group_props_2{};
group_props_2[0].sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
group_props_2[1].sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
ASSERT_EQ(VK_SUCCESS, inst->vkEnumeratePhysicalDeviceGroups(inst, &returned_group_count, group_props_2.data()));
- ASSERT_EQ(2, returned_group_count);
+ ASSERT_EQ(2U, returned_group_count);
// Make sure the incomplete group items appear in the complete group
for (uint32_t inc_group = 0; inc_group < 1; ++inc_group) {
@@ -1481,12 +1545,12 @@ TEST_F(EnumeratePhysicalDeviceGroups, TwoCallIncomplete) {
driver.add_instance_extension({VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME});
// Extension
{
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.add_extension("VK_KHR_device_group_creation");
inst.CheckCreate();
auto vkEnumeratePhysicalDeviceGroupsKHR = reinterpret_cast<PFN_vkEnumeratePhysicalDeviceGroupsKHR>(
- env->vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkEnumeratePhysicalDeviceGroupsKHR"));
+ env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkEnumeratePhysicalDeviceGroupsKHR"));
uint32_t group_count = static_cast<uint32_t>(driver.physical_device_groups.size());
uint32_t returned_group_count = 0;
@@ -1497,14 +1561,14 @@ TEST_F(EnumeratePhysicalDeviceGroups, TwoCallIncomplete) {
std::array<VkPhysicalDeviceGroupPropertiesKHR, 1> group_props{};
group_props[0].sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
ASSERT_EQ(VK_INCOMPLETE, vkEnumeratePhysicalDeviceGroupsKHR(inst, &returned_group_count, group_props.data()));
- ASSERT_EQ(1, returned_group_count);
+ ASSERT_EQ(1U, returned_group_count);
returned_group_count = 2;
std::array<VkPhysicalDeviceGroupPropertiesKHR, 2> group_props_2{};
group_props_2[0].sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
group_props_2[1].sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
ASSERT_EQ(VK_SUCCESS, vkEnumeratePhysicalDeviceGroupsKHR(inst, &returned_group_count, group_props_2.data()));
- ASSERT_EQ(2, returned_group_count);
+ ASSERT_EQ(2U, returned_group_count);
// Make sure the incomplete group items appear in the complete group
for (uint32_t inc_group = 0; inc_group < 1; ++inc_group) {
@@ -1524,8 +1588,10 @@ TEST_F(EnumeratePhysicalDeviceGroups, TwoCallIncomplete) {
// Call the core vkEnumeratePhysicalDeviceGroups and the extension
// vkEnumeratePhysicalDeviceGroupsKHR, and make sure they return the same info.
-TEST_F(EnumeratePhysicalDeviceGroups, TestCoreVersusExtensionSameReturns) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
+TEST(EnumeratePhysicalDeviceGroups, TestCoreVersusExtensionSameReturns) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
driver.add_instance_extension({VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME});
driver.add_instance_extension({VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME});
@@ -1549,7 +1615,7 @@ TEST_F(EnumeratePhysicalDeviceGroups, TestCoreVersusExtensionSameReturns) {
uint32_t ext_group_count = 0;
std::vector<VkPhysicalDeviceGroupPropertiesKHR> ext_group_props{};
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(1, 1, 0);
inst.create_info.add_extension("VK_KHR_device_group_creation");
inst.CheckCreate();
@@ -1566,7 +1632,7 @@ TEST_F(EnumeratePhysicalDeviceGroups, TestCoreVersusExtensionSameReturns) {
ASSERT_EQ(core_group_count, returned_group_count);
auto vkEnumeratePhysicalDeviceGroupsKHR = reinterpret_cast<PFN_vkEnumeratePhysicalDeviceGroupsKHR>(
- env->vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkEnumeratePhysicalDeviceGroupsKHR"));
+ env.vulkan_functions.vkGetInstanceProcAddr(inst.inst, "vkEnumeratePhysicalDeviceGroupsKHR"));
ext_group_count = static_cast<uint32_t>(driver.physical_device_groups.size());
returned_group_count = 0;
@@ -1579,8 +1645,8 @@ TEST_F(EnumeratePhysicalDeviceGroups, TestCoreVersusExtensionSameReturns) {
ASSERT_EQ(ext_group_count, returned_group_count);
// Make sure data from each matches
- ASSERT_EQ(core_group_count, 3);
- ASSERT_EQ(ext_group_count, 3);
+ ASSERT_EQ(core_group_count, 3U);
+ ASSERT_EQ(ext_group_count, 3U);
for (uint32_t group = 0; group < core_group_count; ++group) {
ASSERT_EQ(core_group_props[group].physicalDeviceCount, expected_counts[group]);
ASSERT_EQ(ext_group_props[group].physicalDeviceCount, expected_counts[group]);
@@ -1602,8 +1668,10 @@ TEST_F(EnumeratePhysicalDeviceGroups, TestCoreVersusExtensionSameReturns) {
// Start with 6 devices in 3 different groups, and then add a group,
// querying vkEnumeratePhysicalDeviceGroups before and after the add.
-TEST_F(EnumeratePhysicalDeviceGroups, CallThriceAddGroupInBetween) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
+TEST(EnumeratePhysicalDeviceGroups, CallThriceAddGroupInBetween) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
// Generate the devices
for (size_t i = 0; i < 7; i++) {
@@ -1625,7 +1693,7 @@ TEST_F(EnumeratePhysicalDeviceGroups, CallThriceAddGroupInBetween) {
uint32_t after_group_count = 4;
uint32_t returned_group_count = 0;
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(1, 1, 0);
inst.CheckCreate();
@@ -1684,8 +1752,10 @@ TEST_F(EnumeratePhysicalDeviceGroups, CallThriceAddGroupInBetween) {
// Start with 7 devices in 4 different groups, and then remove a group,
// querying vkEnumeratePhysicalDeviceGroups before and after the remove.
-TEST_F(EnumeratePhysicalDeviceGroups, CallTwiceRemoveGroupInBetween) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
+TEST(EnumeratePhysicalDeviceGroups, CallTwiceRemoveGroupInBetween) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
// Generate the devices
for (size_t i = 0; i < 7; i++) {
@@ -1708,7 +1778,7 @@ TEST_F(EnumeratePhysicalDeviceGroups, CallTwiceRemoveGroupInBetween) {
uint32_t after_group_count = 3;
uint32_t returned_group_count = 0;
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(1, 1, 0);
inst.CheckCreate();
@@ -1758,8 +1828,10 @@ TEST_F(EnumeratePhysicalDeviceGroups, CallTwiceRemoveGroupInBetween) {
// Start with 6 devices in 3 different groups, and then add a device to the middle group,
// querying vkEnumeratePhysicalDeviceGroups before and after the add.
-TEST_F(EnumeratePhysicalDeviceGroups, CallTwiceAddDeviceInBetween) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
+TEST(EnumeratePhysicalDeviceGroups, CallTwiceAddDeviceInBetween) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
// Generate the devices
for (size_t i = 0; i < 7; i++) {
@@ -1780,7 +1852,7 @@ TEST_F(EnumeratePhysicalDeviceGroups, CallTwiceAddDeviceInBetween) {
uint32_t after_expected_counts[3] = {1, 4, 2};
uint32_t returned_group_count = 0;
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(1, 1, 0);
inst.CheckCreate();
@@ -1831,8 +1903,10 @@ TEST_F(EnumeratePhysicalDeviceGroups, CallTwiceAddDeviceInBetween) {
// Start with 6 devices in 3 different groups, and then remove a device to the middle group,
// querying vkEnumeratePhysicalDeviceGroups before and after the remove.
-TEST_F(EnumeratePhysicalDeviceGroups, CallTwiceRemoveDeviceInBetween) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
+TEST(EnumeratePhysicalDeviceGroups, CallTwiceRemoveDeviceInBetween) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
// Generate the devices
for (size_t i = 0; i < 6; i++) {
@@ -1853,7 +1927,7 @@ TEST_F(EnumeratePhysicalDeviceGroups, CallTwiceRemoveDeviceInBetween) {
uint32_t expected_group_count = 3;
uint32_t returned_group_count = 0;
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(1, 1, 0);
inst.CheckCreate();
@@ -1915,8 +1989,10 @@ TEST_F(EnumeratePhysicalDeviceGroups, CallTwiceRemoveDeviceInBetween) {
// Start with 9 devices but only some in 3 different groups, add and remove
// various devices and groups while querying in between.
-TEST_F(EnumeratePhysicalDeviceGroups, MultipleAddRemoves) {
- auto& driver = env->get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
+TEST(EnumeratePhysicalDeviceGroups, MultipleAddRemoves) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd().set_min_icd_interface_version(5).set_icd_api_version(VK_API_VERSION_1_1);
// Generate the devices
for (size_t i = 0; i < 9; i++) {
@@ -1941,7 +2017,7 @@ TEST_F(EnumeratePhysicalDeviceGroups, MultipleAddRemoves) {
uint32_t after_group_count = 4;
uint32_t returned_group_count = 0;
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.create_info.set_api_version(1, 1, 0);
inst.CheckCreate();
@@ -2031,7 +2107,7 @@ static void FillInRandomDeviceProps(VkPhysicalDeviceProperties& props, VkPhysica
}
// Pass in a PNext that the fake ICD will fill in some data for.
-TEST_F(EnumeratePhysicalDeviceGroups, FakePNext) {
+TEST(EnumeratePhysicalDeviceGroups, FakePNext) {
FrameworkEnvironment env{};
// ICD 0: Vulkan 1.1
@@ -2149,7 +2225,7 @@ TEST(ExtensionManual, ToolingProperties) {
uint32_t tool_count = 0;
ASSERT_EQ(VK_SUCCESS, getToolProperties(phys_dev, &tool_count, nullptr));
- ASSERT_EQ(tool_count, 0);
+ ASSERT_EQ(tool_count, 0U);
}
{ // extension is supported in driver
FrameworkEnvironment env{};
@@ -2169,10 +2245,10 @@ TEST(ExtensionManual, ToolingProperties) {
handle_assert_has_value(getToolProperties);
uint32_t tool_count = 0;
ASSERT_EQ(VK_SUCCESS, getToolProperties(phys_dev, &tool_count, nullptr));
- ASSERT_EQ(tool_count, 1);
+ ASSERT_EQ(tool_count, 1U);
VkPhysicalDeviceToolPropertiesEXT props{};
ASSERT_EQ(VK_SUCCESS, getToolProperties(phys_dev, &tool_count, &props));
- ASSERT_EQ(tool_count, 1);
+ ASSERT_EQ(tool_count, 1U);
string_eq(props.name, icd_tool_props.name);
}
{ // core
@@ -2193,28 +2269,32 @@ TEST(ExtensionManual, ToolingProperties) {
handle_assert_has_value(getToolProperties);
uint32_t tool_count = 0;
ASSERT_EQ(VK_SUCCESS, getToolProperties(phys_dev, &tool_count, nullptr));
- ASSERT_EQ(tool_count, 1);
+ ASSERT_EQ(tool_count, 1U);
VkPhysicalDeviceToolProperties props{};
ASSERT_EQ(VK_SUCCESS, getToolProperties(phys_dev, &tool_count, &props));
- ASSERT_EQ(tool_count, 1);
+ ASSERT_EQ(tool_count, 1U);
string_eq(props.name, icd_tool_props.name);
}
}
-TEST_F(CreateInstance, InstanceNullLayerPtr) {
+TEST(CreateInstance, InstanceNullLayerPtr) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
VkInstance inst = VK_NULL_HANDLE;
VkInstanceCreateInfo info{};
info.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
info.enabledLayerCount = 1;
- ASSERT_EQ(env->vulkan_functions.vkCreateInstance(&info, VK_NULL_HANDLE, &inst), VK_ERROR_LAYER_NOT_PRESENT);
+ ASSERT_EQ(env.vulkan_functions.vkCreateInstance(&info, VK_NULL_HANDLE, &inst), VK_ERROR_LAYER_NOT_PRESENT);
}
-TEST_F(CreateInstance, InstanceNullExtensionPtr) {
+TEST(CreateInstance, InstanceNullExtensionPtr) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
VkInstance inst = VK_NULL_HANDLE;
VkInstanceCreateInfo info{};
info.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
info.enabledExtensionCount = 1;
- ASSERT_EQ(env->vulkan_functions.vkCreateInstance(&info, VK_NULL_HANDLE, &inst), VK_ERROR_EXTENSION_NOT_PRESENT);
+ ASSERT_EQ(env.vulkan_functions.vkCreateInstance(&info, VK_NULL_HANDLE, &inst), VK_ERROR_EXTENSION_NOT_PRESENT);
}
#if defined(__linux__) || defined(__FreeBSD__)
@@ -2298,13 +2378,13 @@ TEST(SortedPhysicalDevices, DevicesSortEnabled10NoAppExt) {
case 4:
ASSERT_EQ(props.deviceType, VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU);
ASSERT_EQ(true, !strcmp("pd5", props.deviceName));
- ASSERT_EQ(props.vendorID, 6940);
+ ASSERT_EQ(props.vendorID, 6940U);
ASSERT_EQ(props.deviceID, 0xDDDD001);
break;
case 5:
ASSERT_EQ(props.deviceType, VK_PHYSICAL_DEVICE_TYPE_CPU);
ASSERT_EQ(true, !strcmp("pd2", props.deviceName));
- ASSERT_EQ(props.vendorID, 1);
+ ASSERT_EQ(props.vendorID, 1U);
ASSERT_EQ(props.deviceID, 0xBBBB001);
break;
default:
@@ -2387,14 +2467,14 @@ TEST(SortedPhysicalDevices, DevicesSortEnabled10AppExt) {
ASSERT_EQ(true, !strcmp("pd3", props.deviceName));
ASSERT_EQ(props.vendorID, 75);
ASSERT_EQ(props.deviceID, 0xCCCC001);
- ASSERT_EQ(pci_bus_info.pciBus, 1);
+ ASSERT_EQ(pci_bus_info.pciBus, 1U);
break;
case 1:
ASSERT_EQ(props.deviceType, VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU);
ASSERT_EQ(true, !strcmp("pd4", props.deviceName));
ASSERT_EQ(props.vendorID, 75);
ASSERT_EQ(props.deviceID, 0xCCCC002);
- ASSERT_EQ(pci_bus_info.pciBus, 4);
+ ASSERT_EQ(pci_bus_info.pciBus, 4U);
break;
case 2:
ASSERT_EQ(props.deviceType, VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU);
@@ -2408,21 +2488,21 @@ TEST(SortedPhysicalDevices, DevicesSortEnabled10AppExt) {
ASSERT_EQ(true, !strcmp("pd1", props.deviceName));
ASSERT_EQ(props.vendorID, 888);
ASSERT_EQ(props.deviceID, 0xAAA002);
- ASSERT_EQ(pci_bus_info.pciBus, 3);
+ ASSERT_EQ(pci_bus_info.pciBus, 3U);
break;
case 4:
ASSERT_EQ(props.deviceType, VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU);
ASSERT_EQ(true, !strcmp("pd5", props.deviceName));
- ASSERT_EQ(props.vendorID, 6940);
+ ASSERT_EQ(props.vendorID, 6940U);
ASSERT_EQ(props.deviceID, 0xDDDD001);
- ASSERT_EQ(pci_bus_info.pciBus, 0);
+ ASSERT_EQ(pci_bus_info.pciBus, 0U);
break;
case 5:
ASSERT_EQ(props.deviceType, VK_PHYSICAL_DEVICE_TYPE_CPU);
ASSERT_EQ(true, !strcmp("pd2", props.deviceName));
- ASSERT_EQ(props.vendorID, 1);
+ ASSERT_EQ(props.vendorID, 1U);
ASSERT_EQ(props.deviceID, 0xBBBB001);
- ASSERT_EQ(pci_bus_info.pciBus, 0);
+ ASSERT_EQ(pci_bus_info.pciBus, 0U);
break;
default:
ASSERT_EQ(false, true);
@@ -2508,14 +2588,14 @@ TEST(SortedPhysicalDevices, DevicesSortEnabled11) {
ASSERT_EQ(true, !strcmp("pd3", props.deviceName));
ASSERT_EQ(props.vendorID, 75);
ASSERT_EQ(props.deviceID, 0xCCCC001);
- ASSERT_EQ(pci_bus_info.pciBus, 1);
+ ASSERT_EQ(pci_bus_info.pciBus, 1U);
break;
case 1:
ASSERT_EQ(props.deviceType, VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU);
ASSERT_EQ(true, !strcmp("pd4", props.deviceName));
ASSERT_EQ(props.vendorID, 75);
ASSERT_EQ(props.deviceID, 0xCCCC002);
- ASSERT_EQ(pci_bus_info.pciBus, 4);
+ ASSERT_EQ(pci_bus_info.pciBus, 4U);
break;
case 2:
ASSERT_EQ(props.deviceType, VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU);
@@ -2529,21 +2609,21 @@ TEST(SortedPhysicalDevices, DevicesSortEnabled11) {
ASSERT_EQ(true, !strcmp("pd1", props.deviceName));
ASSERT_EQ(props.vendorID, 888);
ASSERT_EQ(props.deviceID, 0xAAA002);
- ASSERT_EQ(pci_bus_info.pciBus, 3);
+ ASSERT_EQ(pci_bus_info.pciBus, 3U);
break;
case 4:
ASSERT_EQ(props.deviceType, VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU);
ASSERT_EQ(true, !strcmp("pd5", props.deviceName));
- ASSERT_EQ(props.vendorID, 6940);
+ ASSERT_EQ(props.vendorID, 6940U);
ASSERT_EQ(props.deviceID, 0xDDDD001);
- ASSERT_EQ(pci_bus_info.pciBus, 0);
+ ASSERT_EQ(pci_bus_info.pciBus, 0U);
break;
case 5:
ASSERT_EQ(props.deviceType, VK_PHYSICAL_DEVICE_TYPE_CPU);
ASSERT_EQ(true, !strcmp("pd2", props.deviceName));
- ASSERT_EQ(props.vendorID, 1);
+ ASSERT_EQ(props.vendorID, 1U);
ASSERT_EQ(props.deviceID, 0xBBBB001);
- ASSERT_EQ(pci_bus_info.pciBus, 0);
+ ASSERT_EQ(pci_bus_info.pciBus, 0U);
break;
default:
ASSERT_EQ(false, true);
@@ -2782,21 +2862,21 @@ TEST(SortedPhysicalDevices, DeviceGroupsSortedEnabled) {
ASSERT_EQ(true, !strcmp("pd4", props.deviceName));
ASSERT_EQ(props.vendorID, 75);
ASSERT_EQ(props.deviceID, 0xCCCC001);
- ASSERT_EQ(pci_bus_info.pciBus, 1);
+ ASSERT_EQ(pci_bus_info.pciBus, 1U);
break;
case 1:
ASSERT_EQ(props.deviceType, VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU);
ASSERT_EQ(true, !strcmp("pd6", props.deviceName));
ASSERT_EQ(props.vendorID, 75);
ASSERT_EQ(props.deviceID, 0xCCCC003);
- ASSERT_EQ(pci_bus_info.pciBus, 2);
+ ASSERT_EQ(pci_bus_info.pciBus, 2U);
break;
case 2:
ASSERT_EQ(props.deviceType, VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU);
ASSERT_EQ(true, !strcmp("pd5", props.deviceName));
ASSERT_EQ(props.vendorID, 75);
ASSERT_EQ(props.deviceID, 0xCCCC002);
- ASSERT_EQ(pci_bus_info.pciBus, 4);
+ ASSERT_EQ(pci_bus_info.pciBus, 4U);
break;
case 3:
ASSERT_EQ(props.deviceType, VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU);
@@ -2817,21 +2897,21 @@ TEST(SortedPhysicalDevices, DeviceGroupsSortedEnabled) {
ASSERT_EQ(true, !strcmp("pd1", props.deviceName));
ASSERT_EQ(props.vendorID, 888);
ASSERT_EQ(props.deviceID, 0xAAA002);
- ASSERT_EQ(pci_bus_info.pciBus, 3);
+ ASSERT_EQ(pci_bus_info.pciBus, 3U);
break;
case 6:
ASSERT_EQ(props.deviceType, VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU);
ASSERT_EQ(true, !strcmp("pd7", props.deviceName));
- ASSERT_EQ(props.vendorID, 6940);
+ ASSERT_EQ(props.vendorID, 6940U);
ASSERT_EQ(props.deviceID, 0xDDDD001);
- ASSERT_EQ(pci_bus_info.pciBus, 0);
+ ASSERT_EQ(pci_bus_info.pciBus, 0U);
break;
case 7:
ASSERT_EQ(props.deviceType, VK_PHYSICAL_DEVICE_TYPE_CPU);
ASSERT_EQ(true, !strcmp("pd3", props.deviceName));
- ASSERT_EQ(props.vendorID, 1);
+ ASSERT_EQ(props.vendorID, 1U);
ASSERT_EQ(props.deviceID, 0xBBBB001);
- ASSERT_EQ(pci_bus_info.pciBus, 0);
+ ASSERT_EQ(pci_bus_info.pciBus, 0U);
break;
default:
ASSERT_EQ(false, true);
diff --git a/tests/loader_threading_tests.cpp b/tests/loader_threading_tests.cpp
index 75619b497..9e5a5b226 100644
--- a/tests/loader_threading_tests.cpp
+++ b/tests/loader_threading_tests.cpp
@@ -30,17 +30,6 @@
#include <mutex>
#include <thread>
-class ThreadingTests : public ::testing::Test {
- protected:
- virtual void SetUp() {
- env = std::unique_ptr<FrameworkEnvironment>(new FrameworkEnvironment());
- env->add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
- }
-
- virtual void TearDown() { env.reset(); }
- std::unique_ptr<FrameworkEnvironment> env;
-};
-
void create_destroy_device_loop(uint32_t num_loops_create_destroy_device, uint32_t num_loops_try_get_proc_addr, InstWrapper* inst,
VkPhysicalDevice phys_dev) {
for (uint32_t i = 0; i < num_loops_create_destroy_device; i++) {
@@ -66,7 +55,6 @@ void create_destroy_device_loop(uint32_t num_loops_create_destroy_device, uint32
}
}
}
-
VKAPI_ATTR void VKAPI_CALL test_vkCmdBindPipeline(VkCommandBuffer cmd_buf, VkPipelineBindPoint pipelineBindPoint,
VkPipeline pipeline) {}
VKAPI_ATTR void VKAPI_CALL test_vkCmdBindDescriptorSets(VkCommandBuffer cmd_buf, VkPipelineBindPoint pipelineBindPoint,
@@ -79,21 +67,26 @@ VKAPI_ATTR void VKAPI_CALL test_vkCmdBindIndexBuffer(VkCommandBuffer cmd_buf, ui
const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) {}
VKAPI_ATTR void VKAPI_CALL test_vkCmdDraw(VkCommandBuffer cmd_buf, uint32_t vertexCount, uint32_t instanceCount,
uint32_t firstVertex, uint32_t firstInstance) {}
-TEST_F(ThreadingTests, ConcurentGetDeviceProcAddr) {
+TEST(ThreadingTests, ConcurentGetDeviceProcAddr) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t num_threads = 100;
uint32_t num_loops_create_destroy_device = 10;
uint32_t num_loops_try_get_proc_addr = 100;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
- driver.physical_devices.back().known_device_functions.push_back({"vkCmdBindPipeline", (void*)test_vkCmdBindPipeline});
driver.physical_devices.back().known_device_functions.push_back(
- {"vkCmdBindDescriptorSets", (void*)test_vkCmdBindDescriptorSets});
- driver.physical_devices.back().known_device_functions.push_back({"vkCmdBindVertexBuffers", (void*)test_vkCmdBindVertexBuffers});
- driver.physical_devices.back().known_device_functions.push_back({"vkCmdBindIndexBuffer", (void*)test_vkCmdBindIndexBuffer});
- driver.physical_devices.back().known_device_functions.push_back({"vkCmdDraw", (void*)test_vkCmdDraw});
+ {"vkCmdBindPipeline", reinterpret_cast<void*>(test_vkCmdBindPipeline)});
+ driver.physical_devices.back().known_device_functions.push_back(
+ {"vkCmdBindDescriptorSets", reinterpret_cast<void*>(test_vkCmdBindDescriptorSets)});
+ driver.physical_devices.back().known_device_functions.push_back(
+ {"vkCmdBindVertexBuffers", reinterpret_cast<void*>(test_vkCmdBindVertexBuffers)});
+ driver.physical_devices.back().known_device_functions.push_back(
+ {"vkCmdBindIndexBuffer", reinterpret_cast<void*>(test_vkCmdBindIndexBuffer)});
+ driver.physical_devices.back().known_device_functions.push_back({"vkCmdDraw", reinterpret_cast<void*>(test_vkCmdDraw)});
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
@@ -110,4 +103,4 @@ TEST_F(ThreadingTests, ConcurentGetDeviceProcAddr) {
for (uint32_t i = 0; i < num_threads; i++) {
threads[i].join();
}
-} \ No newline at end of file
+}
diff --git a/tests/loader_unknown_ext_tests.cpp b/tests/loader_unknown_ext_tests.cpp
index 6c6814f8b..357892a66 100644
--- a/tests/loader_unknown_ext_tests.cpp
+++ b/tests/loader_unknown_ext_tests.cpp
@@ -28,17 +28,6 @@
#include "test_environment.h"
#include <functional>
-class UnknownFunction : public ::testing::Test {
- protected:
- virtual void SetUp() {
- env = std::unique_ptr<FrameworkEnvironment>(new FrameworkEnvironment());
- env->add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
- }
-
- virtual void TearDown() { env.reset(); }
- std::unique_ptr<FrameworkEnvironment> env;
-};
-
/*
Creates a TestICD with a function unknown to the loader called vkNotRealFuncTEST. The TestICD, when vk_icdGetPhysicalDeviceProcAddr
is called, will return the custom_physical_device_function if the function name matches vkNotRealFuncTEST. The test then calls the
@@ -109,32 +98,36 @@ void check_custom_functions(FunctionLoader& loader, ParentType parent, Dispatcha
}
using custom_physical_device_functions = custom_functions<VkPhysicalDevice>;
-TEST_F(UnknownFunction, PhysicalDeviceFunction) {
+TEST(UnknownFunction, PhysicalDeviceFunction) {
#if defined(__APPLE__)
GTEST_SKIP() << "Skip this test as currently macOS doesn't fully support unknown functions.";
#endif
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t function_count = MAX_NUM_UNKNOWN_EXTS;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
std::vector<std::string> fake_function_names;
driver.physical_devices.emplace_back("physical_device_0");
fill_custom_functions(driver.custom_physical_device_functions, fake_function_names, custom_physical_device_functions{},
function_count);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
- check_custom_functions(env->vulkan_functions, inst.inst, phys_dev, custom_physical_device_functions{}, fake_function_names,
+ check_custom_functions(env.vulkan_functions, inst.inst, phys_dev, custom_physical_device_functions{}, fake_function_names,
function_count);
}
-TEST_F(UnknownFunction, PhysicalDeviceFunctionMultipleDriverSupport) {
+TEST(UnknownFunction, PhysicalDeviceFunctionMultipleDriverSupport) {
#if defined(__APPLE__)
GTEST_SKIP() << "Skip this test as currently macOS doesn't fully support unknown functions.";
#endif
- env->add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
- auto& driver_0 = env->get_test_icd(0);
- auto& driver_1 = env->get_test_icd(1);
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver_0 = env.get_test_icd(0);
+ auto& driver_1 = env.get_test_icd(1);
std::vector<std::string> fake_function_names;
// used to identify the GPUs
@@ -152,22 +145,22 @@ TEST_F(UnknownFunction, PhysicalDeviceFunctionMultipleDriverSupport) {
fill_custom_functions(driver_1.custom_physical_device_functions, fake_function_names, custom_physical_device_functions{}, 5,
i * 10 + 5);
}
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
auto phys_devs = inst.GetPhysDevs(2);
VkPhysicalDevice phys_dev_0 = phys_devs[0];
VkPhysicalDevice phys_dev_1 = phys_devs[1];
- env->vulkan_functions.vkGetPhysicalDeviceProperties(phys_devs[0], &props);
+ env.vulkan_functions.vkGetPhysicalDeviceProperties(phys_devs[0], &props);
if (props.deviceType != VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU) {
phys_dev_0 = phys_devs[1];
phys_dev_1 = phys_devs[0];
}
for (uint32_t i = 0; i < 25; i++) {
- check_custom_functions(env->vulkan_functions, inst.inst, phys_dev_0, custom_physical_device_functions{},
- fake_function_names, 5, i * 10);
- check_custom_functions(env->vulkan_functions, inst.inst, phys_dev_1, custom_physical_device_functions{},
- fake_function_names, 5, i * 10 + 5);
+ check_custom_functions(env.vulkan_functions, inst.inst, phys_dev_0, custom_physical_device_functions{}, fake_function_names,
+ 5, i * 10);
+ check_custom_functions(env.vulkan_functions, inst.inst, phys_dev_1, custom_physical_device_functions{}, fake_function_names,
+ 5, i * 10 + 5);
}
}
@@ -212,39 +205,43 @@ TEST(UnknownFunctionDeathTests, PhysicalDeviceFunctionErrorPath) {
ASSERT_DEATH(returned_func_i(phys_dev_to_use, 0), "Extension vkNotIntRealFuncTEST_0 not supported for this physical device");
}
-TEST_F(UnknownFunction, PhysicalDeviceFunctionWithImplicitLayer) {
+TEST(UnknownFunction, PhysicalDeviceFunctionWithImplicitLayer) {
#if defined(__APPLE__)
GTEST_SKIP() << "Skip this test as currently macOS doesn't fully support unknown functions.";
#endif
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t function_count = MAX_NUM_UNKNOWN_EXTS;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
std::vector<std::string> fake_function_names;
driver.physical_devices.emplace_back("physical_device_0");
fill_custom_functions(driver.custom_physical_device_functions, fake_function_names, custom_physical_device_functions{},
function_count);
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_disable_environment("DISABLE_ME")),
- "implicit_layer_unknown_function_intercept.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_disable_environment("DISABLE_ME")),
+ "implicit_layer_unknown_function_intercept.json");
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
- check_custom_functions(env->vulkan_functions, inst.inst, phys_dev, custom_physical_device_functions{}, fake_function_names,
+ check_custom_functions(env.vulkan_functions, inst.inst, phys_dev, custom_physical_device_functions{}, fake_function_names,
function_count);
}
-TEST_F(UnknownFunction, PhysicalDeviceFunctionMultipleDriverSupportWithImplicitLayer) {
+TEST(UnknownFunction, PhysicalDeviceFunctionMultipleDriverSupportWithImplicitLayer) {
#if defined(__APPLE__)
GTEST_SKIP() << "Skip this test as currently macOS doesn't fully support unknown functions.";
#endif
- env->add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
- auto& driver_0 = env->get_test_icd(0);
- auto& driver_1 = env->get_test_icd(1);
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver_0 = env.get_test_icd(0);
+ auto& driver_1 = env.get_test_icd(1);
std::vector<std::string> fake_function_names;
// used to identify the GPUs
@@ -262,184 +259,197 @@ TEST_F(UnknownFunction, PhysicalDeviceFunctionMultipleDriverSupportWithImplicitL
i * 10 + 5);
}
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_disable_environment("DISABLE_ME")),
- "implicit_layer_unknown_function_intercept.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_disable_environment("DISABLE_ME")),
+ "implicit_layer_unknown_function_intercept.json");
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
auto phys_devs = inst.GetPhysDevs(2);
VkPhysicalDevice phys_dev_0 = phys_devs[0];
VkPhysicalDevice phys_dev_1 = phys_devs[1];
- env->vulkan_functions.vkGetPhysicalDeviceProperties(phys_devs[0], &props);
+ env.vulkan_functions.vkGetPhysicalDeviceProperties(phys_devs[0], &props);
if (props.deviceType != VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU) {
phys_dev_0 = phys_devs[1];
phys_dev_1 = phys_devs[0];
}
for (uint32_t i = 0; i < 25; i++) {
- check_custom_functions(env->vulkan_functions, inst.inst, phys_dev_0, custom_physical_device_functions{},
- fake_function_names, 5, i * 10);
- check_custom_functions(env->vulkan_functions, inst.inst, phys_dev_1, custom_physical_device_functions{},
- fake_function_names, 5, i * 10 + 5);
+ check_custom_functions(env.vulkan_functions, inst.inst, phys_dev_0, custom_physical_device_functions{}, fake_function_names,
+ 5, i * 10);
+ check_custom_functions(env.vulkan_functions, inst.inst, phys_dev_1, custom_physical_device_functions{}, fake_function_names,
+ 5, i * 10 + 5);
}
}
-TEST_F(UnknownFunction, PhysicalDeviceFunctionWithImplicitLayerInterception) {
+TEST(UnknownFunction, PhysicalDeviceFunctionWithImplicitLayerInterception) {
#if defined(__APPLE__)
GTEST_SKIP() << "Skip this test as currently macOS doesn't fully support unknown functions.";
#endif
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t function_count = MAX_NUM_UNKNOWN_EXTS;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
std::vector<std::string> fake_function_names;
driver.physical_devices.emplace_back("physical_device_0");
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_disable_environment("DISABLE_ME")),
- "implicit_layer_unknown_function_intercept.json");
- auto& layer = env->get_test_layer();
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_disable_environment("DISABLE_ME")),
+ "implicit_layer_unknown_function_intercept.json");
+ auto& layer = env.get_test_layer();
fill_custom_functions(layer.custom_physical_device_functions, fake_function_names, custom_physical_device_functions{},
function_count);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
- check_custom_functions(env->vulkan_functions, inst.inst, phys_dev, custom_physical_device_functions{}, fake_function_names,
+ check_custom_functions(env.vulkan_functions, inst.inst, phys_dev, custom_physical_device_functions{}, fake_function_names,
function_count);
}
-TEST_F(UnknownFunction, PhysicalDeviceFunctionWithMultipleImplicitLayersInterception) {
+TEST(UnknownFunction, PhysicalDeviceFunctionWithMultipleImplicitLayersInterception) {
#if defined(__APPLE__)
GTEST_SKIP() << "Skip this test as currently macOS doesn't fully support unknown functions.";
#endif
- auto& driver = env->get_test_icd();
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
+ auto& driver = env.get_test_icd();
std::vector<std::string> fake_function_names;
driver.physical_devices.emplace_back("physical_device_0");
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name("VK_LAYER_implicit_layer_unknown_function_intercept_0")
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_disable_environment("DISABLE_ME")),
- "implicit_layer_unknown_function_intercept_0.json");
- auto& layer_0 = env->get_test_layer();
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name("VK_LAYER_implicit_layer_unknown_function_intercept_1")
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_disable_environment("DISABLE_ME")),
- "implicit_layer_unknown_function_intercept_1.json");
- auto& layer_1 = env->get_test_layer();
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name("VK_LAYER_implicit_layer_unknown_function_intercept_0")
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_disable_environment("DISABLE_ME")),
+ "implicit_layer_unknown_function_intercept_0.json");
+ auto& layer_0 = env.get_test_layer();
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name("VK_LAYER_implicit_layer_unknown_function_intercept_1")
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_disable_environment("DISABLE_ME")),
+ "implicit_layer_unknown_function_intercept_1.json");
+ auto& layer_1 = env.get_test_layer();
for (uint32_t i = 0; i < 25; i++) {
fill_custom_functions(layer_0.custom_physical_device_functions, fake_function_names, custom_physical_device_functions{}, 5,
i * 10);
fill_custom_functions(layer_1.custom_physical_device_functions, fake_function_names, custom_physical_device_functions{}, 5,
i * 10 + 5);
}
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
VkPhysicalDevice phys_dev = inst.GetPhysDev();
- check_custom_functions(env->vulkan_functions, inst.inst, phys_dev, custom_physical_device_functions{}, fake_function_names,
- 250);
+ check_custom_functions(env.vulkan_functions, inst.inst, phys_dev, custom_physical_device_functions{}, fake_function_names, 250);
}
using custom_device_functions = custom_functions<VkDevice>;
-TEST_F(UnknownFunction, DeviceFunctionFromGetInstanceProcAddr) {
+TEST(UnknownFunction, DeviceFunctionFromGetInstanceProcAddr) {
#if defined(__APPLE__)
GTEST_SKIP() << "Skip this test as currently macOS doesn't fully support unknown functions.";
#endif
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t function_count = MAX_NUM_UNKNOWN_EXTS;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
std::vector<std::string> fake_function_names;
fill_custom_functions(driver.physical_devices.back().known_device_functions, fake_function_names, custom_device_functions{},
function_count);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
DeviceWrapper dev{inst};
dev.CheckCreate(inst.GetPhysDev());
- check_custom_functions(env->vulkan_functions, inst.inst, dev.dev, custom_device_functions{}, fake_function_names,
+ check_custom_functions(env.vulkan_functions, inst.inst, dev.dev, custom_device_functions{}, fake_function_names,
function_count);
}
-TEST_F(UnknownFunction, DeviceFunctionFromGetInstanceProcAddrWithImplicitLayer) {
+TEST(UnknownFunction, DeviceFunctionFromGetInstanceProcAddrWithImplicitLayer) {
#if defined(__APPLE__)
GTEST_SKIP() << "Skip this test as currently macOS doesn't fully support unknown functions.";
#endif
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t function_count = MAX_NUM_UNKNOWN_EXTS;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
std::vector<std::string> fake_function_names;
fill_custom_functions(driver.physical_devices.back().known_device_functions, fake_function_names, custom_device_functions{},
function_count);
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_disable_environment("DISABLE_ME")),
- "implicit_layer_unknown_function_intercept.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_disable_environment("DISABLE_ME")),
+ "implicit_layer_unknown_function_intercept.json");
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
DeviceWrapper dev{inst};
dev.CheckCreate(inst.GetPhysDev());
- check_custom_functions(env->vulkan_functions, inst.inst, dev.dev, custom_device_functions{}, fake_function_names,
+ check_custom_functions(env.vulkan_functions, inst.inst, dev.dev, custom_device_functions{}, fake_function_names,
function_count);
}
-TEST_F(UnknownFunction, DeviceFunctionFromGetDeviceProcAddr) {
+TEST(UnknownFunction, DeviceFunctionFromGetDeviceProcAddr) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t function_count = 1000;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
std::vector<std::string> fake_function_names;
fill_custom_functions(driver.physical_devices.back().known_device_functions, fake_function_names, custom_device_functions{},
function_count);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
DeviceWrapper dev{inst};
dev.CheckCreate(inst.GetPhysDev());
- check_custom_functions(env->vulkan_functions, dev.dev, dev.dev, custom_device_functions{}, fake_function_names, function_count);
+ check_custom_functions(env.vulkan_functions, dev.dev, dev.dev, custom_device_functions{}, fake_function_names, function_count);
}
-TEST_F(UnknownFunction, DeviceFunctionFromGetDeviceProcAddrWithImplicitLayer) {
+TEST(UnknownFunction, DeviceFunctionFromGetDeviceProcAddrWithImplicitLayer) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t function_count = 1000;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
std::vector<std::string> fake_function_names;
fill_custom_functions(driver.physical_devices.back().known_device_functions, fake_function_names, custom_device_functions{},
function_count);
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_disable_environment("DISABLE_ME")),
- "implicit_layer_unknown_function_intercept.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_disable_environment("DISABLE_ME")),
+ "implicit_layer_unknown_function_intercept.json");
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
DeviceWrapper dev{inst};
dev.CheckCreate(inst.GetPhysDev());
- check_custom_functions(env->vulkan_functions, dev.dev, dev.dev, custom_device_functions{}, fake_function_names, function_count);
+ check_custom_functions(env.vulkan_functions, dev.dev, dev.dev, custom_device_functions{}, fake_function_names, function_count);
}
using custom_command_buffer_functions = custom_functions<VkCommandBuffer>;
-TEST_F(UnknownFunction, CommandBufferFunctionFromGetDeviceProcAddr) {
+TEST(UnknownFunction, CommandBufferFunctionFromGetDeviceProcAddr) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t function_count = 1000;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().add_queue_family_properties({});
std::vector<std::string> fake_function_names;
@@ -447,13 +457,13 @@ TEST_F(UnknownFunction, CommandBufferFunctionFromGetDeviceProcAddr) {
fill_custom_functions(driver.physical_devices.back().known_device_functions, fake_function_names,
custom_command_buffer_functions{}, function_count);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
DeviceWrapper dev{inst};
dev.CheckCreate(inst.GetPhysDev());
- DeviceFunctions funcs{env->vulkan_functions, dev};
+ DeviceFunctions funcs{env.vulkan_functions, dev};
VkCommandPool command_pool;
VkCommandPoolCreateInfo pool_create_info{};
funcs.vkCreateCommandPool(dev, &pool_create_info, nullptr, &command_pool);
@@ -463,32 +473,34 @@ TEST_F(UnknownFunction, CommandBufferFunctionFromGetDeviceProcAddr) {
alloc_info.commandPool = command_pool;
funcs.vkAllocateCommandBuffers(dev, &alloc_info, &command_buffer);
- check_custom_functions(env->vulkan_functions, dev.dev, command_buffer, custom_command_buffer_functions{}, fake_function_names,
+ check_custom_functions(env.vulkan_functions, dev.dev, command_buffer, custom_command_buffer_functions{}, fake_function_names,
function_count);
}
-TEST_F(UnknownFunction, CommandBufferFunctionFromGetDeviceProcAddrWithImplicitLayer) {
+TEST(UnknownFunction, CommandBufferFunctionFromGetDeviceProcAddrWithImplicitLayer) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t function_count = 1000;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().add_queue_family_properties({});
std::vector<std::string> fake_function_names;
fill_custom_functions(driver.physical_devices.back().known_device_functions, fake_function_names,
custom_command_buffer_functions{}, function_count);
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_disable_environment("DISABLE_ME")),
- "implicit_layer_unknown_function_intercept.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_disable_environment("DISABLE_ME")),
+ "implicit_layer_unknown_function_intercept.json");
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
DeviceWrapper dev{inst};
dev.CheckCreate(inst.GetPhysDev());
- DeviceFunctions funcs{env->vulkan_functions, dev};
+ DeviceFunctions funcs{env.vulkan_functions, dev};
VkCommandPool command_pool;
VkCommandPoolCreateInfo pool_create_info{};
funcs.vkCreateCommandPool(dev, &pool_create_info, nullptr, &command_pool);
@@ -498,29 +510,31 @@ TEST_F(UnknownFunction, CommandBufferFunctionFromGetDeviceProcAddrWithImplicitLa
alloc_info.commandPool = command_pool;
funcs.vkAllocateCommandBuffers(dev, &alloc_info, &command_buffer);
- check_custom_functions(env->vulkan_functions, dev.dev, command_buffer, custom_command_buffer_functions{}, fake_function_names,
+ check_custom_functions(env.vulkan_functions, dev.dev, command_buffer, custom_command_buffer_functions{}, fake_function_names,
function_count);
}
-TEST_F(UnknownFunction, CommandBufferFunctionFromGetInstanceProcAddr) {
+TEST(UnknownFunction, CommandBufferFunctionFromGetInstanceProcAddr) {
#if defined(__APPLE__)
GTEST_SKIP() << "Skip this test as currently macOS doesn't fully support unknown functions.";
#endif
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t function_count = MAX_NUM_UNKNOWN_EXTS;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().add_queue_family_properties({});
std::vector<std::string> fake_function_names;
fill_custom_functions(driver.physical_devices.back().known_device_functions, fake_function_names,
custom_command_buffer_functions{}, function_count);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
DeviceWrapper dev{inst};
dev.CheckCreate(inst.GetPhysDev());
- DeviceFunctions funcs{env->vulkan_functions, dev};
+ DeviceFunctions funcs{env.vulkan_functions, dev};
VkCommandPool command_pool;
VkCommandPoolCreateInfo pool_create_info{};
funcs.vkCreateCommandPool(dev, &pool_create_info, nullptr, &command_pool);
@@ -530,35 +544,37 @@ TEST_F(UnknownFunction, CommandBufferFunctionFromGetInstanceProcAddr) {
alloc_info.commandPool = command_pool;
funcs.vkAllocateCommandBuffers(dev, &alloc_info, &command_buffer);
- check_custom_functions(env->vulkan_functions, inst.inst, command_buffer, custom_command_buffer_functions{}, fake_function_names,
+ check_custom_functions(env.vulkan_functions, inst.inst, command_buffer, custom_command_buffer_functions{}, fake_function_names,
function_count);
}
-TEST_F(UnknownFunction, CommandBufferFunctionFromGetInstanceProcAddrWithImplicitLayer) {
+TEST(UnknownFunction, CommandBufferFunctionFromGetInstanceProcAddrWithImplicitLayer) {
#if defined(__APPLE__)
GTEST_SKIP() << "Skip this test as currently macOS doesn't fully support unknown functions.";
#endif
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t function_count = MAX_NUM_UNKNOWN_EXTS;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().add_queue_family_properties({});
std::vector<std::string> fake_function_names;
fill_custom_functions(driver.physical_devices.back().known_device_functions, fake_function_names,
custom_command_buffer_functions{}, function_count);
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_disable_environment("DISABLE_ME")),
- "implicit_layer_unknown_function_intercept.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_disable_environment("DISABLE_ME")),
+ "implicit_layer_unknown_function_intercept.json");
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
DeviceWrapper dev{inst};
dev.CheckCreate(inst.GetPhysDev());
- DeviceFunctions funcs{env->vulkan_functions, dev};
+ DeviceFunctions funcs{env.vulkan_functions, dev};
VkCommandPool command_pool;
VkCommandPoolCreateInfo pool_create_info{};
funcs.vkCreateCommandPool(dev, &pool_create_info, nullptr, &command_pool);
@@ -568,110 +584,118 @@ TEST_F(UnknownFunction, CommandBufferFunctionFromGetInstanceProcAddrWithImplicit
alloc_info.commandPool = command_pool;
funcs.vkAllocateCommandBuffers(dev, &alloc_info, &command_buffer);
- check_custom_functions(env->vulkan_functions, inst.inst, command_buffer, custom_command_buffer_functions{}, fake_function_names,
+ check_custom_functions(env.vulkan_functions, inst.inst, command_buffer, custom_command_buffer_functions{}, fake_function_names,
function_count);
}
using custom_queue_functions = custom_functions<VkQueue>;
-TEST_F(UnknownFunction, QueueFunctionFromGetDeviceProcAddr) {
+TEST(UnknownFunction, QueueFunctionFromGetDeviceProcAddr) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t function_count = 1000;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().add_queue_family_properties({});
std::vector<std::string> fake_function_names;
fill_custom_functions(driver.physical_devices.back().known_device_functions, fake_function_names, custom_queue_functions{},
function_count);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
DeviceWrapper dev{inst};
dev.create_info.add_device_queue({});
dev.CheckCreate(inst.GetPhysDev());
VkQueue queue{};
- env->vulkan_functions.vkGetDeviceQueue(dev, 0, 0, &queue);
+ env.vulkan_functions.vkGetDeviceQueue(dev, 0, 0, &queue);
- check_custom_functions(env->vulkan_functions, dev.dev, queue, custom_queue_functions{}, fake_function_names, function_count);
+ check_custom_functions(env.vulkan_functions, dev.dev, queue, custom_queue_functions{}, fake_function_names, function_count);
}
-TEST_F(UnknownFunction, QueueFunctionFromGetDeviceProcAddrWithImplicitLayer) {
+TEST(UnknownFunction, QueueFunctionFromGetDeviceProcAddrWithImplicitLayer) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t function_count = 1000;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().add_queue_family_properties({});
std::vector<std::string> fake_function_names;
fill_custom_functions(driver.physical_devices.back().known_device_functions, fake_function_names, custom_queue_functions{},
function_count);
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_disable_environment("DISABLE_ME")),
- "implicit_layer_unknown_function_intercept.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_disable_environment("DISABLE_ME")),
+ "implicit_layer_unknown_function_intercept.json");
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
DeviceWrapper dev{inst};
dev.create_info.add_device_queue({});
dev.CheckCreate(inst.GetPhysDev());
VkQueue queue{};
- env->vulkan_functions.vkGetDeviceQueue(dev, 0, 0, &queue);
+ env.vulkan_functions.vkGetDeviceQueue(dev, 0, 0, &queue);
- check_custom_functions(env->vulkan_functions, dev.dev, queue, custom_queue_functions{}, fake_function_names, function_count);
+ check_custom_functions(env.vulkan_functions, dev.dev, queue, custom_queue_functions{}, fake_function_names, function_count);
}
-TEST_F(UnknownFunction, QueueFunctionFromGetInstanceProcAddr) {
+TEST(UnknownFunction, QueueFunctionFromGetInstanceProcAddr) {
#if defined(__APPLE__)
GTEST_SKIP() << "Skip this test as currently macOS doesn't fully support unknown functions.";
#endif
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t function_count = MAX_NUM_UNKNOWN_EXTS;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().add_queue_family_properties({});
std::vector<std::string> fake_function_names;
fill_custom_functions(driver.physical_devices.back().known_device_functions, fake_function_names, custom_queue_functions{},
function_count);
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
DeviceWrapper dev{inst};
dev.create_info.add_device_queue({});
dev.CheckCreate(inst.GetPhysDev());
VkQueue queue{};
- env->vulkan_functions.vkGetDeviceQueue(dev, 0, 0, &queue);
+ env.vulkan_functions.vkGetDeviceQueue(dev, 0, 0, &queue);
- check_custom_functions(env->vulkan_functions, inst.inst, queue, custom_queue_functions{}, fake_function_names, function_count);
+ check_custom_functions(env.vulkan_functions, inst.inst, queue, custom_queue_functions{}, fake_function_names, function_count);
}
-TEST_F(UnknownFunction, QueueFunctionFromGetInstanceProcAddrWithImplicitLayer) {
+TEST(UnknownFunction, QueueFunctionFromGetInstanceProcAddrWithImplicitLayer) {
#if defined(__APPLE__)
GTEST_SKIP() << "Skip this test as currently macOS doesn't fully support unknown functions.";
#endif
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_6));
uint32_t function_count = MAX_NUM_UNKNOWN_EXTS;
- auto& driver = env->get_test_icd();
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
driver.physical_devices.back().add_queue_family_properties({});
std::vector<std::string> fake_function_names;
fill_custom_functions(driver.physical_devices.back().known_device_functions, fake_function_names, custom_queue_functions{},
function_count);
- env->add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
- .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
- .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
- .set_disable_environment("DISABLE_ME")),
- "implicit_layer_unknown_function_intercept.json");
+ env.add_implicit_layer(ManifestLayer{}.add_layer(ManifestLayer::LayerDescription{}
+ .set_name("VK_LAYER_implicit_layer_unknown_function_intercept")
+ .set_lib_path(TEST_LAYER_PATH_EXPORT_VERSION_2)
+ .set_disable_environment("DISABLE_ME")),
+ "implicit_layer_unknown_function_intercept.json");
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
DeviceWrapper dev{inst};
dev.create_info.add_device_queue({});
dev.CheckCreate(inst.GetPhysDev());
VkQueue queue{};
- env->vulkan_functions.vkGetDeviceQueue(dev, 0, 0, &queue);
+ env.vulkan_functions.vkGetDeviceQueue(dev, 0, 0, &queue);
- check_custom_functions(env->vulkan_functions, inst.inst, queue, custom_queue_functions{}, fake_function_names, function_count);
+ check_custom_functions(env.vulkan_functions, inst.inst, queue, custom_queue_functions{}, fake_function_names, function_count);
}
diff --git a/tests/loader_version_tests.cpp b/tests/loader_version_tests.cpp
index d90f3d4c0..47c0de1e4 100644
--- a/tests/loader_version_tests.cpp
+++ b/tests/loader_version_tests.cpp
@@ -27,36 +27,30 @@
#include "test_environment.h"
-class ICDInterfaceVersion2Plus : public ::testing::Test {
- protected:
- virtual void SetUp() {
- env = std::unique_ptr<FrameworkEnvironment>(new FrameworkEnvironment());
- env->add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
- }
- virtual void TearDown() { env.reset(); }
- std::unique_ptr<FrameworkEnvironment> env;
-};
-
-TEST_F(ICDInterfaceVersion2Plus, vk_icdNegotiateLoaderICDInterfaceVersion) {
- auto& driver = env->get_test_icd();
+TEST(ICDInterfaceVersion2Plus, vk_icdNegotiateLoaderICDInterfaceVersion) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
for (uint32_t i = 0; i <= 6; i++) {
for (uint32_t j = i; j <= 6; j++) {
driver.min_icd_interface_version = i;
driver.max_icd_interface_version = j;
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
}
}
}
-TEST_F(ICDInterfaceVersion2Plus, version_3) {
- auto& driver = env->get_test_icd();
+TEST(ICDInterfaceVersion2Plus, version_3) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
{
driver.min_icd_interface_version = 2;
driver.enable_icd_wsi = true;
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
ASSERT_EQ(driver.is_using_icd_wsi, UsingICDProvidedWSI::not_using);
@@ -64,7 +58,7 @@ TEST_F(ICDInterfaceVersion2Plus, version_3) {
{
driver.min_icd_interface_version = 3;
driver.enable_icd_wsi = false;
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
ASSERT_EQ(driver.is_using_icd_wsi, UsingICDProvidedWSI::not_using);
@@ -72,34 +66,36 @@ TEST_F(ICDInterfaceVersion2Plus, version_3) {
{
driver.min_icd_interface_version = 3;
driver.enable_icd_wsi = true;
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
ASSERT_EQ(driver.is_using_icd_wsi, UsingICDProvidedWSI::is_using);
}
}
-TEST_F(ICDInterfaceVersion2Plus, version_4) {
- auto& driver = env->get_test_icd();
+TEST(ICDInterfaceVersion2Plus, version_4) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_0");
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
}
-TEST_F(ICDInterfaceVersion2Plus, l4_icd4) {
+TEST(ICDInterfaceVersion2Plus, l4_icd4) {
// ICD must fail with VK_ERROR_INCOMPATIBLE_DRIVER for all vkCreateInstance calls with apiVersion set to > Vulkan 1.0
// because both the loader and ICD support interface version <= 4. Otherwise, the ICD should behave as normal.
}
-TEST_F(ICDInterfaceVersion2Plus, l4_icd5) {
+TEST(ICDInterfaceVersion2Plus, l4_icd5) {
// ICD must fail with VK_ERROR_INCOMPATIBLE_DRIVER for all vkCreateInstance calls with apiVersion set to > Vulkan 1.0
// because the loader is still at interface version <= 4. Otherwise, the ICD should behave as normal.
}
-TEST_F(ICDInterfaceVersion2Plus, l5_icd4) {
+TEST(ICDInterfaceVersion2Plus, l5_icd4) {
// Loader will fail with VK_ERROR_INCOMPATIBLE_DRIVER if it can't handle the apiVersion. ICD may pass for all apiVersions,
// but since its interface is <= 4, it is best if it assumes it needs to do the work of rejecting anything > Vulkan 1.0 and
// fail with VK_ERROR_INCOMPATIBLE_DRIVER. Otherwise, the ICD should behave as normal.
}
-TEST_F(ICDInterfaceVersion2Plus, l5_icd5) {
+TEST(ICDInterfaceVersion2Plus, l5_icd5) {
// Loader will fail with VK_ERROR_INCOMPATIBLE_DRIVER if it can't handle the apiVersion, and ICDs should fail with
// VK_ERROR_INCOMPATIBLE_DRIVER only if they can not support the specified apiVersion. Otherwise, the ICD should behave as
// normal.
@@ -110,8 +106,10 @@ TEST_F(ICDInterfaceVersion2Plus, l5_icd5) {
// Version 6 provides a mechanism to allow the loader to sort physical devices.
// The loader will only attempt to sort physical devices on an ICD if version 6 of the interface is supported.
// This version provides the vk_icdEnumerateAdapterPhysicalDevices function.
-TEST_F(ICDInterfaceVersion2Plus, version_5) {
- auto& driver = env->get_test_icd();
+TEST(ICDInterfaceVersion2Plus, version_5) {
+ FrameworkEnvironment env{};
+ env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2));
+ auto& driver = env.get_test_icd();
driver.physical_devices.emplace_back("physical_device_1");
driver.physical_devices.emplace_back("physical_device_0");
uint32_t physical_count = static_cast<uint32_t>(driver.physical_devices.size());
@@ -120,11 +118,11 @@ TEST_F(ICDInterfaceVersion2Plus, version_5) {
driver.min_icd_interface_version = 5;
- InstWrapper inst{env->vulkan_functions};
+ InstWrapper inst{env.vulkan_functions};
inst.CheckCreate();
- ASSERT_EQ(VK_SUCCESS, env->vulkan_functions.vkEnumeratePhysicalDevices(inst.inst, &returned_physical_count,
- physical_device_handles.data()));
+ ASSERT_EQ(VK_SUCCESS,
+ env.vulkan_functions.vkEnumeratePhysicalDevices(inst.inst, &returned_physical_count, physical_device_handles.data()));
ASSERT_EQ(physical_count, returned_physical_count);
ASSERT_FALSE(driver.called_enumerate_adapter_physical_devices);
}
@@ -174,7 +172,7 @@ TEST(ICDInterfaceVersion2PlusEnumerateAdapterPhysicalDevices, version_6) {
returned_physical_count = 0;
ASSERT_EQ(VK_INCOMPLETE,
env.vulkan_functions.vkEnumeratePhysicalDevices(inst.inst, &returned_physical_count, physical_device_handles.data()));
- ASSERT_EQ(0, returned_physical_count);
+ ASSERT_EQ(0U, returned_physical_count);
for (auto& phys_dev : physical_device_handles) {
ASSERT_EQ(phys_dev, reinterpret_cast<VkPhysicalDevice>(temp_ptr.get()));
}
@@ -329,7 +327,7 @@ TEST(MultipleICDConfig, Basic) {
std::array<VkPhysicalDevice, 3> phys_devs_array;
uint32_t phys_dev_count = 3;
ASSERT_EQ(env.vulkan_functions.vkEnumeratePhysicalDevices(inst, &phys_dev_count, phys_devs_array.data()), VK_SUCCESS);
- ASSERT_EQ(phys_dev_count, 3);
+ ASSERT_EQ(phys_dev_count, 3U);
ASSERT_EQ(env.get_test_icd(0).physical_devices.at(0).properties.deviceType, VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU);
ASSERT_EQ(env.get_test_icd(1).physical_devices.at(0).properties.deviceType, VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU);
ASSERT_EQ(env.get_test_icd(2).physical_devices.at(0).properties.deviceType, VK_PHYSICAL_DEVICE_TYPE_CPU);
@@ -356,7 +354,7 @@ TEST(MultipleDriverConfig, DifferentICDInterfaceVersions) {
std::array<VkPhysicalDevice, 2> phys_devs_array;
uint32_t phys_dev_count = 2;
ASSERT_EQ(env.vulkan_functions.vkEnumeratePhysicalDevices(inst, &phys_dev_count, phys_devs_array.data()), VK_SUCCESS);
- ASSERT_EQ(phys_dev_count, 2);
+ ASSERT_EQ(phys_dev_count, 2U);
}
TEST(MultipleDriverConfig, DifferentICDsWithDevices) {
@@ -390,7 +388,7 @@ TEST(MultipleDriverConfig, DifferentICDsWithDevices) {
std::array<VkPhysicalDevice, 4> phys_devs_array;
uint32_t phys_dev_count = 4;
ASSERT_EQ(env.vulkan_functions.vkEnumeratePhysicalDevices(inst, &phys_dev_count, phys_devs_array.data()), VK_SUCCESS);
- ASSERT_EQ(phys_dev_count, 4);
+ ASSERT_EQ(phys_dev_count, 4U);
}
TEST(MultipleDriverConfig, DifferentICDsWithDevicesAndGroups) {
@@ -561,7 +559,7 @@ TEST(MinorVersionUpdate, Version1_3) {
inst.functions->vkGetInstanceProcAddr(inst, "vkGetPhysicalDeviceToolProperties"));
uint32_t tool_count = 0;
ASSERT_EQ(VK_SUCCESS, GetPhysicalDeviceToolProperties(phys_dev, &tool_count, nullptr));
- ASSERT_EQ(tool_count, 0);
+ ASSERT_EQ(tool_count, 0U);
VkPhysicalDeviceToolProperties props;
ASSERT_EQ(VK_SUCCESS, GetPhysicalDeviceToolProperties(phys_dev, &tool_count, &props));
diff --git a/tests/loader_wsi_tests.cpp b/tests/loader_wsi_tests.cpp
index 1467ce6a5..548e1351a 100644
--- a/tests/loader_wsi_tests.cpp
+++ b/tests/loader_wsi_tests.cpp
@@ -144,7 +144,7 @@ TEST(WsiTests, GetPhysicalDeviceWin32PresentNoICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, inst->vkEnumeratePhysicalDevices(inst, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceWin32PresentationSupportKHR(physical_device, 0),
"ICD for selected physical device does not export vkGetPhysicalDeviceWin32PresentationSupportKHR!");
@@ -168,7 +168,7 @@ TEST(WsiTests, GetPhysicalDeviceWin32PresentICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, inst->vkEnumeratePhysicalDevices(inst, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
ASSERT_EQ(VK_TRUE, env.vulkan_functions.vkGetPhysicalDeviceWin32PresentationSupportKHR(physical_device, 0));
}
@@ -184,7 +184,7 @@ TEST(WsiTests, Win32GetPhysicalDeviceSurfaceSupportKHR) {
cur_icd.icd_api_version = VK_API_VERSION_1_0;
cur_icd.set_min_icd_interface_version(5);
cur_icd.add_instance_extensions({first_ext, second_ext});
- std::string dev_name = "phys_dev_" + icd;
+ std::string dev_name = "phys_dev_" + std::to_string(icd);
cur_icd.physical_devices.emplace_back(dev_name.c_str());
cur_icd.physical_devices.back().add_queue_family_properties({{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true});
cur_icd.enable_icd_wsi = true;
@@ -329,7 +329,7 @@ TEST(WsiTests, GetPhysicalDeviceXcbPresentNoICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, inst->vkEnumeratePhysicalDevices(inst, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceXcbPresentationSupportKHR(physical_device, 0, nullptr, 0),
"ICD for selected physical device does not export vkGetPhysicalDeviceXcbPresentationSupportKHR!");
@@ -353,7 +353,7 @@ TEST(WsiTests, GetPhysicalDeviceXcbPresentICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, inst->vkEnumeratePhysicalDevices(inst, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
ASSERT_EQ(VK_TRUE, env.vulkan_functions.vkGetPhysicalDeviceXcbPresentationSupportKHR(physical_device, 0, nullptr, 0));
}
@@ -369,7 +369,7 @@ TEST(WsiTests, XcbGetPhysicalDeviceSurfaceSupportKHR) {
cur_icd.icd_api_version = VK_API_VERSION_1_0;
cur_icd.set_min_icd_interface_version(5);
cur_icd.add_instance_extensions({first_ext, second_ext});
- std::string dev_name = "phys_dev_" + icd;
+ std::string dev_name = "phys_dev_" + std::to_string(icd);
cur_icd.physical_devices.emplace_back(dev_name.c_str());
cur_icd.physical_devices.back().add_queue_family_properties({{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true});
cur_icd.enable_icd_wsi = true;
@@ -514,7 +514,7 @@ TEST(WsiTests, GetPhysicalDeviceXlibPresentNoICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, inst->vkEnumeratePhysicalDevices(inst, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceXlibPresentationSupportKHR(physical_device, 0, nullptr, 0),
"ICD for selected physical device does not export vkGetPhysicalDeviceXlibPresentationSupportKHR!");
@@ -538,7 +538,7 @@ TEST(WsiTests, GetPhysicalDeviceXlibPresentICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, inst->vkEnumeratePhysicalDevices(inst, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
ASSERT_EQ(VK_TRUE, env.vulkan_functions.vkGetPhysicalDeviceXlibPresentationSupportKHR(physical_device, 0, nullptr, 0));
}
@@ -554,7 +554,7 @@ TEST(WsiTests, XlibGetPhysicalDeviceSurfaceSupportKHR) {
cur_icd.icd_api_version = VK_API_VERSION_1_0;
cur_icd.set_min_icd_interface_version(5);
cur_icd.add_instance_extensions({first_ext, second_ext});
- std::string dev_name = "phys_dev_" + icd;
+ std::string dev_name = "phys_dev_" + std::to_string(icd);
cur_icd.physical_devices.emplace_back(dev_name.c_str());
cur_icd.physical_devices.back().add_queue_family_properties({{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true});
cur_icd.enable_icd_wsi = true;
@@ -699,7 +699,7 @@ TEST(WsiTests, GetPhysicalDeviceWaylandPresentNoICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, inst->vkEnumeratePhysicalDevices(inst, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
ASSERT_DEATH(env.vulkan_functions.vkGetPhysicalDeviceWaylandPresentationSupportKHR(physical_device, 0, nullptr),
"ICD for selected physical device does not export vkGetPhysicalDeviceWaylandPresentationSupportKHR!");
@@ -723,7 +723,7 @@ TEST(WsiTests, GetPhysicalDeviceWaylandPresentICDSupport) {
uint32_t driver_count = 1;
VkPhysicalDevice physical_device;
ASSERT_EQ(VK_SUCCESS, inst->vkEnumeratePhysicalDevices(inst, &driver_count, &physical_device));
- ASSERT_EQ(driver_count, 1);
+ ASSERT_EQ(driver_count, 1U);
ASSERT_EQ(VK_TRUE, env.vulkan_functions.vkGetPhysicalDeviceWaylandPresentationSupportKHR(physical_device, 0, nullptr));
}
@@ -739,7 +739,7 @@ TEST(WsiTests, WaylandGetPhysicalDeviceSurfaceSupportKHR) {
cur_icd.icd_api_version = VK_API_VERSION_1_0;
cur_icd.set_min_icd_interface_version(5);
cur_icd.add_instance_extensions({first_ext, second_ext});
- std::string dev_name = "phys_dev_" + icd;
+ std::string dev_name = "phys_dev_" + std::to_string(icd);
cur_icd.physical_devices.emplace_back(dev_name.c_str());
cur_icd.physical_devices.back().add_queue_family_properties({{VK_QUEUE_GRAPHICS_BIT, 1, 0, {1, 1, 1}}, true});
cur_icd.enable_icd_wsi = true;
@@ -768,4 +768,3 @@ TEST(WsiTests, WaylandGetPhysicalDeviceSurfaceSupportKHR) {
env.vulkan_functions.vkDestroySurfaceKHR(instance.inst, surface, nullptr);
}
#endif
-