|
|
|
|
@ -46,6 +46,7 @@ struct InstanceVkTest: TestSuite::Tester {
|
|
|
|
|
explicit InstanceVkTest(); |
|
|
|
|
|
|
|
|
|
void createInfoConstructDefault(); |
|
|
|
|
void createInfoConstructNoImplicitExtensions(); |
|
|
|
|
void createInfoApplicationInfo(); |
|
|
|
|
void createInfoLayers(); |
|
|
|
|
void createInfoExtensions(); |
|
|
|
|
@ -147,6 +148,7 @@ struct {
|
|
|
|
|
|
|
|
|
|
InstanceVkTest::InstanceVkTest() { |
|
|
|
|
addTests({&InstanceVkTest::createInfoConstructDefault, |
|
|
|
|
&InstanceVkTest::createInfoConstructNoImplicitExtensions, |
|
|
|
|
&InstanceVkTest::createInfoApplicationInfo, |
|
|
|
|
&InstanceVkTest::createInfoLayers, |
|
|
|
|
&InstanceVkTest::createInfoExtensions, |
|
|
|
|
@ -174,6 +176,21 @@ void InstanceVkTest::createInfoConstructDefault() {
|
|
|
|
|
CORRADE_VERIFY(!info->pNext); |
|
|
|
|
CORRADE_VERIFY(!info->ppEnabledLayerNames); |
|
|
|
|
CORRADE_COMPARE(info->enabledLayerCount, 0); |
|
|
|
|
/* Extensions might or might not be enabled */ |
|
|
|
|
|
|
|
|
|
CORRADE_VERIFY(info->pApplicationInfo); |
|
|
|
|
CORRADE_COMPARE(Version(info->pApplicationInfo->apiVersion), enumerateInstanceVersion()); |
|
|
|
|
CORRADE_COMPARE(info->pApplicationInfo->applicationVersion, 0); |
|
|
|
|
CORRADE_COMPARE(info->pApplicationInfo->engineVersion, 0); |
|
|
|
|
CORRADE_COMPARE(info->pApplicationInfo->pEngineName, "Magnum"_s); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void InstanceVkTest::createInfoConstructNoImplicitExtensions() { |
|
|
|
|
InstanceCreateInfo info{InstanceCreateInfo::Flag::NoImplicitExtensions}; |
|
|
|
|
CORRADE_VERIFY(info->sType); |
|
|
|
|
CORRADE_VERIFY(!info->pNext); |
|
|
|
|
CORRADE_VERIFY(!info->ppEnabledLayerNames); |
|
|
|
|
CORRADE_COMPARE(info->enabledLayerCount, 0); |
|
|
|
|
CORRADE_VERIFY(!info->ppEnabledExtensionNames); |
|
|
|
|
CORRADE_COMPARE(info->enabledExtensionCount, 0); |
|
|
|
|
|
|
|
|
|
@ -231,7 +248,7 @@ void InstanceVkTest::createInfoLayers() {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void InstanceVkTest::createInfoExtensions() { |
|
|
|
|
InstanceCreateInfo info; |
|
|
|
|
InstanceCreateInfo info{InstanceCreateInfo::Flag::NoImplicitExtensions}; |
|
|
|
|
CORRADE_VERIFY(!info->ppEnabledExtensionNames); |
|
|
|
|
CORRADE_COMPARE(info->enabledExtensionCount, 0); |
|
|
|
|
|
|
|
|
|
@ -259,7 +276,7 @@ void InstanceVkTest::createInfoCopiedStrings() {
|
|
|
|
|
Containers::StringView globalButNotNullTerminated = "VK_LAYER_KHRONOS_validation3"_s.except(1); |
|
|
|
|
Containers::String localButNullTerminated = Extensions::KHR::external_memory_capabilities::string(); |
|
|
|
|
|
|
|
|
|
InstanceCreateInfo info; |
|
|
|
|
InstanceCreateInfo info{InstanceCreateInfo::Flag::NoImplicitExtensions}; |
|
|
|
|
info.setApplicationInfo(localButNullTerminated, {}) |
|
|
|
|
.addEnabledLayers({globalButNotNullTerminated}) |
|
|
|
|
.addEnabledExtensions({localButNullTerminated}); |
|
|
|
|
@ -332,7 +349,8 @@ void InstanceVkTest::constructCommandLineDisable() {
|
|
|
|
|
std::ostringstream out; |
|
|
|
|
Warning redirectWarning{&out}; |
|
|
|
|
Debug redirectOutput{&out}; |
|
|
|
|
Instance instance{InstanceCreateInfo{Int(data.argsDisable.size()), data.argsDisable} |
|
|
|
|
Instance instance{InstanceCreateInfo{Int(data.argsDisable.size()), data.argsDisable, |
|
|
|
|
InstanceCreateInfo::Flag::NoImplicitExtensions} |
|
|
|
|
.setApplicationInfo("InstanceVkTest", version(0, 0, 1)) |
|
|
|
|
.addEnabledLayers({"VK_LAYER_KHRONOS_validation"_s}) |
|
|
|
|
.addEnabledExtensions<Extensions::EXT::debug_report, |
|
|
|
|
@ -366,7 +384,8 @@ void InstanceVkTest::constructCommandLineEnable() {
|
|
|
|
|
std::ostringstream out; |
|
|
|
|
Warning redirectWarning{&out}; |
|
|
|
|
Debug redirectOutput{&out}; |
|
|
|
|
Instance instance{InstanceCreateInfo{Int(data.argsEnable.size()), data.argsEnable} |
|
|
|
|
Instance instance{InstanceCreateInfo{Int(data.argsEnable.size()), data.argsEnable, |
|
|
|
|
InstanceCreateInfo::Flag::NoImplicitExtensions} |
|
|
|
|
/* Nothing enabled by the application */ |
|
|
|
|
}; |
|
|
|
|
CORRADE_VERIFY(instance.handle()); |
|
|
|
|
|