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

Commit 1d21a9ca authored by Erik Gilling's avatar Erik Gilling
Browse files

surfaceflinger: add support for gralloc dump hooks

Change-Id: Ib6f539ed0132b70d040d653c03d52cc04249ac3c
parent db4fdaaa
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
#include <EGL/egl.h>

#include <utils/threads.h>
#include <utils/String8.h>
#include <ui/Rect.h>

#include <pixelflinger/pixelflinger.h>
@@ -57,6 +58,8 @@ public:
    status_t setUpdateRectangle(const Rect& updateRect);
    status_t compositionComplete();

    void dump(String8& result);

    // for debugging only
    int getCurrentBufferIndex() const;

+10 −0
Original line number Diff line number Diff line
@@ -182,6 +182,16 @@ int FramebufferNativeWindow::setSwapInterval(
    return fb->setSwapInterval(fb, interval);
}

void FramebufferNativeWindow::dump(String8& result) {
    if (fbDev->common.version >= 1 && fbDev->dump) {
        const size_t SIZE = 4096;
        char buffer[SIZE];

        fbDev->dump(fbDev, buffer, SIZE);
        result.append(buffer);
    }
}

// only for debugging / logging
int FramebufferNativeWindow::getCurrentBufferIndex() const
{
+5 −1
Original line number Diff line number Diff line
@@ -56,7 +56,7 @@ void GraphicBufferAllocator::dump(String8& result) const
    Mutex::Autolock _l(sLock);
    KeyedVector<buffer_handle_t, alloc_rec_t>& list(sAllocList);
    size_t total = 0;
    const size_t SIZE = 512;
    const size_t SIZE = 4096;
    char buffer[SIZE];
    snprintf(buffer, SIZE, "Allocated buffers:\n");
    result.append(buffer);
@@ -71,6 +71,10 @@ void GraphicBufferAllocator::dump(String8& result) const
    }
    snprintf(buffer, SIZE, "Total allocated: %.2f KB\n", total/1024.0f);
    result.append(buffer);
    if (mAllocDev->common.version >= 1 && mAllocDev->dump) {
        mAllocDev->dump(mAllocDev, buffer, SIZE);
        result.append(buffer);
    }
}

void GraphicBufferAllocator::dumpToSystemLog()
+5 −0
Original line number Diff line number Diff line
@@ -367,3 +367,8 @@ void DisplayHardware::makeCurrent() const
{
    eglMakeCurrent(mDisplay, mSurface, mSurface, mContext);
}

void DisplayHardware::dump(String8& res) const
{
    mNativeWindow->dump(res);
}
+2 −0
Original line number Diff line number Diff line
@@ -80,6 +80,8 @@ public:
    EGLDisplay getEGLDisplay() const { return mDisplay; }
    overlay_control_device_t* getOverlayEngine() const { return mOverlayEngine; }

    void dump(String8& res) const;

    // Hardware Composer
    HWComposer& getHwComposer() const;
    
Loading