avoid unnecessary allocation in SurfaceFlinger
Test: boots, works
Change-Id: I6371addc18dfa2aa4826432c58058cd897a190c5
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
index 153cfe7..7124c6a 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
@@ -579,12 +579,13 @@
sp<Fence> HWComposer::getLayerReleaseFence(DisplayId displayId, HWC2::Layer* layer) const {
RETURN_IF_INVALID_DISPLAY(displayId, Fence::NO_FENCE);
- auto displayFences = mDisplayData.at(displayId).releaseFences;
- if (displayFences.count(layer) == 0) {
+ const auto& displayFences = mDisplayData.at(displayId).releaseFences;
+ auto fence = displayFences.find(layer);
+ if (fence == displayFences.end()) {
ALOGV("getLayerReleaseFence: Release fence not found");
return Fence::NO_FENCE;
}
- return displayFences[layer];
+ return fence->second;
}
status_t HWComposer::presentAndGetReleaseFences(DisplayId displayId) {