From 3985cf887a97a298c11aaa742a0c5715d0630cbb Mon Sep 17 00:00:00 2001 From: Marat Dukhan Date: Mon, 18 Dec 2017 18:58:26 -0800 Subject: Fast GPU name lookup from chipset name on Android/ARM --- src/arm/linux/init.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/arm/linux') 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 -- cgit v1.2.3