From: Rémi Bernon rbernon@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58831 --- dlls/win32u/sysparams.c | 338 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 337 insertions(+), 1 deletion(-)
diff --git a/dlls/win32u/sysparams.c b/dlls/win32u/sysparams.c index 9b05351b432..1e778341d23 100644 --- a/dlls/win32u/sysparams.c +++ b/dlls/win32u/sysparams.c @@ -1116,6 +1116,342 @@ static const char* driver_vendor_to_name( UINT16 vendor ) } }
+static const char *gpu_device_name( UINT16 vendor, UINT16 device, const char *default_name ) +{ + switch (MAKELONG(vendor, device)) + { + /* Nvidia cards */ + case MAKELONG(0x10de, 0x0018): return "NVIDIA RIVA 128"; + case MAKELONG(0x10de, 0x0020): return "NVIDIA RIVA TNT"; + case MAKELONG(0x10de, 0x0028): return "NVIDIA RIVA TNT2/TNT2 Pro"; + case MAKELONG(0x10de, 0x0100): return "NVIDIA GeForce 256"; + case MAKELONG(0x10de, 0x0150): return "NVIDIA GeForce2 GTS/GeForce2 Pro"; + case MAKELONG(0x10de, 0x0110): return "NVIDIA GeForce2 MX/MX 400"; + case MAKELONG(0x10de, 0x0200): return "NVIDIA GeForce3"; + case MAKELONG(0x10de, 0x0170): return "NVIDIA GeForce4 MX 460"; + case MAKELONG(0x10de, 0x0253): return "NVIDIA GeForce4 Ti 4200"; + case MAKELONG(0x10de, 0x0320): return "NVIDIA GeForce FX 5200"; + case MAKELONG(0x10de, 0x0312): return "NVIDIA GeForce FX 5600"; + case MAKELONG(0x10de, 0x0302): return "NVIDIA GeForce FX 5800"; + case MAKELONG(0x10de, 0x014f): return "NVIDIA GeForce 6200"; + case MAKELONG(0x10de, 0x0140): return "NVIDIA GeForce 6600 GT"; + case MAKELONG(0x10de, 0x0041): return "NVIDIA GeForce 6800"; + case MAKELONG(0x10de, 0x01d7): return "NVIDIA GeForce Go 7300"; + case MAKELONG(0x10de, 0x01d8): return "NVIDIA GeForce Go 7400"; + case MAKELONG(0x10de, 0x0391): return "NVIDIA GeForce 7600 GT"; + case MAKELONG(0x10de, 0x0092): return "NVIDIA GeForce 7800 GT"; + case MAKELONG(0x10de, 0x0849): return "NVIDIA GeForce 8200"; + case MAKELONG(0x10de, 0x084b): return "NVIDIA GeForce 8200"; + case MAKELONG(0x10de, 0x0423): return "NVIDIA GeForce 8300 GS"; + case MAKELONG(0x10de, 0x0404): return "NVIDIA GeForce 8400 GS"; + case MAKELONG(0x10de, 0x0421): return "NVIDIA GeForce 8500 GT"; + case MAKELONG(0x10de, 0x0402): return "NVIDIA GeForce 8600 GT"; + case MAKELONG(0x10de, 0x0407): return "NVIDIA GeForce 8600M GT"; + case MAKELONG(0x10de, 0x0193): return "NVIDIA GeForce 8800 GTS"; + case MAKELONG(0x10de, 0x0191): return "NVIDIA GeForce 8800 GTX"; + case MAKELONG(0x10de, 0x086d): return "NVIDIA GeForce 9200"; + case MAKELONG(0x10de, 0x086c): return "NVIDIA GeForce 9300"; + case MAKELONG(0x10de, 0x0863): return "NVIDIA GeForce 9400M"; + case MAKELONG(0x10de, 0x042c): return "NVIDIA GeForce 9400 GT"; + case MAKELONG(0x10de, 0x0640): return "NVIDIA GeForce 9500 GT"; + case MAKELONG(0x10de, 0x0622): return "NVIDIA GeForce 9600 GT"; + case MAKELONG(0x10de, 0x064a): return "NVIDIA GeForce 9700M GT"; + case MAKELONG(0x10de, 0x0614): return "NVIDIA GeForce 9800 GT"; + case MAKELONG(0x10de, 0x0a23): return "NVIDIA GeForce 210"; + case MAKELONG(0x10de, 0x0a20): return "NVIDIA GeForce GT 220"; + case MAKELONG(0x10de, 0x0ca3): return "NVIDIA GeForce GT 240"; + case MAKELONG(0x10de, 0x0615): return "NVIDIA GeForce GTS 250"; + case MAKELONG(0x10de, 0x05e2): return "NVIDIA GeForce GTX 260"; + case MAKELONG(0x10de, 0x05e6): return "NVIDIA GeForce GTX 275"; + case MAKELONG(0x10de, 0x05e1): return "NVIDIA GeForce GTX 280"; + case MAKELONG(0x10de, 0x0a7a): return "NVIDIA GeForce 315M"; + case MAKELONG(0x10de, 0x08a3): return "NVIDIA GeForce 320M"; + case MAKELONG(0x10de, 0x0a2d): return "NVIDIA GeForce GT 320M"; + case MAKELONG(0x10de, 0x0a35): return "NVIDIA GeForce GT 325M"; + case MAKELONG(0x10de, 0x0ca0): return "NVIDIA GeForce GT 330"; + case MAKELONG(0x10de, 0x0cb0): return "NVIDIA GeForce GTS 350M"; + case MAKELONG(0x10de, 0x1055): return "NVIDIA GeForce 410M"; + case MAKELONG(0x10de, 0x0de2): return "NVIDIA GeForce GT 420"; + case MAKELONG(0x10de, 0x0df0): return "NVIDIA GeForce GT 425M"; + case MAKELONG(0x10de, 0x0de1): return "NVIDIA GeForce GT 430"; + case MAKELONG(0x10de, 0x0de0): return "NVIDIA GeForce GT 440"; + case MAKELONG(0x10de, 0x0dc4): return "NVIDIA GeForce GTS 450"; + case MAKELONG(0x10de, 0x0e22): return "NVIDIA GeForce GTX 460"; + case MAKELONG(0x10de, 0x0dd1): return "NVIDIA GeForce GTX 460M"; + case MAKELONG(0x10de, 0x06c4): return "NVIDIA GeForce GTX 465"; + case MAKELONG(0x10de, 0x06cd): return "NVIDIA GeForce GTX 470"; + case MAKELONG(0x10de, 0x06c0): return "NVIDIA GeForce GTX 480"; + case MAKELONG(0x10de, 0x1040): return "NVIDIA GeForce GT 520"; + case MAKELONG(0x10de, 0x0dec): return "NVIDIA GeForce GT 525M"; + case MAKELONG(0x10de, 0x0df4): return "NVIDIA GeForce GT 540M"; + case MAKELONG(0x10de, 0x1244): return "NVIDIA GeForce GTX 550 Ti"; + case MAKELONG(0x10de, 0x04b8): return "NVIDIA GeForce GT 555M"; + case MAKELONG(0x10de, 0x1200): return "NVIDIA GeForce GTX 560 Ti"; + case MAKELONG(0x10de, 0x1251): return "NVIDIA GeForce GTX 560M"; + case MAKELONG(0x10de, 0x1201): return "NVIDIA GeForce GTX 560"; + case MAKELONG(0x10de, 0x1081): return "NVIDIA GeForce GTX 570"; + case MAKELONG(0x10de, 0x1080): return "NVIDIA GeForce GTX 580"; + case MAKELONG(0x10de, 0x104a): return "NVIDIA GeForce GT 610"; + case MAKELONG(0x10de, 0x0f00): return "NVIDIA GeForce GT 630"; + case MAKELONG(0x10de, 0x0de9): return "NVIDIA GeForce GT 630M"; + case MAKELONG(0x10de, 0x0fc1): return "NVIDIA GeForce GT 640"; + case MAKELONG(0x10de, 0x0fd2): return "NVIDIA GeForce GT 640M"; + case MAKELONG(0x10de, 0x0fd1): return "NVIDIA GeForce GT 650M"; + case MAKELONG(0x10de, 0x0fc6): return "NVIDIA GeForce GTX 650"; + case MAKELONG(0x10de, 0x11c6): return "NVIDIA GeForce GTX 650 Ti"; + case MAKELONG(0x10de, 0x11c0): return "NVIDIA GeForce GTX 660"; + case MAKELONG(0x10de, 0x0fd4): return "NVIDIA GeForce GTX 660M"; + case MAKELONG(0x10de, 0x1183): return "NVIDIA GeForce GTX 660 Ti"; + case MAKELONG(0x10de, 0x1189): return "NVIDIA GeForce GTX 670"; + case MAKELONG(0x10de, 0x11a1): return "NVIDIA GeForce GTX 670MX"; + case MAKELONG(0x10de, 0x11a7): return "NVIDIA GeForce GTX 675MX"; + case MAKELONG(0x10de, 0x11a2): return "NVIDIA GeForce GTX 675MX"; + case MAKELONG(0x10de, 0x1180): return "NVIDIA GeForce GTX 680"; + case MAKELONG(0x10de, 0x1188): return "NVIDIA GeForce GTX 690"; + case MAKELONG(0x10de, 0x128b): return "NVIDIA GeForce GT 720"; + case MAKELONG(0x10de, 0x1287): return "NVIDIA GeForce GT 730"; + case MAKELONG(0x10de, 0x0fe1): return "NVIDIA GeForce GT 730M"; + case MAKELONG(0x10de, 0x1292): return "NVIDIA GeForce GT 740M"; + case MAKELONG(0x10de, 0x0fe9): return "NVIDIA GeForce GT 750M"; + case MAKELONG(0x10de, 0x0fcd): return "NVIDIA GeForce GT 755M"; + case MAKELONG(0x10de, 0x1381): return "NVIDIA GeForce GTX 750"; + case MAKELONG(0x10de, 0x1380): return "NVIDIA GeForce GTX 750 Ti"; + case MAKELONG(0x10de, 0x1187): return "NVIDIA GeForce GTX 760"; + case MAKELONG(0x10de, 0x1193): return "NVIDIA GeForce GTX 760 Ti"; + case MAKELONG(0x10de, 0x11e2): return "NVIDIA GeForce GTX 765M"; + case MAKELONG(0x10de, 0x11e0): return "NVIDIA GeForce GTX 770M"; + case MAKELONG(0x10de, 0x1184): return "NVIDIA GeForce GTX 770"; + case MAKELONG(0x10de, 0x119d): return "NVIDIA GeForce GTX 775M"; + case MAKELONG(0x10de, 0x1004): return "NVIDIA GeForce GTX 780"; + case MAKELONG(0x10de, 0x119e): return "NVIDIA GeForce GTX 780M"; + case MAKELONG(0x10de, 0x100a): return "NVIDIA GeForce GTX 780 Ti"; + case MAKELONG(0x10de, 0x1005): return "NVIDIA GeForce GTX TITAN"; + case MAKELONG(0x10de, 0x100c): return "NVIDIA GeForce GTX TITAN Black"; + case MAKELONG(0x10de, 0x17c2): return "NVIDIA GeForce GTX TITAN X"; + case MAKELONG(0x10de, 0x1001): return "NVIDIA GeForce GTX TITAN Z"; + case MAKELONG(0x10de, 0x0fed): return "NVIDIA GeForce 820M"; + case MAKELONG(0x10de, 0x1340): return "NVIDIA GeForce 830M"; + case MAKELONG(0x10de, 0x1341): return "NVIDIA GeForce 840M"; + case MAKELONG(0x10de, 0x1344): return "NVIDIA GeForce 845M"; + case MAKELONG(0x10de, 0x1391): return "NVIDIA GeForce GTX 850M"; + case MAKELONG(0x10de, 0x1392): return "NVIDIA GeForce GTX 860M"; + case MAKELONG(0x10de, 0x119a): return "NVIDIA GeForce GTX 860M"; + case MAKELONG(0x10de, 0x1199): return "NVIDIA GeForce GTX 870M"; + case MAKELONG(0x10de, 0x1198): return "NVIDIA GeForce GTX 880M"; + case MAKELONG(0x10de, 0x1347): return "NVIDIA GeForce 940M"; + case MAKELONG(0x10de, 0x1402): return "NVIDIA GeForce GTX 950"; + case MAKELONG(0x10de, 0x139a): return "NVIDIA GeForce GTX 950M"; + case MAKELONG(0x10de, 0x1401): return "NVIDIA GeForce GTX 960"; + case MAKELONG(0x10de, 0x139b): return "NVIDIA GeForce GTX 960M"; + case MAKELONG(0x10de, 0x13c2): return "NVIDIA GeForce GTX 970"; + case MAKELONG(0x10de, 0x13d8): return "NVIDIA GeForce GTX 970M"; + case MAKELONG(0x10de, 0x13c0): return "NVIDIA GeForce GTX 980"; + case MAKELONG(0x10de, 0x17c8): return "NVIDIA GeForce GTX 980 Ti"; + case MAKELONG(0x10de, 0x1d01): return "NVIDIA GeForce GT 1030"; + case MAKELONG(0x10de, 0x1c81): return "NVIDIA GeForce GTX 1050"; + case MAKELONG(0x10de, 0x1c82): return "NVIDIA GeForce GTX 1050 Ti"; + case MAKELONG(0x10de, 0x1c02): return "NVIDIA GeForce GTX 1060 3GB"; + case MAKELONG(0x10de, 0x1c03): return "NVIDIA GeForce GTX 1060"; + case MAKELONG(0x10de, 0x1c20): return "NVIDIA GeForce GTX 1060M"; + case MAKELONG(0x10de, 0x1b81): return "NVIDIA GeForce GTX 1070"; + case MAKELONG(0x10de, 0x1be1): return "NVIDIA GeForce GTX 1070M"; + case MAKELONG(0x10de, 0x1b80): return "NVIDIA GeForce GTX 1080"; + case MAKELONG(0x10de, 0x1be0): return "NVIDIA GeForce GTX 1080M"; + case MAKELONG(0x10de, 0x1b06): return "NVIDIA GeForce GTX 1080 Ti"; + case MAKELONG(0x10de, 0x1b00): return "NVIDIA TITAN X (Pascal)"; + case MAKELONG(0x10de, 0x1d81): return "NVIDIA TITAN V"; + case MAKELONG(0x10de, 0x1f82): return "NVIDIA GeForce GTX 1650"; + case MAKELONG(0x10de, 0x2187): return "NVIDIA GeForce GTX 1650 SUPER"; + case MAKELONG(0x10de, 0x21c4): return "NVIDIA GeForce GTX 1660 SUPER"; + case MAKELONG(0x10de, 0x2182): return "NVIDIA GeForce GTX 1660 Ti"; + case MAKELONG(0x10de, 0x1f08): return "NVIDIA GeForce RTX 2060"; + case MAKELONG(0x10de, 0x1f07): return "NVIDIA GeForce RTX 2070"; + case MAKELONG(0x10de, 0x1e87): return "NVIDIA GeForce RTX 2080"; + case MAKELONG(0x10de, 0x1e07): return "NVIDIA GeForce RTX 2080 Ti"; + case MAKELONG(0x10de, 0x2507): return "NVIDIA GeForce RTX 3050"; + case MAKELONG(0x10de, 0x2544): return "NVIDIA GeForce RTX 3060"; + case MAKELONG(0x10de, 0x2504): return "NVIDIA GeForce RTX 3060 (Low Hash Rate)"; + case MAKELONG(0x10de, 0x2414): return "NVIDIA GeForce RTX 3060 Ti (GA103)"; + case MAKELONG(0x10de, 0x2486): return "NVIDIA GeForce RTX 3060 Ti (GA104)"; + case MAKELONG(0x10de, 0x2489): return "NVIDIA GeForce RTX 3060 Ti (GA104, Low Hash Rate)"; + case MAKELONG(0x10de, 0x2484): return "NVIDIA GeForce RTX 3070"; + case MAKELONG(0x10de, 0x2488): return "NVIDIA GeForce RTX 3070 (Low Hash Rate)"; + case MAKELONG(0x10de, 0x249d): return "NVIDIA GeForce RTX 3070 (mobile)"; + case MAKELONG(0x10de, 0x2482): return "NVIDIA GeForce RTX 3070 Ti"; + case MAKELONG(0x10de, 0x2206): return "NVIDIA GeForce RTX 3080 10GB"; + case MAKELONG(0x10de, 0x2216): return "NVIDIA GeForce RTX 3080 10GB (Low Hash Rate)"; + case MAKELONG(0x10de, 0x220a): return "NVIDIA GeForce RTX 3080 12GB"; + case MAKELONG(0x10de, 0x2208): return "NVIDIA GeForce RTX 3080 Ti"; + case MAKELONG(0x10de, 0x2204): return "NVIDIA GeForce RTX 3090"; + case MAKELONG(0x10de, 0x2203): return "NVIDIA GeForce RTX 3090 Ti"; + case MAKELONG(0x10de, 0x1eb8): return "NVIDIA Tesla T4"; + case MAKELONG(0x10de, 0x2236): return "NVIDIA Ampere A10"; + case MAKELONG(0x10de, 0x2882): return "NVIDIA GeForce RTX 4060"; + case MAKELONG(0x10de, 0x28a0): return "NVIDIA GeForce RTX 4060M"; + case MAKELONG(0x10de, 0x2803): return "NVIDIA GeForce RTX 4060 Ti 8GB"; + case MAKELONG(0x10de, 0x2805): return "NVIDIA GeForce RTX 4060 Ti 16GB"; + case MAKELONG(0x10de, 0x2786): return "NVIDIA GeForce RTX 4070"; + case MAKELONG(0x10de, 0x2783): return "NVIDIA GeForce RTX 4070 SUPER"; + case MAKELONG(0x10de, 0x2782): return "NVIDIA GeForce RTX 4070 Ti"; + case MAKELONG(0x10de, 0x2705): return "NVIDIA GeForce RTX 4070 Ti SUPER"; + case MAKELONG(0x10de, 0x2704): return "NVIDIA GeForce RTX 4080"; + case MAKELONG(0x10de, 0x2702): return "NVIDIA GeForce RTX 4080 SUPER"; + case MAKELONG(0x10de, 0x2684): return "NVIDIA GeForce RTX 4090"; + + /* AMD cards */ + case MAKELONG(0x1002, 0x5246): return "ATI Rage Fury"; + case MAKELONG(0x1002, 0x5144): return "ATI RADEON 7200 SERIES"; + case MAKELONG(0x1002, 0x514c): return "ATI RADEON 8500 SERIES"; + case MAKELONG(0x1002, 0x4144): return "ATI Radeon 9500"; + case MAKELONG(0x1002, 0x5955): return "ATI RADEON XPRESS 200M Series"; + case MAKELONG(0x1002, 0x5e4c): return "ATI Radeon X700 SE"; + case MAKELONG(0x1002, 0x71c2): return "ATI Radeon X1600 Series"; + case MAKELONG(0x1002, 0x94c7): return "ATI Mobility Radeon HD 2350"; + case MAKELONG(0x1002, 0x9581): return "ATI Mobility Radeon HD 2600"; + case MAKELONG(0x1002, 0x9400): return "ATI Radeon HD 2900 XT"; + case MAKELONG(0x1002, 0x9620): return "ATI Radeon HD 3200 Graphics"; + case MAKELONG(0x1002, 0x9515): return "ATI Radeon HD 3850 AGP"; + case MAKELONG(0x1002, 0x9712): return "ATI Mobility Radeon HD 4200"; + case MAKELONG(0x1002, 0x954f): return "ATI Radeon HD 4350"; + case MAKELONG(0x1002, 0x9495): return "ATI Radeon HD 4600 Series"; + case MAKELONG(0x1002, 0x944e): return "ATI Radeon HD 4700 Series"; + case MAKELONG(0x1002, 0x944c): return "ATI Radeon HD 4800 Series"; + case MAKELONG(0x1002, 0x68f9): return "ATI Radeon HD 5400 Series"; + case MAKELONG(0x1002, 0x68d8): return "ATI Radeon HD 5600 Series"; + case MAKELONG(0x1002, 0x68be): return "ATI Radeon HD 5700 Series"; + case MAKELONG(0x1002, 0x6898): return "ATI Radeon HD 5800 Series"; + case MAKELONG(0x1002, 0x689c): return "ATI Radeon HD 5900 Series"; + case MAKELONG(0x1002, 0x9803): return "AMD Radeon HD 6300 series Graphics"; + case MAKELONG(0x1002, 0x6770): return "AMD Radeon HD 6400 Series"; + case MAKELONG(0x1002, 0x9644): return "AMD Radeon HD 6410D"; + case MAKELONG(0x1002, 0x9648): return "AMD Radeon HD 6480G"; + case MAKELONG(0x1002, 0x6760): return "AMD Radeon HD 6490M"; + case MAKELONG(0x1002, 0x9640): return "AMD Radeon HD 6550D"; + case MAKELONG(0x1002, 0x6758): return "AMD Radeon HD 6600 Series"; + case MAKELONG(0x1002, 0x6741): return "AMD Radeon HD 6600M Series"; + case MAKELONG(0x1002, 0x68ba): return "AMD Radeon HD 6700 Series"; + case MAKELONG(0x1002, 0x6739): return "AMD Radeon HD 6800 Series"; + case MAKELONG(0x1002, 0x6719): return "AMD Radeon HD 6900 Series"; + case MAKELONG(0x1002, 0x9901): return "AMD Radeon HD 7660D"; + case MAKELONG(0x1002, 0x683d): return "AMD Radeon HD 7700 Series"; + case MAKELONG(0x1002, 0x6819): return "AMD Radeon HD 7800 Series"; + case MAKELONG(0x1002, 0x6818): return "AMD Radeon HD 7870 Series"; + case MAKELONG(0x1002, 0x679a): return "AMD Radeon HD 7900 Series"; + case MAKELONG(0x1002, 0x6660): return "AMD Radeon HD 8600M Series"; + case MAKELONG(0x1002, 0x6610): return "AMD Radeon HD 8670"; + case MAKELONG(0x1002, 0x665c): return "AMD Radeon HD 8770"; + case MAKELONG(0x1002, 0x9830): return "AMD Radeon HD 8400 / R3 Series"; + case MAKELONG(0x1002, 0x130f): return "AMD Radeon(TM) R7 Graphics"; + case MAKELONG(0x1002, 0x6939): return "AMD Radeon R9 285"; + case MAKELONG(0x1002, 0x67b1): return "AMD Radeon R9 290"; + case MAKELONG(0x1002, 0x67b0): return "AMD Radeon R9 290X"; + case MAKELONG(0x1002, 0x7300): return "AMD Radeon (TM) R9 Fury Series"; + case MAKELONG(0x1002, 0x6821): return "AMD Radeon R9 M370X"; + case MAKELONG(0x1002, 0x6647): return "AMD Radeon R9 M380"; + case MAKELONG(0x1002, 0x6920): return "AMD Radeon R9 M395X"; + case MAKELONG(0x1002, 0x67ef): return "Radeon(TM) RX 460 Graphics"; + case MAKELONG(0x1002, 0x67df): return "Radeon (TM) RX 480 Graphics"; + case MAKELONG(0x1002, 0x73df): return "AMD Radeon RX 6700 XT"; + case MAKELONG(0x1002, 0x687f): return "Radeon RX Vega"; + case MAKELONG(0x1002, 0x69af): return "Radeon Pro Vega 20"; + case MAKELONG(0x1002, 0x15dd): return "AMD Radeon(TM) Vega 10 Mobile Graphics"; + case MAKELONG(0x1002, 0x66af): return "Radeon RX Vega 20"; + case MAKELONG(0x1002, 0x731f): return "Radeon RX 5700 / 5700 XT"; + case MAKELONG(0x1002, 0x7340): return "Radeon RX 5500M"; + case MAKELONG(0x1002, 0x73bf): return "Radeon RX 6800/6800 XT / 6900 XT"; + case MAKELONG(0x1002, 0x7590): return "AMD Radeon RX 9060 XT"; + case MAKELONG(0x1002, 0x73a1): return "Radeon Pro V620"; + case MAKELONG(0x1002, 0x73ae): return "Radeon Pro V620 VF"; + case MAKELONG(0x1002, 0x163f): return "AMD VANGOGH"; + case MAKELONG(0x1002, 0x164e): return "AMD Radeon(TM) Graphics"; + + /* Intel cards */ + case MAKELONG(0x8086, 0x3577): return "Intel(R) 82830M Graphics Controller"; + case MAKELONG(0x8086, 0x3582): return "Intel(R) 82852/82855 GM/GME Graphics Controller"; + case MAKELONG(0x8086, 0x2562): return "Intel(R) 845G"; + case MAKELONG(0x8086, 0x2572): return "Intel(R) 82865G Graphics Controller"; + case MAKELONG(0x8086, 0x2582): return "Intel(R) 82915G/GV/910GL Express Chipset Family"; + case MAKELONG(0x8086, 0x258a): return "Intel(R) E7221G"; + case MAKELONG(0x8086, 0x2592): return "Mobile Intel(R) 915GM/GMS,910GML Express Chipset Family"; + case MAKELONG(0x8086, 0x2772): return "Intel(R) 945G"; + case MAKELONG(0x8086, 0x27a2): return "Mobile Intel(R) 945GM Express Chipset Family"; + case MAKELONG(0x8086, 0x27ae): return "Intel(R) 945GME"; + case MAKELONG(0x8086, 0x29b2): return "Intel(R) Q35"; + case MAKELONG(0x8086, 0x29c2): return "Intel(R) G33"; + case MAKELONG(0x8086, 0x29d2): return "Intel(R) Q33"; + case MAKELONG(0x8086, 0xa001): return "Intel(R) IGD"; + case MAKELONG(0x8086, 0xa011): return "Intel(R) IGD"; + case MAKELONG(0x8086, 0x2992): return "Intel(R) 965Q"; + case MAKELONG(0x8086, 0x2982): return "Intel(R) 965G"; + case MAKELONG(0x8086, 0x2972): return "Intel(R) 946GZ"; + case MAKELONG(0x8086, 0x2a02): return "Mobile Intel(R) 965 Express Chipset Family"; + case MAKELONG(0x8086, 0x2a12): return "Intel(R) 965GME"; + case MAKELONG(0x8086, 0x2a42): return "Mobile Intel(R) GM45 Express Chipset Family"; + case MAKELONG(0x8086, 0x2e02): return "Intel(R) Integrated Graphics Device"; + case MAKELONG(0x8086, 0x2e22): return "Intel(R) G45/G43"; + case MAKELONG(0x8086, 0x2e12): return "Intel(R) Q45/Q43"; + case MAKELONG(0x8086, 0x2e32): return "Intel(R) G41"; + case MAKELONG(0x8086, 0x2e92): return "Intel(R) B43"; + case MAKELONG(0x8086, 0x0042): return "Intel(R) HD Graphics"; + case MAKELONG(0x8086, 0x0046): return "Intel(R) HD Graphics"; + case MAKELONG(0x8086, 0x0122): return "Intel(R) HD Graphics 3000"; + case MAKELONG(0x8086, 0x0126): return "Intel(R) HD Graphics 3000"; + case MAKELONG(0x8086, 0x010a): return "Intel(R) HD Graphics Family"; + case MAKELONG(0x8086, 0x0162): return "Intel(R) HD Graphics 4000"; + case MAKELONG(0x8086, 0x0166): return "Intel(R) HD Graphics 4000"; + case MAKELONG(0x8086, 0x015a): return "Intel(R) HD Graphics Family"; + case MAKELONG(0x8086, 0x0412): return "Intel(R) HD Graphics 4600"; + case MAKELONG(0x8086, 0x0416): return "Intel(R) HD Graphics 4600"; + case MAKELONG(0x8086, 0x0a26): return "Intel(R) HD Graphics 5000"; + case MAKELONG(0x8086, 0x0422): return "Intel(R) HD Graphics 5000"; + case MAKELONG(0x8086, 0x0a22): return "Intel(R) Iris(TM) Graphics 5100"; + case MAKELONG(0x8086, 0x0a2a): return "Intel(R) Iris(TM) Graphics 5100"; + case MAKELONG(0x8086, 0x0a2b): return "Intel(R) Iris(TM) Graphics 5100"; + case MAKELONG(0x8086, 0x0a2e): return "Intel(R) Iris(TM) Graphics 5100"; + case MAKELONG(0x8086, 0x0d22): return "Intel(R) Iris(TM) Pro Graphics 5200"; + case MAKELONG(0x8086, 0x0d26): return "Intel(R) Iris(TM) Pro Graphics 5200"; + case MAKELONG(0x8086, 0x0d2a): return "Intel(R) Iris(TM) Pro Graphics 5200"; + case MAKELONG(0x8086, 0x0d2b): return "Intel(R) Iris(TM) Pro Graphics 5200"; + case MAKELONG(0x8086, 0x0d2e): return "Intel(R) Iris(TM) Pro Graphics 5200"; + case MAKELONG(0x8086, 0x0c22): return "Intel(R) Iris(TM) Pro Graphics 5200"; + case MAKELONG(0x8086, 0x161e): return "Intel(R) HD Graphics 5300"; + case MAKELONG(0x8086, 0x1616): return "Intel(R) HD Graphics 5500"; + case MAKELONG(0x8086, 0x1612): return "Intel(R) HD Graphics 5600"; + case MAKELONG(0x8086, 0x1626): return "Intel(R) HD Graphics 6000"; + case MAKELONG(0x8086, 0x162b): return "Intel(R) Iris(TM) Graphics 6100"; + case MAKELONG(0x8086, 0x1622): return "Intel(R) Iris(TM) Pro Graphics 6200"; + case MAKELONG(0x8086, 0x162a): return "Intel(R) Iris(TM) Pro Graphics P6300"; + case MAKELONG(0x8086, 0x1902): return "Intel(R) HD Graphics 510"; + case MAKELONG(0x8086, 0x1906): return "Intel(R) HD Graphics 510"; + case MAKELONG(0x8086, 0x190b): return "Intel(R) HD Graphics 510"; + case MAKELONG(0x8086, 0x191e): return "Intel(R) HD Graphics 515"; + case MAKELONG(0x8086, 0x1916): return "Intel(R) HD Graphics 520"; + case MAKELONG(0x8086, 0x1921): return "Intel(R) HD Graphics 520"; + case MAKELONG(0x8086, 0x1912): return "Intel(R) HD Graphics 530"; + case MAKELONG(0x8086, 0x191b): return "Intel(R) HD Graphics 530"; + case MAKELONG(0x8086, 0x191d): return "Intel(R) HD Graphics P530"; + case MAKELONG(0x8086, 0x1926): return "Intel(R) Iris(TM) Graphics 540"; + case MAKELONG(0x8086, 0x1927): return "Intel(R) Iris(TM) Graphics 550"; + case MAKELONG(0x8086, 0x192b): return "Intel(R) Iris(TM) Graphics 555"; + case MAKELONG(0x8086, 0x192d): return "Intel(R) Iris(TM) Graphics P555"; + case MAKELONG(0x8086, 0x1932): return "Intel(R) Iris(TM) Pro Graphics 580"; + case MAKELONG(0x8086, 0x193b): return "Intel(R) Iris(TM) Pro Graphics 580"; + case MAKELONG(0x8086, 0x193a): return "Intel(R) Iris(TM) Pro Graphics P580"; + case MAKELONG(0x8086, 0x193d): return "Intel(R) Iris(TM) Pro Graphics P580"; + case MAKELONG(0x8086, 0x87c0): return "Intel(R) UHD Graphics 617"; + case MAKELONG(0x8086, 0x3ea0): return "Intel(R) UHD Graphics 620"; + case MAKELONG(0x8086, 0x591e): return "Intel(R) HD Graphics 615"; + case MAKELONG(0x8086, 0x5916): return "Intel(R) HD Graphics 620"; + case MAKELONG(0x8086, 0x5912): return "Intel(R) HD Graphics 630"; + case MAKELONG(0x8086, 0x591b): return "Intel(R) HD Graphics 630"; + case MAKELONG(0x8086, 0x3e9b): return "Intel(R) UHD Graphics 630"; + case MAKELONG(0x8086, 0x3e91): return "Intel(R) UHD Graphics 630"; + } + + if (!default_name) return "Wine Adapter"; + return default_name; +}; + static BOOL write_gpu_to_registry( const struct gpu *gpu, const struct pci_id *pci, ULONGLONG memory_size ) { @@ -1376,7 +1712,7 @@ static void add_gpu( const char *name, const struct pci_id *pci_id, const GUID *
if (!pci_id->vendor && !pci_id->device && vulkan_gpu) pci_id = &vulkan_gpu->pci_id;
- if (!name) name = "Wine Adapter"; + name = gpu_device_name( pci_id->vendor, pci_id->device, name ); if (!strcmp( name, "Wine Adapter" ) && vulkan_gpu) name = vulkan_gpu->name; RtlUTF8ToUnicodeN( gpu->name, sizeof(gpu->name) - sizeof(WCHAR), &len, name, strlen( name ) );