| 33 | |
| 34 | |
| 35 | int 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 | } |
nothing calls this directly
no test coverage detected