Loading libs/graphicsenv/GraphicsEnv.cpp +4 −0 Original line number Original line Diff line number Diff line Loading @@ -611,6 +611,10 @@ android_namespace_t* GraphicsEnv::getDriverNamespace() { return mDriverNamespace; return mDriverNamespace; } } std::string GraphicsEnv::getDriverPath() const { return mDriverPath; } android_namespace_t* GraphicsEnv::getAngleNamespace() { android_namespace_t* GraphicsEnv::getAngleNamespace() { std::lock_guard<std::mutex> lock(mNamespaceMutex); std::lock_guard<std::mutex> lock(mNamespaceMutex); Loading libs/graphicsenv/include/graphicsenv/GraphicsEnv.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -58,6 +58,7 @@ public: void setDriverPathAndSphalLibraries(const std::string path, const std::string sphalLibraries); void setDriverPathAndSphalLibraries(const std::string path, const std::string sphalLibraries); // Get the updatable driver namespace. // Get the updatable driver namespace. android_namespace_t* getDriverNamespace(); android_namespace_t* getDriverNamespace(); std::string getDriverPath() const; /* /* * Apis for GpuStats * Apis for GpuStats Loading opengl/libs/EGL/Loader.cpp +5 −0 Original line number Original line Diff line number Diff line Loading @@ -238,6 +238,11 @@ void* Loader::open(egl_connection_t* cnx) bool failToLoadFromDriverSuffixProperty = false; bool failToLoadFromDriverSuffixProperty = false; if (!hnd) { 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 // 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. // the system properties of the GLES userspace driver in both locations. // i.e.: // i.e.: Loading Loading
libs/graphicsenv/GraphicsEnv.cpp +4 −0 Original line number Original line Diff line number Diff line Loading @@ -611,6 +611,10 @@ android_namespace_t* GraphicsEnv::getDriverNamespace() { return mDriverNamespace; return mDriverNamespace; } } std::string GraphicsEnv::getDriverPath() const { return mDriverPath; } android_namespace_t* GraphicsEnv::getAngleNamespace() { android_namespace_t* GraphicsEnv::getAngleNamespace() { std::lock_guard<std::mutex> lock(mNamespaceMutex); std::lock_guard<std::mutex> lock(mNamespaceMutex); Loading
libs/graphicsenv/include/graphicsenv/GraphicsEnv.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -58,6 +58,7 @@ public: void setDriverPathAndSphalLibraries(const std::string path, const std::string sphalLibraries); void setDriverPathAndSphalLibraries(const std::string path, const std::string sphalLibraries); // Get the updatable driver namespace. // Get the updatable driver namespace. android_namespace_t* getDriverNamespace(); android_namespace_t* getDriverNamespace(); std::string getDriverPath() const; /* /* * Apis for GpuStats * Apis for GpuStats Loading
opengl/libs/EGL/Loader.cpp +5 −0 Original line number Original line Diff line number Diff line Loading @@ -238,6 +238,11 @@ void* Loader::open(egl_connection_t* cnx) bool failToLoadFromDriverSuffixProperty = false; bool failToLoadFromDriverSuffixProperty = false; if (!hnd) { 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 // 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. // the system properties of the GLES userspace driver in both locations. // i.e.: // i.e.: Loading