From 4b499049f09762bd7692842c1ca7631c09cf4fe2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 13 Sep 2020 19:54:33 +0200 Subject: [PATCH] Vk: use the new VulkanTester in Device tests. It's there only to create the instance right now. Not using it to test instance-level functionality right now as we'd be only working around it anyway. --- src/Magnum/Vk/Test/CMakeLists.txt | 4 +- src/Magnum/Vk/Test/DevicePropertiesVkTest.cpp | 52 +++++++-------- src/Magnum/Vk/Test/DeviceVkTest.cpp | 66 +++++++++---------- 3 files changed, 59 insertions(+), 63 deletions(-) diff --git a/src/Magnum/Vk/Test/CMakeLists.txt b/src/Magnum/Vk/Test/CMakeLists.txt index 15190d00f..d39b1c124 100644 --- a/src/Magnum/Vk/Test/CMakeLists.txt +++ b/src/Magnum/Vk/Test/CMakeLists.txt @@ -37,8 +37,8 @@ corrade_add_test(VkResultTest ResultTest.cpp LIBRARIES MagnumVk) corrade_add_test(VkVersionTest VersionTest.cpp LIBRARIES MagnumVk) if(BUILD_VK_TESTS) - corrade_add_test(VkDeviceVkTest DeviceVkTest.cpp LIBRARIES MagnumVkTestLib) - corrade_add_test(VkDevicePropertiesVkTest DevicePropertiesVkTest.cpp LIBRARIES MagnumVkTestLib) + corrade_add_test(VkDeviceVkTest DeviceVkTest.cpp LIBRARIES MagnumVkTestLib MagnumVulkanTester) + corrade_add_test(VkDevicePropertiesVkTest DevicePropertiesVkTest.cpp LIBRARIES MagnumVkTestLib MagnumVulkanTester) corrade_add_test(VkExtensionPropertiesVkTest ExtensionPropertiesVkTest.cpp LIBRARIES MagnumVkTestLib) corrade_add_test(VkLayerPropertiesVkTest LayerPropertiesVkTest.cpp LIBRARIES MagnumVkTestLib) corrade_add_test(VkInstanceVkTest InstanceVkTest.cpp LIBRARIES MagnumVk) diff --git a/src/Magnum/Vk/Test/DevicePropertiesVkTest.cpp b/src/Magnum/Vk/Test/DevicePropertiesVkTest.cpp index 339622c7b..76f230d28 100644 --- a/src/Magnum/Vk/Test/DevicePropertiesVkTest.cpp +++ b/src/Magnum/Vk/Test/DevicePropertiesVkTest.cpp @@ -28,7 +28,6 @@ #include #include #include -#include #include #include #include @@ -40,10 +39,11 @@ #include "Magnum/Vk/LayerProperties.h" #include "Magnum/Vk/Result.h" #include "Magnum/Vk/Version.h" +#include "Magnum/Vk/VulkanTester.h" namespace Magnum { namespace Vk { namespace Test { namespace { -struct DevicePropertiesVkTest: TestSuite::Tester { +struct DevicePropertiesVkTest: VulkanTester { explicit DevicePropertiesVkTest(); void enumerate(); @@ -69,8 +69,6 @@ struct DevicePropertiesVkTest: TestSuite::Tester { void pickDeviceIndex(); void pickDeviceType(); void pickDeviceError(); - - Instance _instance; }; const struct { @@ -86,7 +84,7 @@ const struct { "Vk::tryPickDevice(): unknown Vulkan device type FAST\n"} }; -DevicePropertiesVkTest::DevicePropertiesVkTest(): _instance{InstanceCreateInfo{arguments().first, arguments().second}} { +DevicePropertiesVkTest::DevicePropertiesVkTest(): VulkanTester{NoCreate} { addTests({&DevicePropertiesVkTest::enumerate, &DevicePropertiesVkTest::constructMove, &DevicePropertiesVkTest::wrap, @@ -113,7 +111,7 @@ DevicePropertiesVkTest::DevicePropertiesVkTest(): _instance{InstanceCreateInfo{a } void DevicePropertiesVkTest::enumerate() { - Containers::Array devices = enumerateDevices(_instance); + Containers::Array devices = enumerateDevices(instance()); Debug{} << "Found" << devices.size() << "devices"; CORRADE_VERIFY(!devices.empty()); @@ -131,7 +129,7 @@ void DevicePropertiesVkTest::enumerate() { } void DevicePropertiesVkTest::constructMove() { - Containers::Array devices = enumerateDevices(_instance); + Containers::Array devices = enumerateDevices(instance()); CORRADE_VERIFY(!devices.empty()); VkPhysicalDevice handle = devices[0].handle(); Containers::StringView name = devices[0].name(); @@ -140,7 +138,7 @@ void DevicePropertiesVkTest::constructMove() { CORRADE_COMPARE(a.handle(), handle); CORRADE_COMPARE(a.name(), name); - DeviceProperties b = DeviceProperties::wrap(_instance, nullptr); + DeviceProperties b = DeviceProperties::wrap(instance(), nullptr); b = std::move(a); CORRADE_COMPARE(b.handle(), handle); CORRADE_COMPARE(b.name(), name); @@ -152,22 +150,22 @@ void DevicePropertiesVkTest::constructMove() { void DevicePropertiesVkTest::wrap() { VkPhysicalDevice handle; UnsignedInt count = 1; - auto result = Result(_instance->EnumeratePhysicalDevices(_instance, &count, &handle)); + auto result = Result(instance()->EnumeratePhysicalDevices(instance(), &count, &handle)); { /** @todo clean up once Compare::AnyOf exists */ CORRADE_ITERATION(result); CORRADE_VERIFY(result == Result::Success || result == Result::Incomplete); } - DeviceProperties wrapped = DeviceProperties::wrap(_instance, handle); + DeviceProperties wrapped = DeviceProperties::wrap(instance(), handle); CORRADE_VERIFY(wrapped.handle()); - Containers::Array devices = enumerateDevices(_instance); + Containers::Array devices = enumerateDevices(instance()); CORRADE_COMPARE(wrapped.name(), devices[0].name()); } void DevicePropertiesVkTest::enumerateExtensions() { - Containers::Array devices = enumerateDevices(_instance); + Containers::Array devices = enumerateDevices(instance()); CORRADE_VERIFY(!devices.empty()); ExtensionProperties properties = devices[0].enumerateExtensionProperties(); @@ -188,7 +186,7 @@ void DevicePropertiesVkTest::enumerateExtensionsWithKhronosValidationLayer() { if(!enumerateLayerProperties().isSupported("VK_LAYER_KHRONOS_validation")) CORRADE_SKIP("VK_LAYER_KHRONOS_validation not supported, can't test"); - Containers::Array devices = enumerateDevices(_instance); + Containers::Array devices = enumerateDevices(instance()); CORRADE_VERIFY(!devices.empty()); /* There should be more extensions with this layer enabled */ @@ -213,7 +211,7 @@ void DevicePropertiesVkTest::enumerateExtensionsNonexistentLayer() { } void DevicePropertiesVkTest::extensionConstructMove() { - Containers::Array devices = enumerateDevices(_instance); + Containers::Array devices = enumerateDevices(instance()); CORRADE_VERIFY(!devices.empty()); ExtensionProperties a = devices[0].enumerateExtensionProperties(); @@ -232,7 +230,7 @@ void DevicePropertiesVkTest::extensionConstructMove() { } void DevicePropertiesVkTest::extensionIsSupported() { - Containers::Array devices = enumerateDevices(_instance); + Containers::Array devices = enumerateDevices(instance()); CORRADE_VERIFY(!devices.empty()); ExtensionProperties properties = devices[0].enumerateExtensionProperties(); @@ -247,7 +245,7 @@ void DevicePropertiesVkTest::extensionIsSupported() { } void DevicePropertiesVkTest::extensionNamedRevision() { - Containers::Array devices = enumerateDevices(_instance); + Containers::Array devices = enumerateDevices(instance()); CORRADE_VERIFY(!devices.empty()); ExtensionProperties properties = devices[0].enumerateExtensionProperties(); @@ -265,7 +263,7 @@ void DevicePropertiesVkTest::extensionNamedRevision() { } void DevicePropertiesVkTest::queueFamilies() { - Containers::Array devices = enumerateDevices(_instance); + Containers::Array devices = enumerateDevices(instance()); CORRADE_VERIFY(!devices.empty()); Debug{} << "Available queue family count:" << devices[0].queueFamilyCount(); @@ -287,7 +285,7 @@ void DevicePropertiesVkTest::queueFamilies() { } void DevicePropertiesVkTest::queueFamiliesOutOfRange() { - Containers::Array devices = enumerateDevices(_instance); + Containers::Array devices = enumerateDevices(instance()); CORRADE_VERIFY(!devices.empty()); const UnsignedInt count = devices[0].queueFamilyCount(); @@ -302,7 +300,7 @@ void DevicePropertiesVkTest::queueFamiliesOutOfRange() { } void DevicePropertiesVkTest::queueFamiliesPick() { - Containers::Array devices = enumerateDevices(_instance); + Containers::Array devices = enumerateDevices(instance()); CORRADE_VERIFY(!devices.empty()); Containers::Optional id = devices[0].tryPickQueueFamily(QueueFlag::Compute|QueueFlag::Graphics); @@ -317,7 +315,7 @@ void DevicePropertiesVkTest::queueFamiliesPick() { } void DevicePropertiesVkTest::queueFamiliesPickFailed() { - Containers::Array devices = enumerateDevices(_instance); + Containers::Array devices = enumerateDevices(instance()); CORRADE_VERIFY(!devices.empty()); std::ostringstream out; @@ -329,12 +327,12 @@ void DevicePropertiesVkTest::queueFamiliesPickFailed() { void DevicePropertiesVkTest::pickDevice() { /* Default behavior */ - Containers::Optional device = tryPickDevice(_instance); + Containers::Optional device = tryPickDevice(instance()); CORRADE_VERIFY(device); } void DevicePropertiesVkTest::pickDeviceIndex() { - Containers::Array devices = enumerateDevices(_instance); + Containers::Array devices = enumerateDevices(instance()); CORRADE_VERIFY(!devices.empty()); /* Pick the last one */ @@ -353,9 +351,9 @@ void DevicePropertiesVkTest::pickDeviceType() { const char* argv[] {"", "--magnum-device", "cpu"}; /* Creating a dedicated instance so we can pass custom args */ - Instance instance{InstanceCreateInfo{Int(Containers::arraySize(argv)), argv}}; + Instance instance2{InstanceCreateInfo{Int(Containers::arraySize(argv)), argv}}; - Containers::Optional device = tryPickDevice(instance); + Containers::Optional device = tryPickDevice(instance2); if(!device) CORRADE_SKIP("No CPU device found."); CORRADE_VERIFY(device->type() == DeviceType::Cpu); @@ -366,12 +364,12 @@ void DevicePropertiesVkTest::pickDeviceError() { setTestCaseDescription(data.name); /* Creating a dedicated instance so we can pass custom args */ - Instance instance{InstanceCreateInfo{Int(data.args.size()), const_cast(data.args.data())}}; + Instance instance2{InstanceCreateInfo{Int(data.args.size()), const_cast(data.args.data())}}; std::ostringstream out; Error redirectError{&out}; - CORRADE_VERIFY(!tryPickDevice(instance)); - CORRADE_COMPARE(out.str(), Utility::formatString(data.message, enumerateDevices(_instance).size())); + CORRADE_VERIFY(!tryPickDevice(instance2)); + CORRADE_COMPARE(out.str(), Utility::formatString(data.message, enumerateDevices(instance2).size())); } }}}} diff --git a/src/Magnum/Vk/Test/DeviceVkTest.cpp b/src/Magnum/Vk/Test/DeviceVkTest.cpp index 3656f447a..fb3f5846f 100644 --- a/src/Magnum/Vk/Test/DeviceVkTest.cpp +++ b/src/Magnum/Vk/Test/DeviceVkTest.cpp @@ -25,7 +25,6 @@ #include #include -#include #include #include #include @@ -40,12 +39,13 @@ #include "Magnum/Vk/Queue.h" #include "Magnum/Vk/Result.h" #include "Magnum/Vk/Version.h" +#include "Magnum/Vk/VulkanTester.h" #include "MagnumExternal/Vulkan/flextVkGlobal.h" namespace Magnum { namespace Vk { namespace Test { namespace { -struct DeviceVkTest: TestSuite::Tester { +struct DeviceVkTest: VulkanTester { explicit DeviceVkTest(); void createInfoConstruct(); @@ -67,8 +67,6 @@ struct DeviceVkTest: TestSuite::Tester { void constructNoQueue(); void wrap(); void populateGlobalFunctionPointers(); - - Instance _instance; }; struct { @@ -122,7 +120,7 @@ struct { "Device version: Vulkan {}.{}{}\n"}, }; -DeviceVkTest::DeviceVkTest(): _instance{InstanceCreateInfo{arguments().first, arguments().second}} { +DeviceVkTest::DeviceVkTest(): VulkanTester{NoCreate} { addTests({&DeviceVkTest::createInfoConstruct, &DeviceVkTest::createInfoConstructImplicitDevice, &DeviceVkTest::createInfoConstructNoImplicitExtensions, @@ -152,21 +150,21 @@ DeviceVkTest::DeviceVkTest(): _instance{InstanceCreateInfo{arguments().first, ar using namespace Containers::Literals; void DeviceVkTest::createInfoConstruct() { - DeviceCreateInfo info{pickDevice(_instance)}; + DeviceCreateInfo info{pickDevice(instance())}; CORRADE_VERIFY(info->sType); CORRADE_VERIFY(!info->pNext); /* Extensions might or might not be enabled */ } void DeviceVkTest::createInfoConstructImplicitDevice() { - DeviceCreateInfo info{_instance}; + DeviceCreateInfo info{instance()}; CORRADE_VERIFY(info->sType); CORRADE_VERIFY(!info->pNext); /* Extensions might or might not be enabled */ } void DeviceVkTest::createInfoConstructNoImplicitExtensions() { - DeviceCreateInfo info{_instance, DeviceCreateInfo::Flag::NoImplicitExtensions}; + DeviceCreateInfo info{instance(), DeviceCreateInfo::Flag::NoImplicitExtensions}; CORRADE_VERIFY(info->sType); CORRADE_VERIFY(!info->pNext); /* No extensions enabled as we explicitly disabled that */ @@ -178,7 +176,7 @@ void DeviceVkTest::createInfoExtensions() { if(std::getenv("MAGNUM_DISABLE_EXTENSIONS")) CORRADE_SKIP("Can't test with the MAGNUM_DISABLE_EXTENSIONS environment variable set"); - DeviceCreateInfo info{_instance, DeviceCreateInfo::Flag::NoImplicitExtensions}; + DeviceCreateInfo info{instance(), DeviceCreateInfo::Flag::NoImplicitExtensions}; CORRADE_VERIFY(!info->ppEnabledExtensionNames); CORRADE_COMPARE(info->enabledExtensionCount, 0); @@ -207,7 +205,7 @@ void DeviceVkTest::createInfoCopiedStrings() { Containers::StringView globalButNotNullTerminated = "VK_KHR_maintenance25"_s.except(1); Containers::String localButNullTerminated = Extensions::KHR::draw_indirect_count::string(); - DeviceCreateInfo info{_instance, DeviceCreateInfo::Flag::NoImplicitExtensions}; + DeviceCreateInfo info{instance(), DeviceCreateInfo::Flag::NoImplicitExtensions}; info.addEnabledExtensions({ globalButNotNullTerminated, localButNullTerminated @@ -228,7 +226,7 @@ void DeviceVkTest::createInfoNoQueuePriorities() { std::ostringstream out; Error redirectError{&out}; - DeviceCreateInfo{_instance}.addQueues(0, {}, {}); + DeviceCreateInfo{instance()}.addQueues(0, {}, {}); CORRADE_COMPARE(out.str(), "Vk::DeviceCreateInfo::addQueues(): at least one queue priority has to be specified\n"); } @@ -240,7 +238,7 @@ void DeviceVkTest::createInfoWrongQueueOutputCount() { std::ostringstream out; Error redirectError{&out}; Queue a{NoCreate}, b{NoCreate}; - DeviceCreateInfo{_instance}.addQueues(0, {0.0f, 1.0f, 0.3f}, {a, b}); + DeviceCreateInfo{instance()}.addQueues(0, {0.0f, 1.0f, 0.3f}, {a, b}); CORRADE_COMPARE(out.str(), "Vk::DeviceCreateInfo::addQueues(): expected 3 outuput queue references but got 2\n"); } @@ -249,9 +247,9 @@ void DeviceVkTest::construct() { CORRADE_SKIP("Can't test with the MAGNUM_VULKAN_VERSION environment variable set"); { - DeviceProperties deviceProperties = pickDevice(_instance); + DeviceProperties deviceProperties = pickDevice(instance()); Queue queue{NoCreate}; - Device device{_instance, DeviceCreateInfo{deviceProperties} + Device device{instance(), DeviceCreateInfo{deviceProperties} .addQueues(0, {0.0f}, {queue}) }; CORRADE_VERIFY(device.handle()); @@ -330,13 +328,13 @@ void DeviceVkTest::constructExtensionsCommandLineDisable() { /* Creating a dedicated instance so we can pass custom args and enable layers independently */ - Instance instance{InstanceCreateInfo{Int(data.argsDisable.size()), data.argsDisable} + Instance instance2{InstanceCreateInfo{Int(data.argsDisable.size()), data.argsDisable} .addEnabledLayers({"VK_LAYER_KHRONOS_validation"}) /* Needed by VK_EXT_debug_marker */ .addEnabledExtensions() }; - DeviceProperties deviceProperties = pickDevice(instance); + DeviceProperties deviceProperties = pickDevice(instance2); ExtensionProperties extensions = deviceProperties.enumerateExtensionProperties({"VK_LAYER_KHRONOS_validation"}); if(!extensions.isSupported()) CORRADE_SKIP("VK_EXT_debug_marker not supported, can't test"); @@ -346,7 +344,7 @@ void DeviceVkTest::constructExtensionsCommandLineDisable() { std::ostringstream out; Debug redirectOutput{&out}; Queue queue{NoCreate}; - Device device{instance, DeviceCreateInfo{deviceProperties, DeviceCreateInfo::Flag::NoImplicitExtensions} + Device device{instance2, DeviceCreateInfo{deviceProperties, DeviceCreateInfo::Flag::NoImplicitExtensions} .addQueues(0, {0.0f}, {queue}) .addEnabledExtensions< Extensions::EXT::debug_marker, @@ -386,13 +384,13 @@ void DeviceVkTest::constructExtensionsCommandLineEnable() { /* Creating a dedicated instance so we can pass custom args and enable layers independently */ - Instance instance{InstanceCreateInfo{Int(data.argsEnable.size()), data.argsEnable} + Instance instance2{InstanceCreateInfo{Int(data.argsEnable.size()), data.argsEnable} .addEnabledLayers({"VK_LAYER_KHRONOS_validation"}) /* Needed by VK_EXT_debug_marker */ .addEnabledExtensions() }; - DeviceProperties deviceProperties = pickDevice(instance); + DeviceProperties deviceProperties = pickDevice(instance2); ExtensionProperties extensions = deviceProperties.enumerateExtensionProperties({"VK_LAYER_KHRONOS_validation"}); if(!extensions.isSupported()) CORRADE_SKIP("VK_EXT_debug_marker not supported, can't test"); @@ -402,7 +400,7 @@ void DeviceVkTest::constructExtensionsCommandLineEnable() { std::ostringstream out; Debug redirectOutput{&out}; Queue queue{NoCreate}; - Device device{instance, DeviceCreateInfo{instance, DeviceCreateInfo::Flag::NoImplicitExtensions} + Device device{instance2, DeviceCreateInfo{instance2, DeviceCreateInfo::Flag::NoImplicitExtensions} .addQueues(0, {0.0f}, {queue}) /* Nothing enabled by the application */ }; @@ -427,7 +425,7 @@ void DeviceVkTest::constructExtensionsCommandLineEnable() { void DeviceVkTest::constructMultipleQueues() { /* Find a GPU that has at least two queue families and at least four queues in one family */ - Containers::Array deviceProperties = enumerateDevices(_instance); + Containers::Array deviceProperties = enumerateDevices(instance()); DeviceProperties* deviceWithMultipleQueues = nullptr; UnsignedInt largeFamily = ~UnsignedInt{}; @@ -456,7 +454,7 @@ void DeviceVkTest::constructMultipleQueues() { rawQueueInfo.queueCount = 1; Queue a{NoCreate}, b{NoCreate}, c{NoCreate}; - Device device{_instance, DeviceCreateInfo{*deviceWithMultipleQueues} + Device device{instance(), DeviceCreateInfo{*deviceWithMultipleQueues} /* Request a raw queue in the middle of it all to test we skip it when populating the outputs, and correctly offset the next IDs. According to the spec we can request each family only once, which makes the @@ -497,7 +495,7 @@ void DeviceVkTest::constructRawQueue() { rawQueueInfo.pQueuePriorities = &zero; rawQueueInfo.queueFamilyIndex = 0; rawQueueInfo.queueCount = 1; - Device device{_instance, DeviceCreateInfo{_instance} + Device device{instance(), DeviceCreateInfo{instance()} .addQueues(rawQueueInfo)}; /* Fetch the raw queue */ @@ -507,13 +505,13 @@ void DeviceVkTest::constructRawQueue() { } void DeviceVkTest::constructMove() { - DeviceProperties deviceProperties = pickDevice(_instance); + DeviceProperties deviceProperties = pickDevice(instance()); ExtensionProperties extensions = deviceProperties.enumerateExtensionProperties(); if(!extensions.isSupported()) CORRADE_SKIP("VK_KHR_maintenance1 not supported, can't test"); Queue queue{NoCreate}; - Device a{_instance, DeviceCreateInfo{deviceProperties} + Device a{instance(), DeviceCreateInfo{deviceProperties} .addQueues(0, {0.0f}, {queue}) .addEnabledExtensions() }; @@ -555,7 +553,7 @@ void DeviceVkTest::constructUnknownExtension() { std::ostringstream out; Error redirectError{&out}; Queue queue{NoCreate}; - Device device{_instance, DeviceCreateInfo{_instance} + Device device{instance(), DeviceCreateInfo{instance()} .addQueues(0, {0.0f}, {queue}) .addEnabledExtensions({"VK_this_doesnt_exist"_s})}; CORRADE_COMPARE(out.str(), "TODO"); @@ -568,7 +566,7 @@ void DeviceVkTest::constructNoQueue() { std::ostringstream out; Error redirectError{&out}; - Device device{_instance, DeviceCreateInfo{_instance}}; + Device device{instance(), DeviceCreateInfo{instance()}}; CORRADE_COMPARE(out.str(), "Vk::Device: needs to be created with at least one queue\n"); } @@ -584,13 +582,13 @@ void DeviceVkTest::wrap() { CORRADE_SKIP("VK_LAYER_KHRONOS_validation not supported, can't test"); /* Creating a dedicated instance so we can enable layers independently */ - Instance instance{InstanceCreateInfo{} + Instance instance2{InstanceCreateInfo{} .addEnabledLayers({"VK_LAYER_KHRONOS_validation"}) /* Needed by VK_EXT_debug_marker */ .addEnabledExtensions() }; - DeviceProperties deviceProperties = pickDevice(instance); + DeviceProperties deviceProperties = pickDevice(instance2); ExtensionProperties extensions = deviceProperties.enumerateExtensionProperties({"VK_LAYER_KHRONOS_validation"}); if(!extensions.isSupported()) CORRADE_SKIP("VK_EXT_debug_marker not supported, can't test"); @@ -599,8 +597,8 @@ void DeviceVkTest::wrap() { VkDevice device; Queue queue{NoCreate}; - CORRADE_COMPARE(Result(instance->CreateDevice(deviceProperties, - DeviceCreateInfo{instance} + CORRADE_COMPARE(Result(instance2->CreateDevice(deviceProperties, + DeviceCreateInfo{instance2} .addQueues(0, {0.0f}, {queue}) .addEnabledExtensions< Extensions::EXT::debug_marker, @@ -614,7 +612,7 @@ void DeviceVkTest::wrap() { { /* Wrapping should load the basic function pointers */ - auto wrapped = Device::wrap(instance, device, Version::Vk11, { + auto wrapped = Device::wrap(instance2, device, Version::Vk11, { Extensions::EXT::debug_marker::string() }, HandleFlag::DestroyOnDestruction); CORRADE_VERIFY(wrapped->DestroyDevice); @@ -639,7 +637,7 @@ void DeviceVkTest::wrap() { } /* ...so we can wrap it again, non-owned, and then destroy it manually */ - auto wrapped = Device::wrap(instance, device, Version::Vk10, {}); + auto wrapped = Device::wrap(instance2, device, Version::Vk10, {}); CORRADE_VERIFY(wrapped->DestroyDevice); wrapped->DestroyDevice(device, nullptr); } @@ -648,7 +646,7 @@ void DeviceVkTest::populateGlobalFunctionPointers() { vkDestroyDevice = nullptr; Queue queue{NoCreate}; - Device device{_instance, DeviceCreateInfo{_instance} + Device device{instance(), DeviceCreateInfo{instance()} .addQueues(0, {0.0f}, {queue}) }; CORRADE_VERIFY(!vkDestroyDevice);