Dump vSync id in layers trace
Used to figure out which transactions where applied in a given layers trace entry to synchronize a transition (through the start/finish transactions) with the layers trace for FaaS.
Bug: 230462538
Test: Check vSyncId is dumped in layers trace
Change-Id: Ib59311f3ae29196316a064ced98445857e45c5b9
diff --git a/services/surfaceflinger/Tracing/LayerTracing.cpp b/services/surfaceflinger/Tracing/LayerTracing.cpp
index 49554c7..1b80fa3 100644
--- a/services/surfaceflinger/Tracing/LayerTracing.cpp
+++ b/services/surfaceflinger/Tracing/LayerTracing.cpp
@@ -98,7 +98,7 @@
mBuffer->dump(result);
}
-void LayerTracing::notify(bool visibleRegionDirty, int64_t time) {
+void LayerTracing::notify(bool visibleRegionDirty, int64_t time, int64_t vsyncId) {
std::scoped_lock lock(mTraceLock);
if (!mEnabled) {
return;
@@ -130,6 +130,7 @@
}
mFlinger.dumpDisplayProto(entry);
mBuffer->emplace(std::move(entry));
+ entry.set_vsync_id(vsyncId);
}
} // namespace android
diff --git a/services/surfaceflinger/Tracing/LayerTracing.h b/services/surfaceflinger/Tracing/LayerTracing.h
index 88a19ec..e73dac6 100644
--- a/services/surfaceflinger/Tracing/LayerTracing.h
+++ b/services/surfaceflinger/Tracing/LayerTracing.h
@@ -47,7 +47,7 @@
bool isEnabled() const;
status_t writeToFile();
LayersTraceFileProto createTraceFileProto() const;
- void notify(bool visibleRegionDirty, int64_t time);
+ void notify(bool visibleRegionDirty, int64_t time, int64_t vsyncId);
enum : uint32_t {
TRACE_INPUT = 1 << 1,