summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vishnu Nair <vishnun@google.com> 2022-01-12 20:12:55 -0800
committer Vishnu Nair <vishnun@google.com> 2022-01-18 19:59:15 +0000
commita84a2200c8935ce130f649e277d3a849c24c618f (patch)
tree0712dd74c43228325762827fb9feda5eeeb759e5
parent7b0f18b04e311223b793aa3ae8a9c7aef0a63a90 (diff)
SF: Update static sequence counter when injecting a sequence number
When generating layer trace, layers will be created with a sequence number. However any supporting layer that is created (when mirroring or color layer for blast) will use the static counter to gets its sequence number. This might result in layers with duplicate sequence numbers. Fix this by updating the static sequence counter if a sequence number is injected. Test: atest TransactionTracingTest Bug: 200284593 Change-Id: Ib64227a088d1cbf76b977604eaeb3b1421af63f5
-rw-r--r--services/surfaceflinger/Layer.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index 9dc185be35..fa2c92dd32 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -101,7 +101,9 @@ Layer::Layer(const LayerCreationArgs& args)
if (args.flags & ISurfaceComposerClient::eSecure) layerFlags |= layer_state_t::eLayerSecure;
if (args.flags & ISurfaceComposerClient::eSkipScreenshot)
layerFlags |= layer_state_t::eLayerSkipScreenshot;
-
+ if (args.sequence) {
+ sSequence = *args.sequence + 1;
+ }
mDrawingState.flags = layerFlags;
mDrawingState.active_legacy.transform.set(0, 0);
mDrawingState.crop.makeInvalid();