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

Commit f53ae7ed authored by Cody Northrop's avatar Cody Northrop Committed by Android (Google) Code Review
Browse files

Merge changes from topic "rootless_debug_gles_20181015"

* changes:
  Call down the chain for eglGetError
  Move platform entries init earlier
  Revert "Revert "Rootless Debug for GLES""
  Revert "Revert "Split platform functions from entrypoints""
  Revert "Revert "Rename eglApi.cpp to egl_platform_entries.cpp""
parents 10ca1c36 9a9a1f4b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ cc_library_shared {

    shared_libs: [
        "liblog",
        "libcutils",
    ],

    export_include_dirs: ["include"],
+17 −0
Original line number Diff line number Diff line
@@ -18,9 +18,12 @@
#define LOG_TAG "GraphicsEnv"
#include <graphicsenv/GraphicsEnv.h>

#include <sys/prctl.h>

#include <mutex>

#include <android/dlext.h>
#include <cutils/properties.h>
#include <log/log.h>

// TODO(b/37049319) Get this from a header once one exists
@@ -46,6 +49,14 @@ namespace android {
    return env;
}

int GraphicsEnv::getCanLoadSystemLibraries() {
    if (property_get_bool("ro.debuggable", false) && prctl(PR_GET_DUMPABLE, 0, 0, 0, 0)) {
        // Return an integer value since this crosses library boundaries
        return 1;
    }
    return 0;
}

void GraphicsEnv::setDriverPath(const std::string path) {
    if (!mDriverPath.empty()) {
        ALOGV("ignoring attempt to change driver path from '%s' to '%s'",
@@ -181,4 +192,10 @@ bool android_getAngleDeveloperOptIn() {
const char* android_getAngleAppPref() {
    return android::GraphicsEnv::getInstance().getAngleAppPref();
}
const char* android_getLayerPaths() {
    return android::GraphicsEnv::getInstance().getLayerPaths().c_str();
}
const char* android_getDebugLayers() {
    return android::GraphicsEnv::getInstance().getDebugLayers().c_str();
}
}
+9 −5
Original line number Diff line number Diff line
@@ -29,6 +29,8 @@ class GraphicsEnv {
public:
    static GraphicsEnv& getInstance();

    int getCanLoadSystemLibraries();

    // Set a search path for loading graphics drivers. The path is a list of
    // directories separated by ':'. A directory can be contained in a zip file
    // (drivers must be stored uncompressed and page aligned); such elements
@@ -90,6 +92,8 @@ android_namespace_t* android_getAngleNamespace();
    const char* android_getAngleAppName();
    const char* android_getAngleAppPref();
    bool android_getAngleDeveloperOptIn();
    const char* android_getLayerPaths();
    const char* android_getDebugLayers();
}

#endif // ANDROID_UI_GRAPHICS_ENV_H
+5 −0
Original line number Diff line number Diff line
@@ -140,8 +140,10 @@ cc_library_shared {
        "EGL/egl_cache.cpp",
        "EGL/egl_display.cpp",
        "EGL/egl_object.cpp",
        "EGL/egl_layers.cpp",
        "EGL/egl.cpp",
        "EGL/eglApi.cpp",
        "EGL/egl_platform_entries.cpp",
        "EGL/Loader.cpp",
        "EGL/egl_angle_platform.cpp",
    ],
@@ -149,8 +151,11 @@ cc_library_shared {
        "libvndksupport",
        "android.hardware.configstore@1.0",
        "android.hardware.configstore-utils",
        "libbase",
        "libhidlbase",
        "libhidltransport",
        "libnativebridge",
        "libnativeloader",
        "libutils",
    ],
    static_libs: [
+1 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@
#endif
#include <vndksupport/linker.h>

#include "egl_platform_entries.h"
#include "egl_trace.h"
#include "egldefs.h"

Loading