Browse Source

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.
pull/234/head
Vladimír Vondruš 6 years ago
parent
commit
4b499049f0
  1. 4
      src/Magnum/Vk/Test/CMakeLists.txt
  2. 52
      src/Magnum/Vk/Test/DevicePropertiesVkTest.cpp
  3. 66
      src/Magnum/Vk/Test/DeviceVkTest.cpp

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

52
src/Magnum/Vk/Test/DevicePropertiesVkTest.cpp

@ -28,7 +28,6 @@
#include <Corrade/Containers/Optional.h>
#include <Corrade/Containers/StringStl.h>
#include <Corrade/Containers/StringView.h>
#include <Corrade/TestSuite/Tester.h>
#include <Corrade/TestSuite/Compare/Numeric.h>
#include <Corrade/Utility/DebugStl.h>
#include <Corrade/Utility/FormatStl.h>
@ -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<DeviceProperties> devices = enumerateDevices(_instance);
Containers::Array<DeviceProperties> devices = enumerateDevices(instance());
Debug{} << "Found" << devices.size() << "devices";
CORRADE_VERIFY(!devices.empty());
@ -131,7 +129,7 @@ void DevicePropertiesVkTest::enumerate() {
}
void DevicePropertiesVkTest::constructMove() {
Containers::Array<DeviceProperties> devices = enumerateDevices(_instance);
Containers::Array<DeviceProperties> 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<DeviceProperties> devices = enumerateDevices(_instance);
Containers::Array<DeviceProperties> devices = enumerateDevices(instance());
CORRADE_COMPARE(wrapped.name(), devices[0].name());
}
void DevicePropertiesVkTest::enumerateExtensions() {
Containers::Array<DeviceProperties> devices = enumerateDevices(_instance);
Containers::Array<DeviceProperties> 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<DeviceProperties> devices = enumerateDevices(_instance);
Containers::Array<DeviceProperties> 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<DeviceProperties> devices = enumerateDevices(_instance);
Containers::Array<DeviceProperties> devices = enumerateDevices(instance());
CORRADE_VERIFY(!devices.empty());
ExtensionProperties a = devices[0].enumerateExtensionProperties();
@ -232,7 +230,7 @@ void DevicePropertiesVkTest::extensionConstructMove() {
}
void DevicePropertiesVkTest::extensionIsSupported() {
Containers::Array<DeviceProperties> devices = enumerateDevices(_instance);
Containers::Array<DeviceProperties> devices = enumerateDevices(instance());
CORRADE_VERIFY(!devices.empty());
ExtensionProperties properties = devices[0].enumerateExtensionProperties();
@ -247,7 +245,7 @@ void DevicePropertiesVkTest::extensionIsSupported() {
}
void DevicePropertiesVkTest::extensionNamedRevision() {
Containers::Array<DeviceProperties> devices = enumerateDevices(_instance);
Containers::Array<DeviceProperties> devices = enumerateDevices(instance());
CORRADE_VERIFY(!devices.empty());
ExtensionProperties properties = devices[0].enumerateExtensionProperties();
@ -265,7 +263,7 @@ void DevicePropertiesVkTest::extensionNamedRevision() {
}
void DevicePropertiesVkTest::queueFamilies() {
Containers::Array<DeviceProperties> devices = enumerateDevices(_instance);
Containers::Array<DeviceProperties> 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<DeviceProperties> devices = enumerateDevices(_instance);
Containers::Array<DeviceProperties> 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<DeviceProperties> devices = enumerateDevices(_instance);
Containers::Array<DeviceProperties> devices = enumerateDevices(instance());
CORRADE_VERIFY(!devices.empty());
Containers::Optional<UnsignedInt> id = devices[0].tryPickQueueFamily(QueueFlag::Compute|QueueFlag::Graphics);
@ -317,7 +315,7 @@ void DevicePropertiesVkTest::queueFamiliesPick() {
}
void DevicePropertiesVkTest::queueFamiliesPickFailed() {
Containers::Array<DeviceProperties> devices = enumerateDevices(_instance);
Containers::Array<DeviceProperties> devices = enumerateDevices(instance());
CORRADE_VERIFY(!devices.empty());
std::ostringstream out;
@ -329,12 +327,12 @@ void DevicePropertiesVkTest::queueFamiliesPickFailed() {
void DevicePropertiesVkTest::pickDevice() {
/* Default behavior */
Containers::Optional<DeviceProperties> device = tryPickDevice(_instance);
Containers::Optional<DeviceProperties> device = tryPickDevice(instance());
CORRADE_VERIFY(device);
}
void DevicePropertiesVkTest::pickDeviceIndex() {
Containers::Array<DeviceProperties> devices = enumerateDevices(_instance);
Containers::Array<DeviceProperties> 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<DeviceProperties> device = tryPickDevice(instance);
Containers::Optional<DeviceProperties> 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<const char**>(data.args.data())}};
Instance instance2{InstanceCreateInfo{Int(data.args.size()), const_cast<const char**>(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()));
}
}}}}

66
src/Magnum/Vk/Test/DeviceVkTest.cpp

@ -25,7 +25,6 @@
#include <sstream>
#include <Corrade/Containers/StringStl.h>
#include <Corrade/TestSuite/Tester.h>
#include <Corrade/TestSuite/Compare/Numeric.h>
#include <Corrade/Utility/DebugStl.h>
#include <Corrade/Utility/FormatStl.h>
@ -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<Extensions::EXT::debug_report>()
};
DeviceProperties deviceProperties = pickDevice(instance);
DeviceProperties deviceProperties = pickDevice(instance2);
ExtensionProperties extensions = deviceProperties.enumerateExtensionProperties({"VK_LAYER_KHRONOS_validation"});
if(!extensions.isSupported<Extensions::EXT::debug_marker>())
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<Extensions::EXT::debug_report>()
};
DeviceProperties deviceProperties = pickDevice(instance);
DeviceProperties deviceProperties = pickDevice(instance2);
ExtensionProperties extensions = deviceProperties.enumerateExtensionProperties({"VK_LAYER_KHRONOS_validation"});
if(!extensions.isSupported<Extensions::EXT::debug_marker>())
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> deviceProperties = enumerateDevices(_instance);
Containers::Array<DeviceProperties> 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<Extensions::KHR::maintenance1>())
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<Extensions::KHR::maintenance1>()
};
@ -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<Extensions::EXT::debug_report>()
};
DeviceProperties deviceProperties = pickDevice(instance);
DeviceProperties deviceProperties = pickDevice(instance2);
ExtensionProperties extensions = deviceProperties.enumerateExtensionProperties({"VK_LAYER_KHRONOS_validation"});
if(!extensions.isSupported<Extensions::EXT::debug_marker>())
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);

Loading…
Cancel
Save