include system ANGLE usage as ANGLE usage

This CL set the system ANGLE usage as GpuStatsInfo::Driver::ANGLE.
Previously it was categorized as GpuStatsInfo::Driver::GL.
The reason is ANGLE will be shipped as a system driver, not as APK.  We
want to monitor the adoption of system ANGLE driver.

Test: collect the GPU stats before and after the CL.  Check the GPU
stats reflects ANGLE traffic.  See details in http://b/308476674#comment3

Test: run CtsAngleIntegrationHostTestCases on ABTD with the change, See
details in http://b/308476674#comment2

Bug: b/308152854, b/308476674, b/308098783
Change-Id: I938b2d112f3da3ced3a1590a08fd70687da855e4
Merged-In: I9beb7c75d65b7aa2b7c5af9f262f30be9d6247d5
diff --git a/opengl/libs/EGL/Loader.cpp b/opengl/libs/EGL/Loader.cpp
index 10857a0..e487cbc 100644
--- a/opengl/libs/EGL/Loader.cpp
+++ b/opengl/libs/EGL/Loader.cpp
@@ -591,6 +591,8 @@
         return nullptr;
     }
 
+    // use ANGLE APK driver
+    android::GraphicsEnv::getInstance().setDriverToLoad(android::GpuStatsInfo::Driver::ANGLE);
     driver_t* hnd = nullptr;
 
     // ANGLE doesn't ship with GLES library, and thus we skip GLES driver.
@@ -661,7 +663,13 @@
 Loader::driver_t* Loader::attempt_to_load_system_driver(egl_connection_t* cnx, const char* suffix,
                                                         const bool exact) {
     ATRACE_CALL();
-    android::GraphicsEnv::getInstance().setDriverToLoad(android::GpuStatsInfo::Driver::GL);
+    if (suffix && strcmp(suffix, "angle") == 0) {
+        // use system ANGLE driver
+        android::GraphicsEnv::getInstance().setDriverToLoad(android::GpuStatsInfo::Driver::ANGLE);
+    } else {
+        android::GraphicsEnv::getInstance().setDriverToLoad(android::GpuStatsInfo::Driver::GL);
+    }
+
     driver_t* hnd = nullptr;
     void* dso = load_system_driver("GLES", suffix, exact);
     if (dso) {