summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Prichard <rprichard@google.com>2023-09-29 00:53:56 -0700
committerRyan Prichard <rprichard@google.com>2023-09-29 03:56:10 -0700
commit83e8e5b3ca3c5e8a04ccf8519116e5a92944e98c (patch)
treec7bbe34cf2e0212805ba2194ea958536ce8f6c9b
parent4c457704652d8bad0136c1b3b9a781850a7ea5f8 (diff)
downloadcommon-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.cpp78
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) {