diff options
| author | 2025-01-13 14:03:59 -0700 | |
|---|---|---|
| committer | 2025-02-13 09:28:37 -0700 | |
| commit | 04502468c44452c6eadaf59fdf5e2e8e79b36171 (patch) | |
| tree | d27cad2b154d7c5cb4e8a38c42b1ad4026955f7e /libs/graphicsenv/IGpuService.cpp | |
| parent | 4a5fd7e262df85180d9e6bd247cdb40c65f2ea85 (diff) | |
IGpuService: Add getFeatureOverrides()
Add getFeatureOverrides() to the IGpuService interface. This function
returns the list of feature overrides parsed by GpuService to the
caller. This list of feature overrides will be stored by GraphicsEnv, so
it can later be used to override features when creating the ANGLE EGL
display.
Bug: 372694741
Test: CQ
Flag: com.android.graphics.graphicsenv.flags.feature_overrides
Change-Id: Idb727e23306c3deb2b8f98e6db3d9906bb63598f
Diffstat (limited to 'libs/graphicsenv/IGpuService.cpp')
| -rw-r--r-- | libs/graphicsenv/IGpuService.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libs/graphicsenv/IGpuService.cpp b/libs/graphicsenv/IGpuService.cpp index 42e7c378a9..9a34aff299 100644 --- a/libs/graphicsenv/IGpuService.cpp +++ b/libs/graphicsenv/IGpuService.cpp @@ -119,6 +119,21 @@ public: } return driverPath; } + + FeatureOverrides getFeatureOverrides() override { + Parcel data, reply; + data.writeInterfaceToken(IGpuService::getInterfaceDescriptor()); + + FeatureOverrides featureOverrides; + status_t error = + remote()->transact(BnGpuService::GET_FEATURE_CONFIG_OVERRIDES, data, &reply); + if (error != OK) { + return featureOverrides; + } + + featureOverrides.readFromParcel(&reply); + return featureOverrides; + } }; IMPLEMENT_META_INTERFACE(GpuService, "android.graphicsenv.IGpuService"); @@ -271,6 +286,15 @@ status_t BnGpuService::onTransact(uint32_t code, const Parcel& data, Parcel* rep toggleAngleAsSystemDriver(enableAngleAsSystemDriver); return OK; } + case GET_FEATURE_CONFIG_OVERRIDES: { + CHECK_INTERFACE(IGpuService, data, reply); + + // Get the FeatureOverrides from gpuservice, which implements the IGpuService interface + // with GpuService::getFeatureOverrides(). + FeatureOverrides featureOverrides = getFeatureOverrides(); + featureOverrides.writeToParcel(reply); + return OK; + } default: return BBinder::onTransact(code, data, reply, flags); } |