diff options
| -rw-r--r-- | services/surfaceflinger/BufferLayer.h | 2 | ||||
| -rw-r--r-- | services/surfaceflinger/BufferStateLayer.h | 2 | ||||
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 2 |
3 files changed, 4 insertions, 2 deletions
diff --git a/services/surfaceflinger/BufferLayer.h b/services/surfaceflinger/BufferLayer.h index d215298eda..5fed79ffed 100644 --- a/services/surfaceflinger/BufferLayer.h +++ b/services/surfaceflinger/BufferLayer.h @@ -182,7 +182,7 @@ protected: bool getSidebandStreamChanged() const { return mSidebandStreamChanged; } // Returns true if the next buffer should be presented at the expected present time - bool shouldPresentNow(nsecs_t expectedPresentTime) const final; + bool shouldPresentNow(nsecs_t expectedPresentTime) const; // Returns true if the next buffer should be presented at the expected present time, // overridden by BufferStateLayer and BufferQueueLayer for implementation diff --git a/services/surfaceflinger/BufferStateLayer.h b/services/surfaceflinger/BufferStateLayer.h index 3acb7e68fd..93fb2cd2a4 100644 --- a/services/surfaceflinger/BufferStateLayer.h +++ b/services/surfaceflinger/BufferStateLayer.h @@ -116,6 +116,8 @@ public: std::atomic<int32_t>* getPendingBufferCounter() override { return &mPendingBufferTransactions; } std::string getPendingBufferCounterName() override { return mBlastTransactionName; } + bool shouldPresentNow(nsecs_t /*expectedPresentTime*/) const override { return true; } + protected: void gatherBufferInfo() override; uint64_t getHeadFrameNumber(nsecs_t expectedPresentTime) const; diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 593855ec17..ac1b80808a 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -3369,7 +3369,7 @@ void SurfaceFlinger::flushTransactionQueues() { bool SurfaceFlinger::transactionFlushNeeded() { Mutex::Autolock _l(mQueueLock); - return !mPendingTransactionQueues.empty(); + return !mPendingTransactionQueues.empty() || !mTransactionQueue.empty(); } bool SurfaceFlinger::transactionIsReadyToBeApplied( |