diff --git a/filament/src/driver/vulkan/VulkanDriver.cpp b/filament/src/driver/vulkan/VulkanDriver.cpp index 5af005fbe9..97b95f5d18 100644 --- a/filament/src/driver/vulkan/VulkanDriver.cpp +++ b/filament/src/driver/vulkan/VulkanDriver.cpp @@ -78,7 +78,7 @@ VulkanDriver::VulkanDriver(VulkanPlatform* platform, for (const VkLayerProperties& layer : availableLayers) { const utils::CString availableLayer(layer.layerName); for (const auto& desired : DESIRED_LAYERS) { - if (availableLayer.compare(desired) == 0) { + if (availableLayer == desired) { enabledLayers.push_back(desired.c_str()); } } diff --git a/libs/utils/include/utils/CString.h b/libs/utils/include/utils/CString.h index f4e37b0dbe..2838cf6ae0 100644 --- a/libs/utils/include/utils/CString.h +++ b/libs/utils/include/utils/CString.h @@ -279,14 +279,10 @@ private: return strncmp(data(), rhs.data(), size()); } - int compare(const StaticString& rhs) const noexcept { - size_type lhs_size = size(); - size_type rhs_size = rhs.size(); - if (lhs_size < rhs_size) return -1; - if (lhs_size > rhs_size) return 1; - return strncmp(data(), rhs.data(), size()); + friend bool operator==(CString const& lhs, StaticString const& rhs) noexcept { + return (lhs.data() == rhs.data()) || + ((lhs.size() == rhs.size()) && !strncmp(lhs.data(), rhs.data(), lhs.size())); } - friend bool operator==(CString const& lhs, CString const& rhs) noexcept { return (lhs.data() == rhs.data()) || ((lhs.size() == rhs.size()) && !strncmp(lhs.data(), rhs.data(), lhs.size()));