|
|
|
|
@ -171,6 +171,9 @@ InstanceVkTest::InstanceVkTest() {
|
|
|
|
|
using namespace Containers::Literals; |
|
|
|
|
|
|
|
|
|
void InstanceVkTest::createInfoConstructDefault() { |
|
|
|
|
if(std::getenv("MAGNUM_VULKAN_VERSION")) |
|
|
|
|
CORRADE_SKIP("Can't test with the MAGNUM_VULKAN_VERSION environment variable set"); |
|
|
|
|
|
|
|
|
|
InstanceCreateInfo info; |
|
|
|
|
CORRADE_VERIFY(info->sType); |
|
|
|
|
CORRADE_VERIFY(!info->pNext); |
|
|
|
|
@ -186,6 +189,9 @@ void InstanceVkTest::createInfoConstructDefault() {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void InstanceVkTest::createInfoConstructNoImplicitExtensions() { |
|
|
|
|
if(std::getenv("MAGNUM_VULKAN_VERSION")) |
|
|
|
|
CORRADE_SKIP("Can't test with the MAGNUM_VULKAN_VERSION environment variable set"); |
|
|
|
|
|
|
|
|
|
InstanceCreateInfo info{InstanceCreateInfo::Flag::NoImplicitExtensions}; |
|
|
|
|
CORRADE_VERIFY(info->sType); |
|
|
|
|
CORRADE_VERIFY(!info->pNext); |
|
|
|
|
@ -248,6 +254,9 @@ void InstanceVkTest::createInfoLayers() {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void InstanceVkTest::createInfoExtensions() { |
|
|
|
|
if(std::getenv("MAGNUM_DISABLE_EXTENSIONS")) |
|
|
|
|
CORRADE_SKIP("Can't test with the MAGNUM_DISABLE_EXTENSIONS environment variable set"); |
|
|
|
|
|
|
|
|
|
InstanceCreateInfo info{InstanceCreateInfo::Flag::NoImplicitExtensions}; |
|
|
|
|
CORRADE_VERIFY(!info->ppEnabledExtensionNames); |
|
|
|
|
CORRADE_COMPARE(info->enabledExtensionCount, 0); |
|
|
|
|
@ -294,6 +303,9 @@ void InstanceVkTest::createInfoCopiedStrings() {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void InstanceVkTest::construct() { |
|
|
|
|
if(std::getenv("MAGNUM_VULKAN_VERSION")) |
|
|
|
|
CORRADE_SKIP("Can't test with the MAGNUM_VULKAN_VERSION environment variable set"); |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
Instance instance; |
|
|
|
|
CORRADE_VERIFY(instance.handle()); |
|
|
|
|
@ -315,6 +327,9 @@ void InstanceVkTest::construct() {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void InstanceVkTest::constructLayerExtension() { |
|
|
|
|
if(std::getenv("MAGNUM_DISABLE_EXTENSIONS")) |
|
|
|
|
CORRADE_SKIP("Can't test with the MAGNUM_DISABLE_EXTENSIONS environment variable set"); |
|
|
|
|
|
|
|
|
|
if(!enumerateLayerProperties().isSupported("VK_LAYER_KHRONOS_validation")) |
|
|
|
|
CORRADE_SKIP("VK_LAYER_KHRONOS_validation not supported, can't test"); |
|
|
|
|
if(!enumerateInstanceExtensionProperties({"VK_LAYER_KHRONOS_validation"}).isSupported<Extensions::EXT::debug_report>()) |
|
|
|
|
@ -341,6 +356,11 @@ void InstanceVkTest::constructCommandLineDisable() {
|
|
|
|
|
auto&& data = ConstructCommandLineData[testCaseInstanceId()]; |
|
|
|
|
setTestCaseDescription(data.nameDisable); |
|
|
|
|
|
|
|
|
|
if(std::getenv("MAGNUM_VULKAN_VERSION")) |
|
|
|
|
CORRADE_SKIP("Can't test with the MAGNUM_VULKAN_VERSION environment variable set"); |
|
|
|
|
if(std::getenv("MAGNUM_DISABLE_EXTENSIONS")) |
|
|
|
|
CORRADE_SKIP("Can't test with the MAGNUM_DISABLE_EXTENSIONS environment variable set"); |
|
|
|
|
|
|
|
|
|
if(!enumerateLayerProperties().isSupported("VK_LAYER_KHRONOS_validation")) |
|
|
|
|
CORRADE_SKIP("VK_LAYER_KHRONOS_validation not supported, can't test"); |
|
|
|
|
if(!enumerateInstanceExtensionProperties({"VK_LAYER_KHRONOS_validation"}).isSupported<Extensions::EXT::validation_features>()) |
|
|
|
|
@ -376,6 +396,11 @@ void InstanceVkTest::constructCommandLineEnable() {
|
|
|
|
|
auto&& data = ConstructCommandLineData[testCaseInstanceId()]; |
|
|
|
|
setTestCaseDescription(data.nameEnable); |
|
|
|
|
|
|
|
|
|
if(std::getenv("MAGNUM_VULKAN_VERSION")) |
|
|
|
|
CORRADE_SKIP("Can't test with the MAGNUM_VULKAN_VERSION environment variable set"); |
|
|
|
|
if(std::getenv("MAGNUM_DISABLE_EXTENSIONS")) |
|
|
|
|
CORRADE_SKIP("Can't test with the MAGNUM_DISABLE_EXTENSIONS environment variable set"); |
|
|
|
|
|
|
|
|
|
if(!enumerateLayerProperties().isSupported("VK_LAYER_KHRONOS_validation")) |
|
|
|
|
CORRADE_SKIP("VK_LAYER_KHRONOS_validation not supported, can't test"); |
|
|
|
|
if(!enumerateInstanceExtensionProperties({"VK_LAYER_KHRONOS_validation"}).isSupported<Extensions::EXT::validation_features>()) |
|
|
|
|
@ -406,6 +431,9 @@ void InstanceVkTest::constructCommandLineEnable() {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void InstanceVkTest::constructMove() { |
|
|
|
|
if(std::getenv("MAGNUM_DISABLE_EXTENSIONS")) |
|
|
|
|
CORRADE_SKIP("Can't test with the MAGNUM_DISABLE_EXTENSIONS environment variable set"); |
|
|
|
|
|
|
|
|
|
InstanceExtensionProperties extensions = enumerateInstanceExtensionProperties(); |
|
|
|
|
if(!extensions.isSupported<Extensions::KHR::get_physical_device_properties2>()) |
|
|
|
|
CORRADE_SKIP("VK_KHR_get_physical_device_properties2 not supported, can't test"); |
|
|
|
|
@ -465,6 +493,11 @@ void InstanceVkTest::constructUnknownExtension() {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void InstanceVkTest::wrap() { |
|
|
|
|
if(std::getenv("MAGNUM_VULKAN_VERSION")) |
|
|
|
|
CORRADE_SKIP("Can't test with the MAGNUM_VULKAN_VERSION environment variable set"); |
|
|
|
|
if(std::getenv("MAGNUM_DISABLE_EXTENSIONS")) |
|
|
|
|
CORRADE_SKIP("Can't test with the MAGNUM_DISABLE_EXTENSIONS environment variable set"); |
|
|
|
|
|
|
|
|
|
InstanceExtensionProperties properties = enumerateInstanceExtensionProperties(); |
|
|
|
|
if(!properties.isSupported<Extensions::EXT::debug_report>()) |
|
|
|
|
CORRADE_SKIP("VK_EXT_debug_report not supported, can't test"); |
|
|
|
|
|