diff options
Diffstat (limited to 'libs/graphicsenv/GraphicsEnv.cpp')
| -rw-r--r-- | libs/graphicsenv/GraphicsEnv.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/libs/graphicsenv/GraphicsEnv.cpp b/libs/graphicsenv/GraphicsEnv.cpp index 0a5416128e..ed5d5c1095 100644 --- a/libs/graphicsenv/GraphicsEnv.cpp +++ b/libs/graphicsenv/GraphicsEnv.cpp @@ -530,7 +530,11 @@ bool GraphicsEnv::shouldUseAngle() { return mShouldUseAngle; } -void GraphicsEnv::setAngleInfo(const std::string& path, const bool shouldUseSystemAngle, +// 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, const std::string& packageName, const std::vector<std::string> eglFeatures) { if (mShouldUseAngle) { @@ -547,8 +551,13 @@ void GraphicsEnv::setAngleInfo(const std::string& path, const bool shouldUseSyst mAnglePath = std::move(path); ALOGV("setting app package name to '%s'", packageName.c_str()); mPackageName = std::move(packageName); - mShouldUseAngle = true; - mShouldUseSystemAngle = shouldUseSystemAngle; + if (mAnglePath == "system") { + mShouldUseSystemAngle = true; + } + if (!mAnglePath.empty()) { + mShouldUseAngle = true; + } + mShouldUseNativeDriver = shouldUseNativeDriver; } std::string& GraphicsEnv::getPackageName() { @@ -625,6 +634,10 @@ bool GraphicsEnv::shouldUseSystemAngle() { return mShouldUseSystemAngle; } +bool GraphicsEnv::shouldUseNativeDriver() { + return mShouldUseNativeDriver; +} + /** * APIs for debuggable layers */ |