diff options
Diffstat (limited to 'services/surfaceflinger/BufferQueueLayer.cpp')
| -rw-r--r-- | services/surfaceflinger/BufferQueueLayer.cpp | 7 | 
1 files changed, 6 insertions, 1 deletions
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  |