diff --git a/Source/Core/VideoCommon/HiresTextures.cpp b/Source/Core/VideoCommon/HiresTextures.cpp index 9df399365f..c74b4e617d 100644 --- a/Source/Core/VideoCommon/HiresTextures.cpp +++ b/Source/Core/VideoCommon/HiresTextures.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -229,25 +230,23 @@ std::string HiresTexture::GenBaseName(const u8* texture, size_t texture_size, co case 16 * 2: for (size_t i = 0; i < texture_size; i++) { - min = std::min(min, texture[i] & 0xf); - min = std::min(min, texture[i] >> 4); - max = std::max(max, texture[i] & 0xf); - max = std::max(max, texture[i] >> 4); + const u32 low_nibble = texture[i] & 0xf; + const u32 high_nibble = texture[i] >> 4; + std::tie(min, max) = std::minmax({min, max, low_nibble, high_nibble}); } break; case 256 * 2: - for (size_t i = 0; i < texture_size; i++) - { - min = std::min(min, texture[i]); - max = std::max(max, texture[i]); - } + { + const auto minmax = std::minmax_element(texture, texture + texture_size); + min = *minmax.first; + max = *minmax.second; break; + } case 16384 * 2: for (size_t i = 0; i < texture_size; i += sizeof(u16)) { - const u16 texture_halfword = Common::swap16(texture[i]) & 0x3fff; - min = std::min(min, texture_halfword); - max = std::max(max, texture_halfword); + const u32 texture_halfword = Common::swap16(texture[i]) & 0x3fff; + std::tie(min, max) = std::minmax({min, max, texture_halfword}); } break; }