summaryrefslogtreecommitdiff
path: root/libs/graphicsenv/GraphicsEnv.cpp
diff options
context:
space:
mode:
author Android Build Coastguard Worker <android-build-coastguard-worker@google.com> 2025-02-20 16:14:45 -0800
committer Android Build Coastguard Worker <android-build-coastguard-worker@google.com> 2025-02-20 16:14:45 -0800
commitb0e0a77c19b79e9aec90d055fa2a9be87948ee8a (patch)
treef4e05e04931c9774fde7c7158b2b215377386055 /libs/graphicsenv/GraphicsEnv.cpp
parent9fc5d99c4996c0230d01840781db8a0a041f4b4f (diff)
parentee4497116b560289f1ad95bae733f707a25a129a (diff)
Snap for 13097162 from ee4497116b560289f1ad95bae733f707a25a129a to 25Q2-release
Change-Id: Iff8ef6cb85edfbfe64bbff67fd27e5c7241d5444
Diffstat (limited to 'libs/graphicsenv/GraphicsEnv.cpp')
-rw-r--r--libs/graphicsenv/GraphicsEnv.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/libs/graphicsenv/GraphicsEnv.cpp b/libs/graphicsenv/GraphicsEnv.cpp
index 4bc261106a..626581cc2a 100644
--- a/libs/graphicsenv/GraphicsEnv.cpp
+++ b/libs/graphicsenv/GraphicsEnv.cpp
@@ -621,6 +621,10 @@ void GraphicsEnv::setAngleInfo(const std::string& path, const bool shouldUseNati
mShouldUseAngle = true;
}
mShouldUseNativeDriver = shouldUseNativeDriver;
+
+ if (mShouldUseAngle) {
+ updateAngleFeatureOverrides();
+ }
}
std::string& GraphicsEnv::getPackageName() {
@@ -632,6 +636,22 @@ const std::vector<std::string>& GraphicsEnv::getAngleEglFeatures() {
return mAngleEglFeatures;
}
+// List of ANGLE features to override (enabled or disable).
+// The list of overrides is loaded and parsed by GpuService.
+void GraphicsEnv::updateAngleFeatureOverrides() {
+ if (!graphicsenv_flags::feature_overrides()) {
+ return;
+ }
+
+ const sp<IGpuService> gpuService = getGpuService();
+ if (!gpuService) {
+ ALOGE("No GPU service");
+ return;
+ }
+
+ mFeatureOverrides = gpuService->getFeatureOverrides();
+}
+
void GraphicsEnv::getAngleFeatureOverrides(std::vector<const char*>& enabled,
std::vector<const char*>& disabled) {
if (!graphicsenv_flags::feature_overrides()) {