diff options
| author | 2022-01-12 20:12:55 -0800 | |
|---|---|---|
| committer | 2022-01-18 19:59:15 +0000 | |
| commit | a84a2200c8935ce130f649e277d3a849c24c618f (patch) | |
| tree | 0712dd74c43228325762827fb9feda5eeeb759e5 | |
| parent | 7b0f18b04e311223b793aa3ae8a9c7aef0a63a90 (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.cpp | 4 |
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(); |