[SF] Add a new method for latch unsignaled transactions

When Unsignaled transaction is applied, buffer processing may
stall. The display appears frozen, and recording a trace is
hard or not much use. It can also be hard to reproduce these
scenarios.

Add a new method which helps identify unsignaled transactions in
stacktraces. It calls the same method as before, so there is no
change in behavior.

BUG: 221079645
Test: atest libsurfaceflinger_unittest, atest libgui_test, atest VtsHalGraphicsComposer3_TargetTest
Change-Id: I5ad46e7c3f2784091b7d973f16056de9c8a4ac4b
diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h
index df59d50..4da8a04 100644
--- a/services/surfaceflinger/SurfaceFlinger.h
+++ b/services/surfaceflinger/SurfaceFlinger.h
@@ -770,6 +770,12 @@
             std::unordered_set<sp<IBinder>, SpHash<IBinder>>& applyTokensWithUnsignaledTransactions,
             bool tryApplyUnsignaled) REQUIRES(mStateLock, mQueueLock);
 
+    int flushUnsignaledPendingTransactionQueues(
+            std::vector<TransactionState>& transactions,
+            std::unordered_map<sp<IBinder>, uint64_t, SpHash<IBinder>>& bufferLayersReadyToPresent,
+            std::unordered_set<sp<IBinder>, SpHash<IBinder>>& applyTokensWithUnsignaledTransactions)
+            REQUIRES(mStateLock, mQueueLock);
+
     uint32_t setClientStateLocked(const FrameTimelineInfo&, ComposerState&,
                                   int64_t desiredPresentTime, bool isAutoTimestamp,
                                   int64_t postTime, uint32_t permissions) REQUIRES(mStateLock);