diff options
| author | 2022-02-09 15:41:48 +0000 | |
|---|---|---|
| committer | 2022-02-09 15:41:48 +0000 | |
| commit | e18b5a4eb8ef4f2c00ed8c8ff3cc68a905f91dfa (patch) | |
| tree | fa66383aa86e865d6e16178117355099181f0e0c | |
| parent | ec9f965bb167b9d64ad4dc38641a8b9809d9cf6c (diff) | |
| parent | d84085a2bab2019124cd5fd35dede59e39e5682f (diff) | |
Merge "Add gatherPendingTransactions in BBQ"
| -rw-r--r-- | libs/gui/BLASTBufferQueue.cpp | 8 | ||||
| -rw-r--r-- | libs/gui/include/gui/BLASTBufferQueue.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/libs/gui/BLASTBufferQueue.cpp b/libs/gui/BLASTBufferQueue.cpp index aeb237deb4..7ce72ffa59 100644 --- a/libs/gui/BLASTBufferQueue.cpp +++ b/libs/gui/BLASTBufferQueue.cpp @@ -842,6 +842,14 @@ void BLASTBufferQueue::mergePendingTransactions(SurfaceComposerClient::Transacti mPendingTransactions.end()); } +SurfaceComposerClient::Transaction* BLASTBufferQueue::gatherPendingTransactions( + uint64_t frameNumber) { + std::lock_guard _lock{mMutex}; + SurfaceComposerClient::Transaction* t = new SurfaceComposerClient::Transaction(); + mergePendingTransactions(t, frameNumber); + return t; +} + // Maintains a single worker thread per process that services a list of runnables. class AsyncWorker : public Singleton<AsyncWorker> { private: diff --git a/libs/gui/include/gui/BLASTBufferQueue.h b/libs/gui/include/gui/BLASTBufferQueue.h index f77cfe6a69..1ed592b506 100644 --- a/libs/gui/include/gui/BLASTBufferQueue.h +++ b/libs/gui/include/gui/BLASTBufferQueue.h @@ -98,6 +98,7 @@ public: void setSyncTransaction(SurfaceComposerClient::Transaction* t, bool acquireSingleBuffer = true); void mergeWithNextTransaction(SurfaceComposerClient::Transaction* t, uint64_t frameNumber); void applyPendingTransactions(uint64_t frameNumber); + SurfaceComposerClient::Transaction* gatherPendingTransactions(uint64_t frameNumber); void update(const sp<SurfaceControl>& surface, uint32_t width, uint32_t height, int32_t format, SurfaceComposerClient::Transaction* outTransaction = nullptr); |