diff options
author | 2023-11-13 02:52:55 +0000 | |
---|---|---|
committer | 2023-11-13 02:52:55 +0000 | |
commit | 5f66ad6cdeb56d64db70609d8aa696b33697c3d7 (patch) | |
tree | 7223eff8fad666a0d5dd0791d76f24cb9da1b541 | |
parent | 2953706fb1bcddce000221c531ccff431b46b20b (diff) | |
parent | 54161bf487f036bf7c795de6fabb75b340c9c9c0 (diff) |
Merge "include system ANGLE usage as ANGLE usage" into main
-rw-r--r-- | libs/graphicsenv/include/graphicsenv/GpuStatsInfo.h | 2 | ||||
-rw-r--r-- | opengl/libs/EGL/Loader.cpp | 10 | ||||
-rw-r--r-- | services/gpuservice/gpustats/GpuStats.cpp | 6 |
3 files changed, 14 insertions, 4 deletions
diff --git a/libs/graphicsenv/include/graphicsenv/GpuStatsInfo.h b/libs/graphicsenv/include/graphicsenv/GpuStatsInfo.h index 47607a0ab9..9ebaf16eb4 100644 --- a/libs/graphicsenv/include/graphicsenv/GpuStatsInfo.h +++ b/libs/graphicsenv/include/graphicsenv/GpuStatsInfo.h @@ -104,7 +104,7 @@ public: GL_UPDATED = 2, VULKAN = 3, VULKAN_UPDATED = 4, - ANGLE = 5, + ANGLE = 5, // cover both system ANGLE and ANGLE APK }; enum Stats { diff --git a/opengl/libs/EGL/Loader.cpp b/opengl/libs/EGL/Loader.cpp index 10857a0e47..e487cbc54d 100644 --- a/opengl/libs/EGL/Loader.cpp +++ b/opengl/libs/EGL/Loader.cpp @@ -591,6 +591,8 @@ Loader::driver_t* Loader::attempt_to_load_angle(egl_connection_t* cnx) { 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_updated_driver(egl_connection_t* cnx) 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) { diff --git a/services/gpuservice/gpustats/GpuStats.cpp b/services/gpuservice/gpustats/GpuStats.cpp index f06a0457d3..11b636d564 100644 --- a/services/gpuservice/gpustats/GpuStats.cpp +++ b/services/gpuservice/gpustats/GpuStats.cpp @@ -163,11 +163,13 @@ void GpuStats::insertDriverStats(const std::string& driverPackageName, addLoadingTime(driver, driverLoadingTime, &appInfo); appInfo.appPackageName = appPackageName; appInfo.driverVersionCode = driverVersionCode; - appInfo.angleInUse = driverPackageName == "angle"; + appInfo.angleInUse = + driver == GpuStatsInfo::Driver::ANGLE || driverPackageName == "angle"; appInfo.lastAccessTime = std::chrono::system_clock::now(); mAppStats.insert({appStatsKey, appInfo}); } else { - mAppStats[appStatsKey].angleInUse = driverPackageName == "angle"; + mAppStats[appStatsKey].angleInUse = + driver == GpuStatsInfo::Driver::ANGLE || driverPackageName == "angle"; addLoadingTime(driver, driverLoadingTime, &mAppStats[appStatsKey]); mAppStats[appStatsKey].lastAccessTime = std::chrono::system_clock::now(); } |