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

Commit da805b14 authored by Romain Guy's avatar Romain Guy Committed by Android Git Automerger
Browse files

am c5801680: Merge "Tag HardwareRenderers with a name to help debugging"

# Via Android (Google) Code Review (1) and Romain Guy (1)
* commit 'c5801680':
  Tag HardwareRenderers with a name to help debugging
parents 64d7a44a c5801680
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -144,6 +144,14 @@ class GLES20Canvas extends HardwareCanvas {
        }
    }

    @Override
    public void setName(String name) {
        super.setName(name);
        nSetName(mRenderer, name);
    }

    private static native void nSetName(int renderer, String name);

    ///////////////////////////////////////////////////////////////////////////
    // Hardware layers
    ///////////////////////////////////////////////////////////////////////////
+1 −1
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ class GLES20RecordingCanvas extends GLES20Canvas {
    private GLES20DisplayList mDisplayList;

    private GLES20RecordingCanvas() {
        super(true /*record*/, true /*translucent*/);
        super(true, true);
    }

    static GLES20RecordingCanvas obtain(GLES20DisplayList displayList) {
+26 −1
Original line number Diff line number Diff line
@@ -27,6 +27,8 @@ import android.graphics.Rect;
 * @hide 
 */
public abstract class HardwareCanvas extends Canvas {
    private String mName;

    @Override
    public boolean isHardwareAccelerated() {
        return true;
@@ -37,6 +39,29 @@ public abstract class HardwareCanvas extends Canvas {
        throw new UnsupportedOperationException();
    }

    /**
     * Specifies the name of this canvas. Naming the canvas is entirely
     * optional but can be useful for debugging purposes.
     *
     * @param name The name of the canvas, can be null
     *
     * @see #getName()
     */
    public void setName(String name) {
        mName = name;
    }

    /**
     * Returns the name of this canvas.
     *
     * @return The name of the canvas or null
     *
     * @see #setName(String)
     */
    public String getName() {
        return mName;
    }

    /**
     * Invoked before any drawing operation is performed in this canvas.
     * 
+15 −0
Original line number Diff line number Diff line
@@ -542,6 +542,13 @@ public abstract class HardwareRenderer {
        return false;
    }

    /**
     * Optional, sets the name of the renderer. Useful for debugging purposes.
     *
     * @param name The name of this renderer, can be null
     */
    abstract void setName(String name);

    /**
     * Creates a hardware renderer using OpenGL.
     * 
@@ -756,6 +763,8 @@ public abstract class HardwareRenderer {
        GL mGl;
        HardwareCanvas mCanvas;

        String mName;

        long mFrameCount;
        Paint mDebugPaint;

@@ -963,6 +972,7 @@ public abstract class HardwareRenderer {
                    } else {
                        if (mCanvas == null) {
                            mCanvas = createCanvas();
                            mCanvas.setName(mName);
                        }
                        if (mCanvas != null) {
                            setEnabled(true);
@@ -1277,6 +1287,11 @@ public abstract class HardwareRenderer {
            return mCanvas;
        }

        @Override
        void setName(String name) {
            mName = name;
        }

        boolean canDraw() {
            return mGl != null && mCanvas != null;
        }        
+1 −0
Original line number Diff line number Diff line
@@ -739,6 +739,7 @@ public final class ViewRootImpl implements ViewParent,

                final boolean translucent = attrs.format != PixelFormat.OPAQUE;
                mAttachInfo.mHardwareRenderer = HardwareRenderer.createGlRenderer(2, translucent);
                mAttachInfo.mHardwareRenderer.setName(attrs.getTitle().toString());
                mAttachInfo.mHardwareAccelerated = mAttachInfo.mHardwareAccelerationRequested
                        = mAttachInfo.mHardwareRenderer != null;

Loading