From 86c80e36c3dc4994a8c24a096cd8f83fec739eb9 Mon Sep 17 00:00:00 2001 From: Huihong Luo Date: Wed, 16 Jun 2021 15:41:07 -0700 Subject: Re-introduce debug.sf.latch_unsignaled This pretty much reverts this commit: Ia453eaf895554adbb2fa9c11c2bc8609e1037ea5. Some devices may find this helpful to improve performance, but there is a risk of pipeline stall from misbehaving apps. Bug: 173694115 Test: manual Merged-In: I48c3095061dc106fa08d36b8ef17eccb04fb6eb1 Change-Id: I48c3095061dc106fa08d36b8ef17eccb04fb6eb1 --- services/surfaceflinger/BufferQueueLayer.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'services/surfaceflinger/BufferQueueLayer.cpp') diff --git a/services/surfaceflinger/BufferQueueLayer.cpp b/services/surfaceflinger/BufferQueueLayer.cpp index c64371b84a..6b6d43425d 100644 --- a/services/surfaceflinger/BufferQueueLayer.cpp +++ b/services/surfaceflinger/BufferQueueLayer.cpp @@ -125,11 +125,16 @@ bool BufferQueueLayer::isBufferDue(nsecs_t expectedPresentTime) const { // ----------------------------------------------------------------------- bool BufferQueueLayer::fenceHasSignaled() const { + Mutex::Autolock lock(mQueueItemLock); + + if (SurfaceFlinger::enableLatchUnsignaled) { + return true; + } + if (!hasFrameUpdate()) { return true; } - Mutex::Autolock lock(mQueueItemLock); if (mQueueItems[0].item.mIsDroppable) { // Even though this buffer's fence may not have signaled yet, it could // be replaced by another buffer before it has a chance to, which means -- cgit v1.2.3-59-g8ed1b