Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5045ab2b authored by Pablo Ceballos's avatar Pablo Ceballos
Browse files

SF: Re-enable fence tracker by default

- Don't check whether the fences have completed or not unless the data
  has been requested.

Bug 22431447

Change-Id: Id4cb8bfba38547884849ef23c9b6f42f0d4d0750
parent 8e0965d0
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -44,7 +44,6 @@ LOCAL_C_INCLUDES := \

LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\"
LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
#LOCAL_CFLAGS += -DENABLE_FENCE_TRACKING

USE_HWC2 := false
ifeq ($(USE_HWC2),true)
+0 −2
Original line number Diff line number Diff line
@@ -184,8 +184,6 @@ void FenceTracker::addFrame(nsecs_t refreshStartTime, sp<Fence> retireFence,

    mOffset = (mOffset + 1) % MAX_FRAME_HISTORY;
    mFrameCounter++;

    checkFencesForCompletion();
}

} // namespace android
+1 −1
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ public:
             const Vector<sp<Layer>>& layers, sp<Fence> glDoneFence);

protected:
     static constexpr size_t MAX_FRAME_HISTORY = 128;
     static constexpr size_t MAX_FRAME_HISTORY = 8;

     struct LayerRecord {
         String8 name; // layer name
+0 −12
Original line number Diff line number Diff line
@@ -939,11 +939,7 @@ bool SurfaceFlinger::handleMessageInvalidate() {
void SurfaceFlinger::handleMessageRefresh() {
    ATRACE_CALL();

#ifdef ENABLE_FENCE_TRACKING
    nsecs_t refreshStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
#else
    nsecs_t refreshStartTime = 0;
#endif
    static nsecs_t previousExpectedPresent = 0;
    nsecs_t expectedPresent = mPrimaryDispSync.computeNextRefresh(0);
    static bool previousFrameMissed = false;
@@ -1033,11 +1029,7 @@ void SurfaceFlinger::preComposition()
    }
}

#ifdef ENABLE_FENCE_TRACKING
void SurfaceFlinger::postComposition(nsecs_t refreshStartTime)
#else
void SurfaceFlinger::postComposition(nsecs_t /*refreshStartTime*/)
#endif
{
    ATRACE_CALL();
    ALOGV("postComposition");
@@ -1069,10 +1061,8 @@ void SurfaceFlinger::postComposition(nsecs_t /*refreshStartTime*/)
        }
    }

#ifdef ENABLE_FENCE_TRACKING
    mFenceTracker.addFrame(refreshStartTime, presentFence,
            hw->getVisibleLayersSortedByZ(), hw->getClientTargetAcquireFence());
#endif

    if (mAnimCompositionPending) {
        mAnimCompositionPending = false;
@@ -2610,14 +2600,12 @@ status_t SurfaceFlinger::dump(int fd, const Vector<String16>& args)
                dumpAll = false;
            }

#ifdef ENABLE_FENCE_TRACKING
            if ((index < numArgs) &&
                    (args[index] == String16("--fences"))) {
                index++;
                mFenceTracker.dump(&result);
                dumpAll = false;
            }
#endif
        }

        if (dumpAll) {
+0 −12
Original line number Diff line number Diff line
@@ -943,11 +943,7 @@ bool SurfaceFlinger::handleMessageInvalidate() {
void SurfaceFlinger::handleMessageRefresh() {
    ATRACE_CALL();

#ifdef ENABLE_FENCE_TRACKING
    nsecs_t refreshStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
#else
    nsecs_t refreshStartTime = 0;
#endif
    static nsecs_t previousExpectedPresent = 0;
    nsecs_t expectedPresent = mPrimaryDispSync.computeNextRefresh(0);
    static bool previousFrameMissed = false;
@@ -1029,11 +1025,7 @@ void SurfaceFlinger::preComposition()
    }
}

#ifdef ENABLE_FENCE_TRACKING
void SurfaceFlinger::postComposition(nsecs_t refreshStartTime)
#else
void SurfaceFlinger::postComposition(nsecs_t /*refreshStartTime*/)
#endif
{
    const LayerVector& layers(mDrawingState.layersSortedByZ);
    const size_t count = layers.size();
@@ -1063,10 +1055,8 @@ void SurfaceFlinger::postComposition(nsecs_t /*refreshStartTime*/)
        }
    }

#ifdef ENABLE_FENCE_TRACKING
    mFenceTracker.addFrame(refreshStartTime, presentFence,
            hw->getVisibleLayersSortedByZ(), hw->getClientTargetAcquireFence());
#endif

    if (mAnimCompositionPending) {
        mAnimCompositionPending = false;
@@ -2626,14 +2616,12 @@ status_t SurfaceFlinger::dump(int fd, const Vector<String16>& args)
                dumpAll = false;
            }

#ifdef ENABLE_FENCE_TRACKING
            if ((index < numArgs) &&
                    (args[index] == String16("--fences"))) {
                index++;
                mFenceTracker.dump(&result);
                dumpAll = false;
            }
#endif
        }

        if (dumpAll) {