MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-Hpp / main

Function main

tests/ExtensionInspection/ExtensionInspection.cpp:35–87  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

33
34
35int main()
36{
37#if ( 201907 <= __cpp_constexpr ) && ( !defined( __GNUC__ ) || ( 120000 <= GCC_VERSION ) )
38 static_assert( vk::isInstanceExtension( vk::KHRSurfaceExtensionName ), "static_assert test failed" );
39 static_assert( vk::isDeviceExtension( vk::KHRSwapchainExtensionName ), "static assert test failed" );
40 static_assert( vk::isDeprecatedExtension( vk::EXTDebugReportExtensionName ), "static assert test failed" );
41 static_assert( vk::getExtensionDeprecatedBy( vk::EXTDebugReportExtensionName ) == vk::EXTDebugUtilsExtensionName, "static assert test failed" );
42 static_assert( vk::isPromotedExtension( vk::KHRSamplerMirrorClampToEdgeExtensionName ), "static assert test failed" );
43 static_assert( vk::getExtensionPromotedTo( vk::KHRSamplerMirrorClampToEdgeExtensionName ) == "VK_VERSION_1_2", "static assert test failed" );
44 static_assert( vk::isObsoletedExtension( vk::AMDNegativeViewportHeightExtensionName ), "static assert test failed" );
45 static_assert( vk::getExtensionObsoletedBy( vk::AMDNegativeViewportHeightExtensionName ) == vk::KHRMaintenance1ExtensionName,
46 "static assert test failed" );
47#endif
48
49 std::set<std::string> const & instanceExtensions = vk::getInstanceExtensions();
50 release_assert( instanceExtensions.find( vk::KHRSurfaceExtensionName ) != instanceExtensions.end() );
51
52 std::set<std::string> const & deviceExtensions = vk::getDeviceExtensions();
53 release_assert( deviceExtensions.find( vk::KHRSwapchainExtensionName ) != deviceExtensions.end() );
54
55 std::map<std::string, std::vector<std::vector<std::string>>> depends = vk::getExtensionDepends( vk::KHRSwapchainExtensionName );
56 release_assert( ( depends.size() == 1 ) && ( depends.begin()->first == "VK_VERSION_1_0" ) && ( depends.begin()->second.size() == 1 ) &&
57 ( depends.begin()->second[0].size() == 1 ) && ( depends.begin()->second[0][0] == vk::KHRSurfaceExtensionName ) );
58
59 auto [available0, deps0] = vk::getExtensionDepends( "VK_VERSION_1_0", vk::KHRSurfaceExtensionName );
60 release_assert( available0 && deps0.empty() );
61
62 auto [available1, deps1] = vk::getExtensionDepends( "VK_VERSION_1_0", vk::KHRSwapchainExtensionName );
63 release_assert( available1 && ( deps1.size() == 1 ) && ( deps1[0].size() == 1 ) && ( deps1[0][0] == vk::KHRSurfaceExtensionName ) );
64
65 auto [available2, deps2] = vk::getExtensionDepends( "VK_VERSION_1_1", vk::KHRSwapchainExtensionName );
66 release_assert( available2 && ( deps2.size() == 1 ) && ( deps2[0].size() == 1 ) && ( deps2[0][0] == vk::KHRSurfaceExtensionName ) );
67
68 auto [available3, deps3] = vk::getExtensionDepends( "VK_VERSION_1_1", vk::EXTShaderTileImageExtensionName );
69 release_assert( !available3 );
70
71 auto [available4, deps4] = vk::getExtensionDepends( "VK_VERSION_1_3", vk::EXTShaderTileImageExtensionName );
72 release_assert( available4 && ( deps4.size() == 1 ) && deps4[0].empty() );
73
74 std::map<std::string, std::string> const & deprecatedExtensions = vk::getDeprecatedExtensions();
75 auto deprecatedIt = deprecatedExtensions.find( vk::EXTDebugReportExtensionName );
76 release_assert( ( deprecatedIt != deprecatedExtensions.end() ) && ( deprecatedIt->second == vk::EXTDebugUtilsExtensionName ) );
77
78 std::map<std::string, std::string> const & obsoletedExtensions = vk::getObsoletedExtensions();
79 auto obsoletedIt = obsoletedExtensions.find( vk::AMDNegativeViewportHeightExtensionName );
80 release_assert( ( obsoletedIt != obsoletedExtensions.end() ) && ( obsoletedIt->second == vk::KHRMaintenance1ExtensionName ) );
81
82 std::map<std::string, std::string> const & promotedExtensions = vk::getPromotedExtensions();
83 auto promotedIt = promotedExtensions.find( vk::EXTDebugMarkerExtensionName );
84 release_assert( ( promotedIt != promotedExtensions.end() ) && ( promotedIt->second == vk::EXTDebugUtilsExtensionName ) );
85
86 return 0;
87}

Callers

nothing calls this directly

Calls 7

isInstanceExtensionFunction · 0.85
isDeviceExtensionFunction · 0.85
isDeprecatedExtensionFunction · 0.85
isPromotedExtensionFunction · 0.85
getInstanceExtensionsFunction · 0.85
getDeviceExtensionsFunction · 0.85
isObsoletedExtensionFunction · 0.50

Tested by

no test coverage detected