SF: Add new fields to transactions proto
- track layer handle removal so layer lifecycle
can be recreated accurately when rebuilding layer
state
- track buffer format since it affects opacity
- track transaction ids to track transactions
across the system
- also fixes relative z tracking
Test: atest TransactionProtoParserTest
Bug: 200284593
Change-Id: I037e40219f9fee8957051352beeba88681b8cf43
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index 5948a78..9dc185b 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -2022,9 +2022,9 @@
void Layer::writeToProtoDrawingState(LayerProto* layerInfo, uint32_t traceFlags,
const DisplayDevice* display) {
const ui::Transform transform = getTransform();
- auto buffer = getBuffer();
+ auto buffer = getExternalTexture();
if (buffer != nullptr) {
- LayerProtoHelper::writeToProto(buffer,
+ LayerProtoHelper::writeToProto(*buffer,
[&]() { return layerInfo->mutable_active_buffer(); });
LayerProtoHelper::writeToProtoDeprecated(ui::Transform(getBufferTransform()),
layerInfo->mutable_buffer_transform());