From 6e2a6588aac6ec6efcc83e460b8dbbcf23d59f8b Mon Sep 17 00:00:00 2001 From: Tim Van Patten Date: Wed, 24 Nov 2021 19:27:10 -0700 Subject: [PATCH] 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 --- core/java/android/os/GraphicsEnvironment.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/core/java/android/os/GraphicsEnvironment.java b/core/java/android/os/GraphicsEnvironment.java index be21fea1d0dfa..2ea63297aff2d 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); }