diff options
| author | JMC47 <JMC4789@gmail.com> | 2025-01-01 14:42:44 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-01 14:42:44 -0500 |
| commit | f15a78ed380c696764068905cf823984a2a488e1 (patch) | |
| tree | d365937dd6e3293d17a25045c5e389aa0f233dc3 /Source/Core/VideoBackends/Vulkan/VulkanContext.cpp | |
| parent | b8921b133826a19603997737719aa8d7f4b3e7d3 (diff) | |
| parent | 527841f1df2f4411a1f64ae439275cedcfc13bfa (diff) | |
Merge pull request #13094 from mitaclaw/ranges-modernization-5-contains
Ranges Algorithms Modernization - Contains
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/VulkanContext.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/Vulkan/VulkanContext.cpp | 37 |
1 files changed, 13 insertions, 24 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp b/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp index ed3b709529..3640752231 100644 --- a/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp +++ b/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp @@ -9,6 +9,7 @@ #include "Common/Assert.h" #include "Common/CommonFuncs.h" +#include "Common/Contains.h" #include "Common/Logging/Log.h" #include "Common/MsgHandler.h" #include "Common/StringUtil.h" @@ -170,15 +171,12 @@ bool VulkanContext::CheckValidationLayerAvailablility() res = vkEnumerateInstanceLayerProperties(&layer_count, layer_list.data()); ASSERT(res == VK_SUCCESS); - bool supports_validation_layers = - std::find_if(layer_list.begin(), layer_list.end(), [](const auto& it) { - return strcmp(it.layerName, VALIDATION_LAYER_NAME) == 0; - }) != layer_list.end(); + bool supports_validation_layers = Common::Contains( + layer_list, std::string_view{VALIDATION_LAYER_NAME}, &VkLayerProperties::layerName); bool supports_debug_utils = - std::find_if(extension_list.begin(), extension_list.end(), [](const auto& it) { - return strcmp(it.extensionName, VK_EXT_DEBUG_UTILS_EXTENSION_NAME) == 0; - }) != extension_list.end(); + Common::Contains(extension_list, std::string_view{VK_EXT_DEBUG_UTILS_EXTENSION_NAME}, + &VkExtensionProperties::extensionName); if (!supports_debug_utils && supports_validation_layers) { @@ -197,9 +195,8 @@ bool VulkanContext::CheckValidationLayerAvailablility() extension_list.data()); ASSERT(res == VK_SUCCESS); supports_debug_utils = - std::find_if(extension_list.begin(), extension_list.end(), [](const auto& it) { - return strcmp(it.extensionName, VK_EXT_DEBUG_UTILS_EXTENSION_NAME) == 0; - }) != extension_list.end(); + Common::Contains(extension_list, std::string_view{VK_EXT_DEBUG_UTILS_EXTENSION_NAME}, + &VkExtensionProperties::extensionName); } // Check for both VK_EXT_debug_utils and VK_LAYER_KHRONOS_validation @@ -330,16 +327,10 @@ bool VulkanContext::SelectInstanceExtensions(std::vector<const char*>* extension auto AddExtension = [&](const char* name, bool required) { bool extension_supported = - std::find_if(available_extension_list.begin(), available_extension_list.end(), - [&](const VkExtensionProperties& properties) { - return !strcmp(name, properties.extensionName); - }) != available_extension_list.end(); - extension_supported = - extension_supported || - std::find_if(validation_layer_extension_list.begin(), validation_layer_extension_list.end(), - [&](const VkExtensionProperties& properties) { - return !strcmp(name, properties.extensionName); - }) != validation_layer_extension_list.end(); + Common::Contains(available_extension_list, std::string_view{name}, + &VkExtensionProperties::extensionName) || + Common::Contains(validation_layer_extension_list, std::string_view{name}, + &VkExtensionProperties::extensionName); if (extension_supported) { @@ -648,10 +639,8 @@ bool VulkanContext::SelectDeviceExtensions(bool enable_surface) INFO_LOG_FMT(VIDEO, "Available extension: {}", extension_properties.extensionName); auto AddExtension = [&](const char* name, bool required) { - if (std::find_if(available_extension_list.begin(), available_extension_list.end(), - [&](const VkExtensionProperties& properties) { - return !strcmp(name, properties.extensionName); - }) != available_extension_list.end()) + if (Common::Contains(available_extension_list, std::string_view{name}, + &VkExtensionProperties::extensionName)) { INFO_LOG_FMT(VIDEO, "Enabling extension: {}", name); m_device_extensions.push_back(name); |
