OSDN Git Service

drm_hwcomposer: Break out of sync_wait loop on success
authorSean Paul <seanpaul@chromium.org>
Thu, 10 Mar 2016 20:18:42 +0000 (15:18 -0500)
committerRobert Foss <robert.foss@collabora.com>
Tue, 28 Feb 2017 18:53:06 +0000 (13:53 -0500)
Don't call sync_wait kAcquireWaitTries times if it returns successfully.

Change-Id: Iebdc2229966bfce4aaf35a07ef59aef405e301c6
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Robert Foss <robert.foss@collabora.com>
drmdisplaycompositor.cpp

index 92323b6..3675af4 100644 (file)
@@ -229,7 +229,6 @@ void DrmDisplayCompositor::FrameWorker::Routine() {
     ALOGE("Failed to wait for signal, %d", wait_ret);
     return;
   }
-
   compositor_->ApplyFrame(std::move(frame.composition), frame.status);
 }
 
@@ -675,6 +674,8 @@ int DrmDisplayCompositor::CommitFrame(DrmDisplayComposition *display_comp,
           if (ret)
             ALOGW("Acquire fence %d wait %d failed (%d). Total time %d",
                   acquire_fence, i, ret, total_fence_timeout);
+          else
+            break;
         }
         if (ret) {
           ALOGE("Failed to wait for acquire %d/%d", acquire_fence, ret);