diff options
| author | Tim Van Patten <timvp@google.com> | 2021-11-24 19:27:10 -0700 |
|---|---|---|
| committer | Tim Van Patten <timvp@google.com> | 2021-12-01 12:50:59 -0700 |
| commit | 6e2a6588aac6ec6efcc83e460b8dbbcf23d59f8b (patch) | |
| tree | 7c318a92a492a3e3ef0b112e21a7825be0e776c0 /core/java/android/os/GraphicsEnvironment.java | |
| parent | cc09b29e599b0bf965ec1c75ee4d9cee36c21aa0 (diff) | |
Correctly call setGpuStats() for ANGLE/system driver
In GraphicsEnvironment, correctly indicate if the loaded driver is ANGLE
or the system driver. This allows the 'dumpsys gpu' command to have the
correct value in the angleInUse field.
Bug: b/154955572
Test: adb shell dumpsys gpu
Test: atest CtsAngleIntegrationHostTestCases
Change-Id: I6db466b796e216367b0a220e432067b9ae6f485b
Diffstat (limited to 'core/java/android/os/GraphicsEnvironment.java')
| -rw-r--r-- | core/java/android/os/GraphicsEnvironment.java | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/core/java/android/os/GraphicsEnvironment.java b/core/java/android/os/GraphicsEnvironment.java index be21fea1d0df..2ea63297aff2 100644 --- a/core/java/android/os/GraphicsEnvironment.java +++ b/core/java/android/os/GraphicsEnvironment.java @@ -71,6 +71,9 @@ public class GraphicsEnvironment { private static final String SYSTEM_DRIVER_NAME = "system"; private static final String SYSTEM_DRIVER_VERSION_NAME = ""; private static final long SYSTEM_DRIVER_VERSION_CODE = 0; + private static final String ANGLE_DRIVER_NAME = "angle"; + private static final String ANGLE_DRIVER_VERSION_NAME = ""; + private static final long ANGLE_DRIVER_VERSION_CODE = 0; // System properties related to updatable graphics drivers. private static final String PROPERTY_GFX_DRIVER_PRODUCTION = "ro.gfx.driver.0"; @@ -138,14 +141,24 @@ public class GraphicsEnvironment { Trace.traceEnd(Trace.TRACE_TAG_GRAPHICS); Trace.traceBegin(Trace.TRACE_TAG_GRAPHICS, "setupAngle"); - setupAngle(context, coreSettings, pm, packageName); + boolean useAngle = false; + if (setupAngle(context, coreSettings, pm, packageName)) { + if (shouldUseAngle(context, coreSettings, packageName)) { + useAngle = true; + setGpuStats(ANGLE_DRIVER_NAME, ANGLE_DRIVER_VERSION_NAME, ANGLE_DRIVER_VERSION_CODE, + 0, packageName, getVulkanVersion(pm)); + } + } Trace.traceEnd(Trace.TRACE_TAG_GRAPHICS); Trace.traceBegin(Trace.TRACE_TAG_GRAPHICS, "chooseDriver"); if (!chooseDriver(context, coreSettings, pm, packageName, appInfoWithMetaData)) { - setGpuStats(SYSTEM_DRIVER_NAME, SYSTEM_DRIVER_VERSION_NAME, SYSTEM_DRIVER_VERSION_CODE, - SystemProperties.getLong(PROPERTY_GFX_DRIVER_BUILD_TIME, 0), packageName, - getVulkanVersion(pm)); + if (!useAngle) { + setGpuStats(SYSTEM_DRIVER_NAME, SYSTEM_DRIVER_VERSION_NAME, + SYSTEM_DRIVER_VERSION_CODE, + SystemProperties.getLong(PROPERTY_GFX_DRIVER_BUILD_TIME, 0), + packageName, getVulkanVersion(pm)); + } } Trace.traceEnd(Trace.TRACE_TAG_GRAPHICS); } |
