diff options
| -rw-r--r-- | libs/graphicsenv/GraphicsEnv.cpp | 19 | ||||
| -rw-r--r-- | libs/graphicsenv/include/graphicsenv/GraphicsEnv.h | 8 | ||||
| -rw-r--r-- | opengl/libs/EGL/Loader.cpp | 29 | 
3 files changed, 10 insertions, 46 deletions
| diff --git a/libs/graphicsenv/GraphicsEnv.cpp b/libs/graphicsenv/GraphicsEnv.cpp index ed5d5c1095..0a5416128e 100644 --- a/libs/graphicsenv/GraphicsEnv.cpp +++ b/libs/graphicsenv/GraphicsEnv.cpp @@ -530,11 +530,7 @@ bool GraphicsEnv::shouldUseAngle() {      return mShouldUseAngle;  } -// Set ANGLE information. -// If path is "system", it means system ANGLE must be used for the process. -// If shouldUseNativeDriver is true, it means native GLES drivers must be used for the process. -// If path is set to nonempty and shouldUseNativeDriver is true, ANGLE will be used regardless. -void GraphicsEnv::setAngleInfo(const std::string& path, const bool shouldUseNativeDriver, +void GraphicsEnv::setAngleInfo(const std::string& path, const bool shouldUseSystemAngle,                                 const std::string& packageName,                                 const std::vector<std::string> eglFeatures) {      if (mShouldUseAngle) { @@ -551,13 +547,8 @@ void GraphicsEnv::setAngleInfo(const std::string& path, const bool shouldUseNati      mAnglePath = std::move(path);      ALOGV("setting app package name to '%s'", packageName.c_str());      mPackageName = std::move(packageName); -    if (mAnglePath == "system") { -        mShouldUseSystemAngle = true; -    } -    if (!mAnglePath.empty()) { -        mShouldUseAngle = true; -    } -    mShouldUseNativeDriver = shouldUseNativeDriver; +    mShouldUseAngle = true; +    mShouldUseSystemAngle = shouldUseSystemAngle;  }  std::string& GraphicsEnv::getPackageName() { @@ -634,10 +625,6 @@ bool GraphicsEnv::shouldUseSystemAngle() {      return mShouldUseSystemAngle;  } -bool GraphicsEnv::shouldUseNativeDriver() { -    return mShouldUseNativeDriver; -} -  /**   * APIs for debuggable layers   */ diff --git a/libs/graphicsenv/include/graphicsenv/GraphicsEnv.h b/libs/graphicsenv/include/graphicsenv/GraphicsEnv.h index 6cce3f6998..fbf2902869 100644 --- a/libs/graphicsenv/include/graphicsenv/GraphicsEnv.h +++ b/libs/graphicsenv/include/graphicsenv/GraphicsEnv.h @@ -108,10 +108,7 @@ public:      // (libraries must be stored uncompressed and page aligned); such elements      // in the search path must have a '!' after the zip filename, e.g.      //     /system/app/ANGLEPrebuilt/ANGLEPrebuilt.apk!/lib/arm64-v8a -    // If the search patch is "system", then it means the system ANGLE should be used. -    // If shouldUseNativeDriver is true, it means native GLES drivers must be used for the process. -    // If path is set to nonempty and shouldUseNativeDriver is true, ANGLE will be used regardless. -    void setAngleInfo(const std::string& path, const bool shouldUseNativeDriver, +    void setAngleInfo(const std::string& path, const bool useSystemAngle,                        const std::string& packageName, const std::vector<std::string> eglFeatures);      // Get the ANGLE driver namespace.      android_namespace_t* getAngleNamespace(); @@ -121,7 +118,6 @@ public:      // Set the persist.graphics.egl system property value.      void nativeToggleAngleAsSystemDriver(bool enabled);      bool shouldUseSystemAngle(); -    bool shouldUseNativeDriver();      /*       * Apis for debug layer @@ -179,8 +175,6 @@ private:      bool mShouldUseAngle = false;      // Whether loader should load system ANGLE.      bool mShouldUseSystemAngle = false; -    // Whether loader should load native GLES driver. -    bool mShouldUseNativeDriver = false;      // ANGLE namespace.      android_namespace_t* mAngleNamespace = nullptr; diff --git a/opengl/libs/EGL/Loader.cpp b/opengl/libs/EGL/Loader.cpp index 654e5b7c03..8d0eb590bf 100644 --- a/opengl/libs/EGL/Loader.cpp +++ b/opengl/libs/EGL/Loader.cpp @@ -169,11 +169,6 @@ static bool should_unload_system_driver(egl_connection_t* cnx) {          }      } -    // Return true if native GLES drivers should be used and ANGLE is already loaded. -    if (android::GraphicsEnv::getInstance().shouldUseNativeDriver() && cnx->angleLoaded) { -        return true; -    } -      // Return true if updated driver namespace is set.      ns = android::GraphicsEnv::getInstance().getDriverNamespace();      if (ns) { @@ -245,28 +240,16 @@ void* Loader::open(egl_connection_t* cnx) {      if (!hnd) {          // Secondly, try to load from driver apk.          hnd = attempt_to_load_updated_driver(cnx); - -        // If updated driver apk is set but fail to load, abort here. -        LOG_ALWAYS_FATAL_IF(android::GraphicsEnv::getInstance().getDriverNamespace(), -                            "couldn't find an OpenGL ES implementation from %s", -                            android::GraphicsEnv::getInstance().getDriverPath().c_str());      } -    // Attempt to load native GLES drivers specified by ro.hardware.egl if native is selected. -    // If native is selected but fail to load, abort. -    if (!hnd && android::GraphicsEnv::getInstance().shouldUseNativeDriver()) { -        auto driverSuffix = base::GetProperty(RO_DRIVER_SUFFIX_PROPERTY, ""); -        LOG_ALWAYS_FATAL_IF(driverSuffix.empty(), -                            "Native GLES driver is selected but not specified in %s", -                            RO_DRIVER_SUFFIX_PROPERTY); -        hnd = attempt_to_load_system_driver(cnx, driverSuffix.c_str(), true); -        LOG_ALWAYS_FATAL_IF(!hnd, "Native GLES driver is selected but failed to load. %s=%s", -                            RO_DRIVER_SUFFIX_PROPERTY, driverSuffix.c_str()); -    } - -    // Finally, try to load default driver.      bool failToLoadFromDriverSuffixProperty = false;      if (!hnd) { +        // If updated driver apk is set but fail to load, abort here. +        if (android::GraphicsEnv::getInstance().getDriverNamespace()) { +            LOG_ALWAYS_FATAL("couldn't find an OpenGL ES implementation from %s", +                             android::GraphicsEnv::getInstance().getDriverPath().c_str()); +        } +        // Finally, try to load system driver.          // Start by searching for the library name appended by the system          // properties of the GLES userspace driver in both locations.          // i.e.: |