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

Commit 8dbb805f authored by Mathias Agopian's avatar Mathias Agopian Committed by Android (Google) Code Review
Browse files

Merge "Improve SF dumpsys output wrt HWC"

parents f9578f9c 22da60c3
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@

#include <utils/Errors.h>
#include <utils/String8.h>
#include <utils/Vector.h>

#include <hardware/hardware.h>

@@ -29,6 +30,7 @@

#include <EGL/egl.h>

#include "LayerBase.h"
#include "HWComposer.h"
#include "SurfaceFlinger.h"

@@ -133,7 +135,8 @@ hwc_layer_t* HWComposer::getLayers() const {
    return mList ? mList->hwLayers : 0;
}

void HWComposer::dump(String8& result, char* buffer, size_t SIZE) const {
void HWComposer::dump(String8& result, char* buffer, size_t SIZE,
        const Vector< sp<LayerBase> >& visibleLayersSortedByZ) const {
    if (mHwc && mList) {
        result.append("Hardware Composer state:\n");

@@ -143,11 +146,12 @@ void HWComposer::dump(String8& result, char* buffer, size_t SIZE) const {

        for (size_t i=0 ; i<mList->numHwLayers ; i++) {
            const hwc_layer_t& l(mList->hwLayers[i]);
            snprintf(buffer, SIZE, "  %8s | %08x | %08x | %02x | %04x | [%5d,%5d,%5d,%5d] |  [%5d,%5d,%5d,%5d]\n",
            snprintf(buffer, SIZE, "  %8s | %08x | %08x | %02x | %04x | [%5d,%5d,%5d,%5d] |  [%5d,%5d,%5d,%5d] %s\n",
                    l.compositionType ? "OVERLAY" : "FB",
                    l.hints, l.flags, l.transform, l.blending,
                    l.sourceCrop.left, l.sourceCrop.top, l.sourceCrop.right, l.sourceCrop.bottom,
                    l.displayFrame.left, l.displayFrame.top, l.displayFrame.right, l.displayFrame.bottom);
                    l.displayFrame.left, l.displayFrame.top, l.displayFrame.right, l.displayFrame.bottom,
                    visibleLayersSortedByZ[i]->getName().string());
            result.append(buffer);
        }

+4 −1
Original line number Diff line number Diff line
@@ -25,12 +25,14 @@
#include <hardware/hwcomposer.h>

#include <utils/StrongPointer.h>
#include <utils/Vector.h>

namespace android {
// ---------------------------------------------------------------------------

class String8;
class SurfaceFlinger;
class LayerBase;

class HWComposer
{
@@ -63,7 +65,8 @@ public:
    hwc_layer_t* getLayers() const;

    // for debugging
    void dump(String8& out, char* scratch, size_t SIZE) const;
    void dump(String8& out, char* scratch, size_t SIZE,
            const Vector< sp<LayerBase> >& visibleLayersSortedByZ) const;

private:
    struct cb_context {
+3 −4
Original line number Diff line number Diff line
@@ -480,12 +480,13 @@ void LayerBase::dump(String8& result, char* buffer, size_t SIZE) const
{
    const Layer::State& s(drawingState());
    snprintf(buffer, SIZE,
            "+ %s %p\n"
            "+ %s %p (%s)\n"
            "      "
            "z=%9d, pos=(%g,%g), size=(%4d,%4d), "
            "isOpaque=%1d, needsDithering=%1d, invalidate=%1d, "
            "alpha=0x%02x, flags=0x%08x, tr=[%.2f, %.2f][%.2f, %.2f]\n",
            getTypeId(), this, s.z, s.transform.tx(), s.transform.ty(), s.w, s.h,
            getTypeId(), this, getName().string(),
            s.z, s.transform.tx(), s.transform.ty(), s.w, s.h,
            isOpaque(), needsDithering(), contentDirty,
            s.alpha, s.flags,
            s.transform[0][0], s.transform[0][1],
@@ -561,9 +562,7 @@ void LayerBaseClient::dump(String8& result, char* buffer, size_t SIZE) const

    sp<Client> client(mClientRef.promote());
    snprintf(buffer, SIZE,
            "      name=%s\n"
            "      client=%p, identity=%u\n",
            getName().string(),
            client.get(), getIdentity());

    result.append(buffer);
+1 −1
Original line number Diff line number Diff line
@@ -1606,7 +1606,7 @@ status_t SurfaceFlinger::dump(int fd, const Vector<String16>& args)
                hwc.initCheck()==NO_ERROR ? "present" : "not present",
                (mDebugDisableHWC || mDebugRegion) ? "disabled" : "enabled");
        result.append(buffer);
        hwc.dump(result, buffer, SIZE);
        hwc.dump(result, buffer, SIZE, mVisibleLayersSortedByZ);

        /*
         * Dump gralloc state