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

Commit faaf6872 authored by Mike Reed's avatar Mike Reed
Browse files

remove unneeded RecordedOps

Test: make

Change-Id: Ifcb0df64ad649623ae875462f55d9009a4e1ac03
parent 293cd102
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -206,15 +206,12 @@ cc_defaults {
        "FrameInfoVisualizer.cpp",
        "GlLayer.cpp",
        "GpuMemoryTracker.cpp",
        "Image.cpp",
        "Interpolator.cpp",
        "JankTracker.cpp",
        "Layer.cpp",
        "LayerUpdateQueue.cpp",
        "Matrix.cpp",
        "OpDumper.cpp",
        "EglReadback.cpp",
        "Patch.cpp",
        "PathParser.cpp",
        "PixelBuffer.cpp",
        "ProfileData.cpp",
@@ -318,7 +315,6 @@ cc_test {
        "tests/unit/LayerUpdateQueueTests.cpp",
        "tests/unit/LinearAllocatorTests.cpp",
        "tests/unit/MatrixTests.cpp",
        "tests/unit/OpDumperTests.cpp",
        "tests/unit/PathInterpolatorTests.cpp",
        "tests/unit/RenderNodeDrawableTests.cpp",
        "tests/unit/RenderNodeTests.cpp",

libs/hwui/Image.cpp

deleted100644 → 0
+0 −61
Original line number Diff line number Diff line
/*
 * Copyright (C) 2013 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include <utils/Log.h>

#include "Caches.h"
#include "Image.h"

namespace android {
namespace uirenderer {

Image::Image(sp<GraphicBuffer> buffer) {
    // Create the EGLImage object that maps the GraphicBuffer
    EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
    EGLClientBuffer clientBuffer = (EGLClientBuffer)buffer->getNativeBuffer();
    EGLint attrs[] = {EGL_IMAGE_PRESERVED_KHR, EGL_TRUE, EGL_NONE};

    mImage = eglCreateImageKHR(display, EGL_NO_CONTEXT, EGL_NATIVE_BUFFER_ANDROID, clientBuffer,
                               attrs);

    if (mImage == EGL_NO_IMAGE_KHR) {
        ALOGW("Error creating image (%#x)", eglGetError());
        mTexture = 0;
    } else {
        // Create a 2D texture to sample from the EGLImage
        glGenTextures(1, &mTexture);
        Caches::getInstance().textureState().bindTexture(mTexture);
        glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, mImage);

        GLenum status = GL_NO_ERROR;
        while ((status = glGetError()) != GL_NO_ERROR) {
            ALOGW("Error creating image (%#x)", status);
        }
    }
}

Image::~Image() {
    if (mImage != EGL_NO_IMAGE_KHR) {
        eglDestroyImageKHR(eglGetDisplay(EGL_DEFAULT_DISPLAY), mImage);
        mImage = EGL_NO_IMAGE_KHR;

        Caches::getInstance().textureState().deleteTexture(mTexture);
        mTexture = 0;
    }
}

};  // namespace uirenderer
};  // namespace android

libs/hwui/Image.h

deleted100644 → 0
+0 −63
Original line number Diff line number Diff line
/*
 * Copyright (C) 2013 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef ANDROID_HWUI_IMAGE_H
#define ANDROID_HWUI_IMAGE_H

#include <EGL/egl.h>
#include <EGL/eglext.h>

#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>

#include <ui/GraphicBuffer.h>

namespace android {
namespace uirenderer {

/**
 * A simple wrapper that creates an EGLImage and a texture for a GraphicBuffer.
 */
class Image {
public:
    /**
     * Creates a new image from the specified graphic buffer. If the image
     * cannot be created, getTexture() will return 0 and getImage() will
     * return EGL_NO_IMAGE_KHR.
     */
    explicit Image(sp<GraphicBuffer> buffer);
    ~Image();

    /**
     * Returns the name of the GL texture that can be used to sample
     * from this image.
     */
    GLuint getTexture() const { return mTexture; }

    /**
     * Returns the name of the EGL image represented by this object.
     */
    EGLImageKHR getImage() const { return mImage; }

private:
    GLuint mTexture;
    EGLImageKHR mImage;
};  // class Image

};  // namespace uirenderer
};  // namespace android

#endif  // ANDROID_HWUI_IMAGE_H

libs/hwui/OpDumper.cpp

deleted100644 → 0
+0 −53
Original line number Diff line number Diff line
/*
 * Copyright (C) 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include "OpDumper.h"

#include "ClipArea.h"
#include "RecordedOp.h"

namespace android {
namespace uirenderer {

#define STRINGIFY(n) #n,
static const char* sOpNameLut[] = BUILD_FULL_OP_LUT(STRINGIFY);

void OpDumper::dump(const RecordedOp& op, std::ostream& output, int level) {
    for (int i = 0; i < level; i++) {
        output << "  ";
    }

    Rect localBounds(op.unmappedBounds);
    op.localMatrix.mapRect(localBounds);
    output << sOpNameLut[op.opId] << " " << localBounds;

    if (op.localClip &&
        (!op.localClip->rect.contains(localBounds) || op.localClip->intersectWithRoot)) {
        output << std::fixed << std::setprecision(0) << " clip=" << op.localClip->rect
               << " mode=" << (int)op.localClip->mode;

        if (op.localClip->intersectWithRoot) {
            output << " iwr";
        }
    }
}

const char* OpDumper::opName(const RecordedOp& op) {
    return sOpNameLut[op.opId];
}

}  // namespace uirenderer
}  // namespace android

libs/hwui/OpDumper.h

deleted100644 → 0
+0 −33
Original line number Diff line number Diff line
/*
 * Copyright (C) 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#pragma once

#include <ostream>

namespace android {
namespace uirenderer {

struct RecordedOp;

class OpDumper {
public:
    static void dump(const RecordedOp& op, std::ostream& output, int level = 0);
    static const char* opName(const RecordedOp& op);
};

};  // namespace uirenderer
};  // namespace android
Loading