diff options
| author | 2019-07-23 15:41:19 -0700 | |
|---|---|---|
| committer | 2019-07-23 15:41:19 -0700 | |
| commit | d857bf57e1c54d21fea4692801fb6c3144d1aa00 (patch) | |
| tree | 45a2c95f25a9756519cfa95ec531e7ba3f381c73 /services/surfaceflinger/SurfaceFlinger.cpp | |
| parent | 774343bcdef39847f9b997c5034abd0cabde4025 (diff) | |
| parent | 4658e11cbe1abae691454ddcf93a06763d1bf828 (diff) | |
SurfaceFlinger: add a sysprop for GL backpressure
am: 4658e11cbe
Change-Id: Iddb276def56ff8e57027b50c0088db32117e970d
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 9c8251f13e..ad0ac6b2ef 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -353,6 +353,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"); @@ -1670,9 +1675,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; } |