|
40 | 40 |
|
41 | 41 | using namespace Query; |
42 | 42 |
|
43 | | -// https://en.wikipedia.org/wiki/List_of_Qualcomm_Snapdragon_systems_on_chips |
44 | 43 | #if CF_ANDROID |
| 44 | +// https://en.wikipedia.org/wiki/List_of_Qualcomm_Snapdragon_systems_on_chips |
| 45 | +// by Toni500git |
45 | 46 | static std::string detect_qualcomm(const std::string& model_name) |
46 | 47 | { |
47 | | - switch (fnv1a16::hash(model_name)) |
| 48 | + switch (fnv1a16::hash(str_toupper(model_name))) |
48 | 49 | { |
49 | 50 | case "SM8750-AB"_fnv1a16: return "Snapdragon 8 Elite"; |
50 | 51 | case "SM8635"_fnv1a16: return "Snapdragon 8s Gen 3"; |
@@ -179,9 +180,11 @@ static std::string detect_qualcomm(const std::string& model_name) |
179 | 180 | case "SM8350-AC"_fnv1a16: return "Snapdragon 888+"; |
180 | 181 | } |
181 | 182 |
|
182 | | - return UNKNOWN; |
| 183 | + return model_name; |
183 | 184 | } |
184 | 185 |
|
| 186 | +// https://en.wikipedia.org/wiki/Exynos#Current_Exynos_SoCs_(2020%E2%80%93present) |
| 187 | +// by BurntRanch |
185 | 188 | static std::string detect_exynos(const std::string& model_name) |
186 | 189 | { |
187 | 190 | switch (fnv1a16::hash(str_toupper(model_name))) |
@@ -223,58 +226,41 @@ static std::string detect_exynos(const std::string& model_name) |
223 | 226 | case "S5PC520"_fnv1a16: return "Exynos 5 Dual 5250"; |
224 | 227 |
|
225 | 228 | case "S5E5260"_fnv1a16: return "Exynos 5 Hexa 5260"; |
226 | | - |
227 | 229 | case "S5E5410"_fnv1a16: return "Exynos 5 Octa 5410"; |
228 | | - |
229 | 230 | case "S5E5420"_fnv1a16: return "Exynos 5 Octa 5420"; |
230 | 231 |
|
231 | 232 | /* 5800 for chromebooks */ |
232 | 233 | case "S5E5422"_fnv1a16: return "Exynos 5 Octa 5422/5800"; |
233 | 234 |
|
234 | 235 | case "S5E5430"_fnv1a16: return "Exynos 5 Octa 5430"; |
235 | | - |
236 | 236 | case "S5E5433"_fnv1a16: return "Exynos 7 Octa 5433"; |
237 | | - |
238 | 237 | case "SC57270"_fnv1a16: return "Exynos 7 Dual 7270"; |
239 | | - |
240 | 238 | case "S5E7420"_fnv1a16: return "Exynos 7 Octa 7420"; |
241 | | - |
242 | 239 | case "S5E7570"_fnv1a16: return "Exynos 7 Quad 7570"; |
243 | 240 | /* TODO: Exynos 7 Quad/Octa 7578/7580 */ |
244 | 241 |
|
245 | 242 | case "S5E7870"_fnv1a16: return "Exynos 7 Octa 7870"; |
246 | | - |
247 | 243 | case "S5E7872"_fnv1a16: return "Exynos 5 7872"; |
248 | | - |
249 | 244 | case "S5E7880"_fnv1a16: return "Exynos 7880"; |
250 | | - |
251 | 245 | case "S5E7884"_fnv1a16: return "Exynos 7884/7885"; |
252 | 246 | case "S5E7904"_fnv1a16: return "Exynos 7904"; |
253 | | - |
254 | 247 | case "S5E8890"_fnv1a16: return "Exynos 8 Octa 8890"; |
255 | 248 | case "S5E8895"_fnv1a16: return "Exynos 8895"; |
256 | | - |
257 | 249 | case "S5E9609"_fnv1a16: return "Exynos 9609"; |
258 | 250 | case "S5E9610"_fnv1a16: return "Exynos 9610"; |
259 | 251 | case "S5E9611"_fnv1a16: return "Exynos 9611"; |
260 | | - |
261 | 252 | case "S5E9810"_fnv1a16: return "Exynos 9810"; |
262 | | - |
263 | | - case "S5E9820"_fnv1a16: return "Exynos 9820"; |
264 | | - case "S5E9825"_fnv1a16: return "Exynos 9825"; |
265 | | - |
266 | | - case "S5E4212"_fnv1a16: return "Exynos 4 Dual 4212"; |
| 253 | + case "S5E9820"_fnv1a16: return "Exynos 9820"; |
| 254 | + case "S5E9825"_fnv1a16: return "Exynos 9825"; |
267 | 255 | /* TODO: Exynos 3 Dual 3250 */ |
268 | 256 |
|
269 | | - case "SC57270"_fnv1a16: return "Exynos 7 Dual 7270"; |
270 | | - |
271 | | - case "SC59110XSC"_fnv1a16: return "Exynos 9110"; |
272 | | - case "SC55515XBD"_fnv1a16: return "Exynos W920"; |
273 | | - case "SC55515XBE"_fnv1a16: return "Exynos W930"; |
274 | | - case "SC55535AHA"_fnv1a16: return "Exynos W1000"; |
| 257 | + case "SC59110XSC"_fnv1a16: return "Exynos 9110"; |
| 258 | + case "SC55515XBD"_fnv1a16: return "Exynos W920"; |
| 259 | + case "SC55515XBE"_fnv1a16: return "Exynos W930"; |
| 260 | + case "SC55535AHA"_fnv1a16: return "Exynos W1000"; |
275 | 261 | } |
276 | 262 |
|
277 | | - return UNKNOWN; |
| 263 | + return model_name; |
278 | 264 | } |
279 | 265 | #endif |
280 | 266 |
|
@@ -335,9 +321,8 @@ static CPU::CPU_t get_cpu_infos() |
335 | 321 | (hasStart(ret.modelname, "SM") || hasStart(ret.modelname, "APQ") || hasStart(ret.modelname, "MSM") || |
336 | 322 | hasStart(ret.modelname, "SDM") || hasStart(ret.modelname, "QM"))) |
337 | 323 | ret.name = fmt::format("Qualcomm {} [{}]", detect_qualcomm(ret.modelname), ret.modelname); |
338 | | - else if (ret.vendor == "Samsung") { |
| 324 | + else if (ret.vendor == "Samsung") |
339 | 325 | ret.name = fmt::format("Samsung {} [{}]", detect_exynos(ret.modelname), ret.modelname); |
340 | | - } |
341 | 326 | else |
342 | 327 | ret.name = ret.vendor + " " + ret.modelname; |
343 | 328 | } |
|
0 commit comments