aboutsummaryrefslogtreecommitdiff
path: root/src/arm/linux
diff options
context:
space:
mode:
authorMarat Dukhan <marat@fb.com>2017-12-18 18:58:26 -0800
committerMarat Dukhan <marat@fb.com>2017-12-18 18:58:26 -0800
commit3985cf887a97a298c11aaa742a0c5715d0630cbb (patch)
tree3c38365acb1ee59bb85a439608ff2a9d732e8828 /src/arm/linux
parent1b474622d57f02e0e4e8cc708deb7e5e12a8f24a (diff)
downloadcpuinfo-3985cf887a97a298c11aaa742a0c5715d0630cbb.tar.gz
Fast GPU name lookup from chipset name on Android/ARM
Diffstat (limited to 'src/arm/linux')
-rw-r--r--src/arm/linux/init.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/arm/linux/init.c b/src/arm/linux/init.c
index b6108e2..d4d8566 100644
--- a/src/arm/linux/init.c
+++ b/src/arm/linux/init.c
@@ -537,10 +537,16 @@ void cpuinfo_arm_linux_init(void) {
l1i = l1d = l2 = NULL;
#ifdef __ANDROID__
- cpuinfo_gpu_query_gles2(package.gpu_name);
- struct cpuinfo_android_gpu gpu = cpuinfo_android_decode_gpu(package.gpu_name);
- if (gpu.series != cpuinfo_android_gpu_series_unknown) {
+ struct cpuinfo_android_gpu gpu;
+ if (cpuinfo_arm_android_lookup_gpu(&chipset, &gpu)) {
cpuinfo_android_gpu_to_string(&gpu, package.gpu_name);
+ } else {
+ cpuinfo_log_info("GPU name needs to be queries from OpenGL ES");
+ cpuinfo_gpu_query_gles2(package.gpu_name);
+ struct cpuinfo_android_gpu gpu = cpuinfo_android_decode_gpu(package.gpu_name);
+ if (gpu.series != cpuinfo_android_gpu_series_unknown) {
+ cpuinfo_android_gpu_to_string(&gpu, package.gpu_name);
+ }
}
#endif