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

Commit 2322d23a authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 6314400 from 3895bbf1 to rvc-release

Change-Id: I7c0687803240c78b90721f383a8157a035806e57
parents 2da6cae9 3895bbf1
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -1273,11 +1273,6 @@ class Dex2oatFileWrapper {
Dex2oatFileWrapper maybe_open_app_image(const char* out_oat_path,
        bool generate_app_image, bool is_public, int uid, bool is_secondary_dex) {

    // We don't create an image for secondary dex files.
    if (is_secondary_dex) {
        return Dex2oatFileWrapper();
    }

    const std::string image_path = create_image_filename(out_oat_path);
    if (image_path.empty()) {
        // Happens when the out_oat_path has an unknown extension.
+0 −25
Original line number Diff line number Diff line
@@ -32,23 +32,14 @@ namespace renderengine {
namespace gl {

GLFramebuffer::GLFramebuffer(GLESRenderEngine& engine)
      : GLFramebuffer(engine, false /* multiTarget */) {}

GLFramebuffer::GLFramebuffer(GLESRenderEngine& engine, bool multiTarget)
      : mEngine(engine), mEGLDisplay(engine.getEGLDisplay()), mEGLImage(EGL_NO_IMAGE_KHR) {
    glGenTextures(1, &mTextureName);
    if (multiTarget) {
        glGenTextures(1, &mSecondaryTextureName);
    }
    glGenFramebuffers(1, &mFramebufferName);
}

GLFramebuffer::~GLFramebuffer() {
    glDeleteFramebuffers(1, &mFramebufferName);
    glDeleteTextures(1, &mTextureName);
    if (mSecondaryTextureName != -1) {
        glDeleteTextures(1, &mSecondaryTextureName);
    }
}

bool GLFramebuffer::setNativeWindowBuffer(ANativeWindowBuffer* nativeBuffer, bool isProtected,
@@ -87,28 +78,12 @@ void GLFramebuffer::allocateBuffers(uint32_t width, uint32_t height) {
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_MIRRORED_REPEAT);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_MIRRORED_REPEAT);

    const bool multiTarget = mSecondaryTextureName != -1;
    if (multiTarget) {
        glBindTexture(GL_TEXTURE_2D, mSecondaryTextureName);
        glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, nullptr);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_MIRRORED_REPEAT);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_MIRRORED_REPEAT);
    }

    mBufferHeight = height;
    mBufferWidth = width;
    mEngine.checkErrors("Allocating Fbo texture");

    bind();
    glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, mTextureName, 0);
    if (multiTarget) {
        glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT1_EXT, GL_TEXTURE_2D,
                               mSecondaryTextureName, 0);
        GLenum buffers[] = {GL_COLOR_ATTACHMENT0_EXT, GL_COLOR_ATTACHMENT1_EXT};
        glDrawBuffers(2, buffers);
    }
    mStatus = glCheckFramebufferStatus(GL_FRAMEBUFFER);
    unbind();
    glBindTexture(GL_TEXTURE_2D, 0);
+0 −2
Original line number Diff line number Diff line
@@ -42,7 +42,6 @@ public:
    void allocateBuffers(uint32_t width, uint32_t height);
    EGLImageKHR getEGLImage() const { return mEGLImage; }
    uint32_t getTextureName() const { return mTextureName; }
    uint32_t getSecondaryTextureName() const { return mSecondaryTextureName; }
    uint32_t getFramebufferName() const { return mFramebufferName; }
    int32_t getBufferHeight() const { return mBufferHeight; }
    int32_t getBufferWidth() const { return mBufferWidth; }
@@ -59,7 +58,6 @@ private:
    bool usingFramebufferCache = false;
    GLenum mStatus = GL_FRAMEBUFFER_UNSUPPORTED;
    uint32_t mTextureName, mFramebufferName;
    uint32_t mSecondaryTextureName = -1;

    int32_t mBufferHeight = 0;
    int32_t mBufferWidth = 0;
+16 −9
Original line number Diff line number Diff line
@@ -30,17 +30,12 @@

namespace android {

GpuStats::GpuStats() {
    AStatsManager_registerPullAtomCallback(android::util::GPU_STATS_GLOBAL_INFO,
                                           GpuStats::pullAtomCallback, nullptr, this);
    AStatsManager_registerPullAtomCallback(android::util::GPU_STATS_APP_INFO,
                                           GpuStats::pullAtomCallback, nullptr, this);
}

GpuStats::~GpuStats() {
    if (mStatsdRegistered) {
        AStatsManager_unregisterPullAtomCallback(android::util::GPU_STATS_GLOBAL_INFO);
        AStatsManager_unregisterPullAtomCallback(android::util::GPU_STATS_APP_INFO);
    }
}

static void addLoadingCount(GpuStatsInfo::Driver driver, bool isDriverLoaded,
                            GpuStatsGlobalInfo* const outGlobalInfo) {
@@ -97,6 +92,7 @@ void GpuStats::insertDriverStats(const std::string& driverPackageName,
    ATRACE_CALL();

    std::lock_guard<std::mutex> lock(mLock);
    registerStatsdCallbacksIfNeeded();
    ALOGV("Received:\n"
          "\tdriverPackageName[%s]\n"
          "\tdriverVersionName[%s]\n"
@@ -150,6 +146,7 @@ void GpuStats::insertTargetStats(const std::string& appPackageName,
    const std::string appStatsKey = appPackageName + std::to_string(driverVersionCode);

    std::lock_guard<std::mutex> lock(mLock);
    registerStatsdCallbacksIfNeeded();
    if (!mAppStats.count(appStatsKey)) {
        return;
    }
@@ -179,6 +176,16 @@ void GpuStats::interceptSystemDriverStatsLocked() {
    mGlobalStats[0].glesVersion = property_get_int32("ro.opengles.version", 0);
}

void GpuStats::registerStatsdCallbacksIfNeeded() {
    if (!mStatsdRegistered) {
        AStatsManager_registerPullAtomCallback(android::util::GPU_STATS_GLOBAL_INFO,
                                               GpuStats::pullAtomCallback, nullptr, this);
        AStatsManager_registerPullAtomCallback(android::util::GPU_STATS_APP_INFO,
                                               GpuStats::pullAtomCallback, nullptr, this);
        mStatsdRegistered = true;
    }
}

void GpuStats::dump(const Vector<String16>& args, std::string* result) {
    ATRACE_CALL();

+4 −1
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ namespace android {

class GpuStats {
public:
    GpuStats();
    ~GpuStats();

    // Insert new gpu driver stats into global stats and app stats.
@@ -66,12 +65,16 @@ private:
    void dumpAppLocked(std::string* result);
    // Append cpuVulkanVersion and glesVersion to system driver stats
    void interceptSystemDriverStatsLocked();
    // Registers statsd callbacks if they have not already been registered
    void registerStatsdCallbacksIfNeeded();

    // Below limits the memory usage of GpuStats to be less than 10KB. This is
    // the preferred number for statsd while maintaining nice data quality.
    static const size_t MAX_NUM_APP_RECORDS = 100;
    // GpuStats access should be guarded by mLock.
    std::mutex mLock;
    // True if statsd callbacks have been registered.
    bool mStatsdRegistered = false;
    // Key is driver version code.
    std::unordered_map<uint64_t, GpuStatsGlobalInfo> mGlobalStats;
    // Key is <app package name>+<driver version code>.