Enhance SurfaceFlinger dumpsys with wide-color info
Test: adb shell dumpsys SurfaceFlinger
Bug: 29940137
Change-Id: Ic41fdb703ee5378658abe5e0d68592b2347e3fd7
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index 8220d0a..5f4856b 100755
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -34,6 +34,7 @@
#include <utils/StopWatch.h>
#include <utils/Trace.h>
+#include <ui/DebugUtils.h>
#include <ui/GraphicBuffer.h>
#include <ui/PixelFormat.h>
@@ -2331,11 +2332,17 @@
visibleRegion.dump(result, "visibleRegion");
surfaceDamageRegion.dump(result, "surfaceDamageRegion");
sp<Client> client(mClientRef.promote());
+ PixelFormat pf = PIXEL_FORMAT_UNKNOWN;
+ const sp<GraphicBuffer>& buffer(getActiveBuffer());
+ if (buffer != NULL) {
+ pf = buffer->getPixelFormat();
+ }
result.appendFormat( " "
"layerStack=%4d, z=%9d, pos=(%g,%g), size=(%4d,%4d), "
"crop=(%4d,%4d,%4d,%4d), finalCrop=(%4d,%4d,%4d,%4d), "
"isOpaque=%1d, invalidate=%1d, "
+ "dataspace=%s, pixelformat=%s "
#ifdef USE_HWC2
"alpha=%.3f, flags=0x%08x, tr=[%.2f, %.2f][%.2f, %.2f]\n"
#else
@@ -2350,6 +2357,7 @@
s.finalCrop.left, s.finalCrop.top,
s.finalCrop.right, s.finalCrop.bottom,
isOpaque(s), contentDirty,
+ dataspaceDetails(getDataSpace()).c_str(), decodePixelFormat(pf).c_str(),
s.alpha, s.flags,
s.active.transform[0][0], s.active.transform[0][1],
s.active.transform[1][0], s.active.transform[1][1],