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

Commit 1969a570 authored by Ady Abraham's avatar Ady Abraham Committed by android-build-merger
Browse files

Merge "Revert "Revert "SurfaceFlinger: add a sysprop for GL backpressure"""...

Merge "Revert "Revert "SurfaceFlinger: add a sysprop for GL backpressure""" into qt-dev am: 3f646b05
am: 13de058b

Change-Id: I3e398c08e10b9d144dba67baa3fa2d7e7c1d3e07
parents 5200af9c 13de058b
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -337,6 +337,11 @@ SurfaceFlinger::SurfaceFlinger(Factory& factory) : SurfaceFlinger(factory, SkipI
    mPropagateBackpressure = !atoi(value);
    ALOGI_IF(!mPropagateBackpressure, "Disabling backpressure propagation");

    property_get("debug.sf.enable_gl_backpressure", value, "0");
    mPropagateBackpressureClientComposition = atoi(value);
    ALOGI_IF(mPropagateBackpressureClientComposition,
             "Enabling backpressure propagation for Client Composition");

    property_get("debug.sf.enable_hwc_vds", value, "0");
    mUseHwcVirtualDisplays = atoi(value);
    ALOGI_IF(mUseHwcVirtualDisplays, "Enabling HWC virtual displays");
@@ -1644,9 +1649,9 @@ void SurfaceFlinger::onMessageReceived(int32_t what) NO_THREAD_SAFETY_ANALYSIS {
                break;
            }

            // For now, only propagate backpressure when missing a hwc frame.
            if (hwcFrameMissed && !gpuFrameMissed) {
                if (mPropagateBackpressure) {
            if (frameMissed && mPropagateBackpressure) {
                if ((hwcFrameMissed && !gpuFrameMissed) ||
                    mPropagateBackpressureClientComposition) {
                    signalLayerUpdate();
                    break;
                }
+1 −0
Original line number Diff line number Diff line
@@ -982,6 +982,7 @@ private:
    volatile nsecs_t mDebugInTransaction = 0;
    bool mForceFullDamage = false;
    bool mPropagateBackpressure = true;
    bool mPropagateBackpressureClientComposition = false;
    std::unique_ptr<SurfaceInterceptor> mInterceptor;
    SurfaceTracing mTracing{*this};
    bool mTracingEnabled = false;