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

Commit e26310e4 authored by Peiyong Lin's avatar Peiyong Lin Committed by Automerger Merge Worker
Browse files

Merge "Clean up ANGLE on system assumption." into main am: 342f9224 am: 56bc3166

parents d47c603a 56bc3166
Loading
Loading
Loading
Loading
+4 −9
Original line number Diff line number Diff line
@@ -67,7 +67,6 @@ static const char* PERSIST_DRIVER_SUFFIX_PROPERTY = "persist.graphics.egl";
static const char* RO_DRIVER_SUFFIX_PROPERTY = "ro.hardware.egl";
static const char* RO_BOARD_PLATFORM_PROPERTY = "ro.board.platform";
static const char* ANGLE_SUFFIX_VALUE = "angle";
static const char* VENDOR_ANGLE_BUILD = "ro.gfx.angle.supported";

static const char* HAL_SUBNAME_KEY_PROPERTIES[3] = {
        PERSIST_DRIVER_SUFFIX_PROPERTY,
@@ -494,14 +493,9 @@ static void* load_system_driver(const char* kind, const char* suffix, const bool

    void* dso = nullptr;

    const bool AngleInVendor = property_get_bool(VENDOR_ANGLE_BUILD, false);
    const bool isSuffixAngle = suffix != nullptr && strcmp(suffix, ANGLE_SUFFIX_VALUE) == 0;
    // Only use sphal namespace when system ANGLE binaries are not the default drivers.
    const bool useSphalNamespace =  !isSuffixAngle || AngleInVendor;

    const std::string absolutePath =
            findLibrary(libraryName, useSphalNamespace ? VENDOR_LIB_EGL_DIR : SYSTEM_LIB_PATH,
                        exact);
            findLibrary(libraryName, isSuffixAngle ? SYSTEM_LIB_PATH : VENDOR_LIB_EGL_DIR, exact);
    if (absolutePath.empty()) {
        // this happens often, we don't want to log an error
        return nullptr;
@@ -509,8 +503,9 @@ static void* load_system_driver(const char* kind, const char* suffix, const bool
    const char* const driverAbsolutePath = absolutePath.c_str();

    // Currently the default driver is unlikely to be ANGLE on most devices,
    // hence put this first.
    if (useSphalNamespace) {
    // hence put this first. Only use sphal namespace when system ANGLE binaries
    // are not the default drivers.
    if (!isSuffixAngle) {
        // Try to load drivers from the 'sphal' namespace, if it exist. Fall back to
        // the original routine when the namespace does not exist.
        // See /system/linkerconfig/contents/namespace for the configuration of the