MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-Samples / enable_extension

Function enable_extension

framework/core/instance.h:109–131  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

107namespace
108{
109inline bool enable_extension(std::string const &requested_extension,
110 std::vector<vk::ExtensionProperties> const &available_extensions,
111 std::vector<std::string> &enabled_extensions)
112{
113 bool is_available = std::ranges::any_of(
114 available_extensions, [&requested_extension](auto const &available_extension) { return requested_extension == available_extension.extensionName; });
115 if (is_available)
116 {
117 bool is_already_enabled =
118 std::ranges::any_of(enabled_extensions, [&requested_extension](auto const &enabled_extension) { return requested_extension == enabled_extension; });
119 if (!is_already_enabled)
120 {
121 LOGI("Extension {} available, enabling it", requested_extension);
122 enabled_extensions.emplace_back(requested_extension);
123 }
124 }
125 else
126 {
127 LOGI("Extension {} not available", requested_extension);
128 }
129
130 return is_available;
131}
132
133inline bool
134 enable_layer(std::string const &requested_layer, std::vector<vk::LayerProperties> const &available_layers, std::vector<std::string> &enabled_layers)

Callers 1

InstanceMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected