diff options
author | Ryan Prichard <rprichard@google.com> | 2023-09-29 00:53:56 -0700 |
---|---|---|
committer | Ryan Prichard <rprichard@google.com> | 2023-09-29 03:56:10 -0700 |
commit | 83e8e5b3ca3c5e8a04ccf8519116e5a92944e98c (patch) | |
tree | c7bbe34cf2e0212805ba2194ea958536ce8f6c9b | |
parent | 4c457704652d8bad0136c1b3b9a781850a7ea5f8 (diff) | |
download | common-83e8e5b3ca3c5e8a04ccf8519116e5a92944e98c.tar.gz |
libhwc2.1: replace std::find_if with for loops
As of https://reviews.llvm.org/D60145, libc++ now marks std::find_if
with [[nodiscard]], because discarding its result is usually an error.
If code merely wants to iterate over a container, as this code does,
the more idiomatic approach is a for loop.
Bug: 175635923
Test: m MODULES-IN-hardware-google-graphics
Change-Id: I59892a5eff93e5dda01ad59b3cec407246fb1e89
-rw-r--r-- | libhwc2.1/libresource/ExynosResourceManager.cpp | 78 |
1 files changed, 34 insertions, 44 deletions
diff --git a/libhwc2.1/libresource/ExynosResourceManager.cpp b/libhwc2.1/libresource/ExynosResourceManager.cpp index f451a8c..c4036fc 100644 --- a/libhwc2.1/libresource/ExynosResourceManager.cpp +++ b/libhwc2.1/libresource/ExynosResourceManager.cpp @@ -1218,40 +1218,33 @@ void ExynosResourceManager::getCandidateScalingM2mMPPOutImages( uint32_t otfMppRatio = 1; uint32_t m2mMppRatio = 1; if (scaleUp) { - std::find_if(mOtfMPPs.begin(), mOtfMPPs.end(), - [&dst_scale_img, &dst_img, &otfMpp, &otfMppRatio](auto m) { - auto ratio = m->getMaxUpscale(dst_scale_img, dst_img); - if (ratio > 1) { - otfMpp = m; - otfMppRatio = ratio; - return true; - } - return false; - }); + for (ExynosMPP *m : mOtfMPPs) { + auto ratio = m->getMaxUpscale(dst_scale_img, dst_img); + if (ratio > 1) { + otfMpp = m; + otfMppRatio = ratio; + break; + } + } const auto reqRatio = max(float(dst_img.w) / float(srcWidth * otfMppRatio), float(dst_img.h) / float(srcHeight * otfMppRatio)); - std::find_if(mM2mMPPs.begin(), mM2mMPPs.end(), - [&src_img, &dst_scale_img, reqRatio, &m2mMpp, &m2mMppRatio](auto m) { - float ratio = float(m->getMaxUpscale(src_img, dst_scale_img)); - if (ratio > reqRatio) { - m2mMpp = m; - m2mMppRatio = ratio; - return true; - } - return false; - }); + for (ExynosMPP *m : mM2mMPPs) { + float ratio = float(m->getMaxUpscale(src_img, dst_scale_img)); + if (ratio > reqRatio) { + m2mMpp = m; + m2mMppRatio = ratio; + break; + } + } } else { - std::find_if(mM2mMPPs.begin(), mM2mMPPs.end(), - [&src_img, &dst_scale_img, display, &m2mMpp, &m2mMppRatio](auto m) { - auto ratio = m->getMaxDownscale(*display, src_img, dst_scale_img); - if (ratio > 1) { - m2mMpp = m; - m2mMppRatio = ratio; - return true; - } - return false; - }); - + for (ExynosMPP *m : mM2mMPPs) { + auto ratio = m->getMaxDownscale(*display, src_img, dst_scale_img); + if (ratio > 1) { + m2mMpp = m; + m2mMppRatio = ratio; + break; + } + } const float otfSrcWidth = float(srcWidth / m2mMppRatio); const float scaleRatio_H = otfSrcWidth / float(dst_img.w); const float otfSrcHeight = float(srcHeight / m2mMppRatio); @@ -1259,19 +1252,16 @@ void ExynosResourceManager::getCandidateScalingM2mMPPOutImages( const float displayRatio_V = float(dst_img.h) / float(display->mYres); const float resolution = otfSrcWidth * otfSrcHeight * display->getBtsRefreshRate() / 1000; - std::find_if(mOtfMPPs.begin(), mOtfMPPs.end(), - [&dst_scale_img, &dst_img, resolution, scaleRatio_H, scaleRatio_V, - displayRatio_V, &otfMpp, &otfMppRatio](auto m) { - auto ratio = m->getDownscaleRestriction(dst_scale_img, dst_img); - - if (ratio >= scaleRatio_H && ratio >= scaleRatio_V && - m->checkDownscaleCap(resolution, displayRatio_V)) { - otfMpp = m; - otfMppRatio = ratio; - return true; - } - return false; - }); + for (ExynosMPP *m : mOtfMPPs) { + auto ratio = m->getDownscaleRestriction(dst_scale_img, dst_img); + + if (ratio >= scaleRatio_H && ratio >= scaleRatio_V && + m->checkDownscaleCap(resolution, displayRatio_V)) { + otfMpp = m; + otfMppRatio = ratio; + break; + } + } } if (!otfMpp && !m2mMpp) { |