diff options
| author | 2025-02-20 16:14:45 -0800 | |
|---|---|---|
| committer | 2025-02-20 16:14:45 -0800 | |
| commit | b0e0a77c19b79e9aec90d055fa2a9be87948ee8a (patch) | |
| tree | f4e05e04931c9774fde7c7158b2b215377386055 /libs/graphicsenv/GraphicsEnv.cpp | |
| parent | 9fc5d99c4996c0230d01840781db8a0a041f4b4f (diff) | |
| parent | ee4497116b560289f1ad95bae733f707a25a129a (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.cpp | 20 |
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()) { |