Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4f8f3711 authored by Courtney Goeltzenleuchter's avatar Courtney Goeltzenleuchter
Browse files

Add decodePixelFormat for debugging

Test: adb shell dumpsys SurfaceFlinger
Bug: 29940137
Change-Id: I3e12a37cf68019e7012bd74bb86b41098b2925a9
parent 0ebaac3f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
#pragma once

#include <system/graphics.h>
#include <ui/PixelFormat.h>

#include <string>

@@ -25,3 +26,4 @@ std::string decodeTransfer(android_dataspace dataspace);
std::string decodeRange(android_dataspace dataspace);
std::string dataspaceDetails(android_dataspace dataspace);
std::string decodeColorMode(android_color_mode colormode);
std::string decodePixelFormat(android::PixelFormat format);
+37 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
 */

#include <ui/DebugUtils.h>
#include <ui/PixelFormat.h>

#include <android-base/stringprintf.h>
#include <string>
@@ -145,6 +146,9 @@ std::string decodeRange(android_dataspace dataspace) {
}

std::string dataspaceDetails(android_dataspace dataspace) {
    if (dataspace == 0) {
        return "Default (0)";
    }
    return android::base::StringPrintf("%s %s %s", decodeStandard(dataspace).c_str(),
                                       decodeTransfer(dataspace).c_str(),
                                       decodeRange(dataspace).c_str());
@@ -185,3 +189,36 @@ std::string decodeColorMode(android_color_mode colorMode) {

    return android::base::StringPrintf("Unknown color mode %d", colorMode);
}

// Converts a PixelFormat to a human-readable string.  Max 11 chars.
// (Could use a table of prefab String8 objects.)
std::string decodePixelFormat(android::PixelFormat format) {
    switch (format) {
        case android::PIXEL_FORMAT_UNKNOWN:
            return std::string("Unknown/None");
        case android::PIXEL_FORMAT_CUSTOM:
            return std::string("Custom");
        case android::PIXEL_FORMAT_TRANSLUCENT:
            return std::string("Translucent");
        case android::PIXEL_FORMAT_TRANSPARENT:
            return std::string("Transparent");
        case android::PIXEL_FORMAT_OPAQUE:
            return std::string("Opaque");
        case android::PIXEL_FORMAT_RGBA_8888:
            return std::string("RGBA_8888");
        case android::PIXEL_FORMAT_RGBX_8888:
            return std::string("RGBx_8888");
        case android::PIXEL_FORMAT_RGBA_FP16:
            return std::string("RGBA_FP16");
        case android::PIXEL_FORMAT_RGBA_1010102:
            return std::string("RGBA_1010102");
        case android::PIXEL_FORMAT_RGB_888:
            return std::string("RGB_888");
        case android::PIXEL_FORMAT_RGB_565:
            return std::string("RGB_565");
        case android::PIXEL_FORMAT_BGRA_8888:
            return std::string("BGRA_8888");
        default:
            return android::base::StringPrintf("Unknown %#08x", format);
    }
}