1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
|
/*
* Copyright (c) 2005, 2006, 2012 NVIDIA Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
#ifndef __NV_LEGACY_H
#define __NV_LEGACY_H
typedef struct _LEGACY_INFO {
unsigned int uiDevId;
unsigned int branch;
char* AdapterString;
} LEGACY_INFO;
typedef struct _LEGACY_STRINGS {
unsigned int branch;
char* description;
} LEGACY_STRINGS;
/*
* This table describes how we should refer to legacy branches.
*/
static const LEGACY_STRINGS LegacyStrings[] = {
{ 4, "304.xx" },
{ 3, "173.14.xx" },
{ 2, "96.43.xx" },
{ 1, "71.86.xx" }
};
// This is the list of the legacy GPUs
static const LEGACY_INFO LegacyList[] = {
// PCI-ID Branch Marketing name
{ 0x0020, 1, "RIVA TNT" },
{ 0x0028, 1, "RIVA TNT2/TNT2 Pro" },
{ 0x0029, 1, "RIVA TNT2 Ultra" },
{ 0x002C, 1, "Vanta/Vanta LT" },
{ 0x002D, 1, "RIVA TNT2 Model 64/Model 64 Pro" },
{ 0x0040, 4, "GeForce 6800 Ultra" },
{ 0x0041, 4, "GeForce 6800" },
{ 0x0042, 4, "GeForce 6800 LE" },
{ 0x0043, 4, "GeForce 6800 XE" },
{ 0x0044, 4, "GeForce 6800 XT" },
{ 0x0045, 4, "GeForce 6800 GT" },
{ 0x0046, 4, "GeForce 6800 GT" },
{ 0x0047, 4, "GeForce 6800 GS" },
{ 0x0048, 4, "GeForce 6800 XT" },
{ 0x004E, 4, "Quadro FX 4000" },
{ 0x0090, 4, "GeForce 7800 GTX" },
{ 0x0091, 4, "GeForce 7800 GTX" },
{ 0x0092, 4, "GeForce 7800 GT" },
{ 0x0093, 4, "GeForce 7800 GS" },
{ 0x0095, 4, "GeForce 7800 SLI" },
{ 0x0098, 4, "GeForce Go 7800" },
{ 0x0099, 4, "GeForce Go 7800 GTX" },
{ 0x009D, 4, "Quadro FX 4500" },
{ 0x00A0, 1, "Aladdin TNT2" },
{ 0x00C0, 4, "GeForce 6800 GS" },
{ 0x00C1, 4, "GeForce 6800" },
{ 0x00C2, 4, "GeForce 6800 LE" },
{ 0x00C3, 4, "GeForce 6800 XT" },
{ 0x00C8, 4, "GeForce Go 6800" },
{ 0x00C9, 4, "GeForce Go 6800 Ultra" },
{ 0x00CC, 4, "Quadro FX Go1400" },
{ 0x00CD, 4, "Quadro FX 3450/4000 SDI" },
{ 0x00CE, 4, "Quadro FX 1400" },
{ 0x00F1, 4, "GeForce 6600 GT" },
{ 0x00F2, 4, "GeForce 6600" },
{ 0x00F3, 4, "GeForce 6200" },
{ 0x00F4, 4, "GeForce 6600 LE" },
{ 0x00F5, 4, "GeForce 7800 GS" },
{ 0x00F6, 4, "GeForce 6800 GS" },
{ 0x00F8, 4, "Quadro FX 3400" },
{ 0x00F8, 4, "Quadro FX 4000" },
{ 0x00F9, 4, "GeForce 6800 Ultra" },
{ 0x00FA, 3, "GeForce PCX 5750" },
{ 0x00FB, 3, "GeForce PCX 5900" },
{ 0x00FC, 3, "Quadro FX 330" },
{ 0x00FC, 3, "GeForce PCX 5300" },
{ 0x00FD, 3, "Quadro FX 330" },
{ 0x00FD, 3, "Quadro NVS 280 PCI-E" },
{ 0x00FE, 3, "Quadro FX 1300" },
{ 0x0100, 1, "GeForce 256" },
{ 0x0101, 1, "GeForce DDR" },
{ 0x0103, 1, "Quadro" },
{ 0x0110, 2, "GeForce2 MX/MX 400" },
{ 0x0111, 2, "GeForce2 MX 100/200" },
{ 0x0112, 2, "GeForce2 Go" },
{ 0x0113, 2, "Quadro2 MXR/EX/Go" },
{ 0x0140, 4, "GeForce 6600 GT" },
{ 0x0141, 4, "GeForce 6600" },
{ 0x0142, 4, "GeForce 6600 LE" },
{ 0x0143, 4, "GeForce 6600 VE" },
{ 0x0144, 4, "GeForce Go 6600" },
{ 0x0145, 4, "GeForce 6610 XL" },
{ 0x0146, 4, "GeForce Go 6600 TE/6200 TE" },
{ 0x0147, 4, "GeForce 6700 XL" },
{ 0x0148, 4, "GeForce Go 6600" },
{ 0x0149, 4, "GeForce Go 6600 GT" },
{ 0x014A, 4, "Quadro NVS 440" },
{ 0x014C, 4, "Quadro FX 540M" },
{ 0x014D, 4, "Quadro FX 550" },
{ 0x014E, 4, "Quadro FX 540" },
{ 0x014F, 4, "GeForce 6200" },
{ 0x0150, 1, "GeForce2 GTS/GeForce2 Pro" },
{ 0x0151, 1, "GeForce2 Ti" },
{ 0x0152, 1, "GeForce2 Ultra" },
{ 0x0153, 1, "Quadro2 Pro" },
{ 0x0160, 4, "GeForce 6500" },
{ 0x0161, 4, "GeForce 6200 TurboCache(TM)" },
{ 0x0162, 4, "GeForce 6200SE TurboCache(TM)" },
{ 0x0163, 4, "GeForce 6200 LE" },
{ 0x0164, 4, "GeForce Go 6200" },
{ 0x0165, 4, "Quadro NVS 285" },
{ 0x0166, 4, "GeForce Go 6400" },
{ 0x0167, 4, "GeForce Go 6200" },
{ 0x0168, 4, "GeForce Go 6400" },
{ 0x0169, 4, "GeForce 6250" },
{ 0x016A, 4, "GeForce 7100 GS" },
{ 0x0170, 2, "GeForce4 MX 460" },
{ 0x0171, 2, "GeForce4 MX 440" },
{ 0x0172, 2, "GeForce4 MX 420" },
{ 0x0173, 2, "GeForce4 MX 440-SE" },
{ 0x0174, 2, "GeForce4 440 Go" },
{ 0x0175, 2, "GeForce4 420 Go" },
{ 0x0176, 2, "GeForce4 420 Go 32M" },
{ 0x0177, 2, "GeForce4 460 Go" },
{ 0x0178, 2, "Quadro4 550 XGL" },
{ 0x0179, 2, "GeForce4 440 Go 64M" },
{ 0x017A, 2, "Quadro NVS 400" },
{ 0x017C, 2, "Quadro4 500 GoGL" },
{ 0x017D, 2, "GeForce4 410 Go 16M" },
{ 0x0181, 2, "GeForce4 MX 440 with AGP8X" },
{ 0x0182, 2, "GeForce4 MX 440SE with AGP8X" },
{ 0x0183, 2, "GeForce4 MX 420 with AGP8X" },
{ 0x0185, 2, "GeForce4 MX 4000" },
{ 0x0188, 2, "Quadro4 580 XGL" },
{ 0x018A, 2, "Quadro NVS 280 SD" },
{ 0x018B, 2, "Quadro4 380 XGL" },
{ 0x018C, 2, "Quadro NVS 50 PCI" },
{ 0x01A0, 2, "GeForce2 Integrated GPU" },
{ 0x01D0, 4, "GeForce 7350 LE" },
{ 0x01D1, 4, "GeForce 7300 LE" },
{ 0x01D2, 4, "GeForce 7550 LE" },
{ 0x01D3, 4, "GeForce 7300 SE/7200 GS" },
{ 0x01D6, 4, "GeForce Go 7200" },
{ 0x01D7, 4, "GeForce Go 7300" },
{ 0x01D8, 4, "GeForce Go 7400" },
{ 0x01DA, 4, "Quadro NVS 110M" },
{ 0x01DB, 4, "Quadro NVS 120M" },
{ 0x01DC, 4, "Quadro FX 350M" },
{ 0x01DD, 4, "GeForce 7500 LE" },
{ 0x01DE, 4, "Quadro FX 350" },
{ 0x01DF, 4, "GeForce 7300 GS" },
{ 0x01F0, 2, "GeForce4 MX Integrated GPU" },
{ 0x0200, 2, "GeForce3" },
{ 0x0201, 2, "GeForce3 Ti 200" },
{ 0x0202, 2, "GeForce3 Ti 500" },
{ 0x0203, 2, "Quadro DCC" },
{ 0x0211, 4, "GeForce 6800" },
{ 0x0212, 4, "GeForce 6800 LE" },
{ 0x0215, 4, "GeForce 6800 GT" },
{ 0x0218, 4, "GeForce 6800 XT" },
{ 0x0221, 4, "GeForce 6200" },
{ 0x0222, 4, "GeForce 6200 A-LE" },
{ 0x0240, 4, "GeForce 6150" },
{ 0x0241, 4, "GeForce 6150 LE" },
{ 0x0242, 4, "GeForce 6100" },
{ 0x0244, 4, "GeForce Go 6150" },
{ 0x0245, 4, "Quadro NVS 210S / GeForce 6150LE" },
{ 0x0247, 4, "GeForce Go 6100" },
{ 0x0250, 2, "GeForce4 Ti 4600" },
{ 0x0251, 2, "GeForce4 Ti 4400" },
{ 0x0253, 2, "GeForce4 Ti 4200" },
{ 0x0258, 2, "Quadro4 900 XGL" },
{ 0x0259, 2, "Quadro4 750 XGL" },
{ 0x025B, 2, "Quadro4 700 XGL" },
{ 0x0280, 2, "GeForce4 Ti 4800" },
{ 0x0281, 2, "GeForce4 Ti 4200 with AGP8X" },
{ 0x0282, 2, "GeForce4 Ti 4800 SE" },
{ 0x0286, 2, "GeForce4 4200 Go" },
{ 0x0288, 2, "Quadro4 980 XGL" },
{ 0x0289, 2, "Quadro4 780 XGL" },
{ 0x028C, 2, "Quadro4 700 GoGL" },
{ 0x0290, 4, "GeForce 7900 GTX" },
{ 0x0291, 4, "GeForce 7900 GT/GTO" },
{ 0x0292, 4, "GeForce 7900 GS" },
{ 0x0293, 4, "GeForce 7950 GX2" },
{ 0x0294, 4, "GeForce 7950 GX2" },
{ 0x0295, 4, "GeForce 7950 GT" },
{ 0x0297, 4, "GeForce Go 7950 GTX" },
{ 0x0298, 4, "GeForce Go 7900 GS" },
{ 0x0299, 4, "Quadro NVS 510M" },
{ 0x029A, 4, "Quadro FX 2500M" },
{ 0x029B, 4, "Quadro FX 1500M" },
{ 0x029C, 4, "Quadro FX 5500" },
{ 0x029D, 4, "Quadro FX 3500" },
{ 0x029E, 4, "Quadro FX 1500" },
{ 0x029F, 4, "Quadro FX 4500 X2" },
{ 0x02E0, 4, "GeForce 7600 GT" },
{ 0x02E1, 4, "GeForce 7600 GS" },
{ 0x02E2, 4, "GeForce 7300 GT" },
{ 0x02E3, 4, "GeForce 7900 GS" },
{ 0x02E4, 4, "GeForce 7950 GT" },
{ 0x0301, 3, "GeForce FX 5800 Ultra" },
{ 0x0302, 3, "GeForce FX 5800" },
{ 0x0308, 3, "Quadro FX 2000" },
{ 0x0309, 3, "Quadro FX 1000" },
{ 0x0311, 3, "GeForce FX 5600 Ultra" },
{ 0x0312, 3, "GeForce FX 5600" },
{ 0x0314, 3, "GeForce FX 5600XT" },
{ 0x031A, 3, "GeForce FX Go5600" },
{ 0x031B, 3, "GeForce FX Go5650" },
{ 0x031C, 3, "Quadro FX Go700" },
{ 0x0320, 3, "GeForce FX 5200" },
{ 0x0321, 3, "GeForce FX 5200 Ultra" },
{ 0x0322, 3, "GeForce FX 5200" },
{ 0x0323, 3, "GeForce FX 5200LE" },
{ 0x0324, 3, "GeForce FX Go5200" },
{ 0x0325, 3, "GeForce FX Go5250" },
{ 0x0326, 3, "GeForce FX 5500" },
{ 0x0327, 3, "GeForce FX 5100" },
{ 0x0328, 3, "GeForce FX Go5200 32M/64M" },
{ 0x032A, 3, "Quadro NVS 55/280 PCI" },
{ 0x032B, 3, "Quadro FX 500/FX 600" },
{ 0x032C, 3, "GeForce FX Go53xx" },
{ 0x032D, 3, "GeForce FX Go5100" },
{ 0x0330, 3, "GeForce FX 5900 Ultra" },
{ 0x0331, 3, "GeForce FX 5900" },
{ 0x0332, 3, "GeForce FX 5900XT" },
{ 0x0333, 3, "GeForce FX 5950 Ultra" },
{ 0x0334, 3, "GeForce FX 5900ZT" },
{ 0x0338, 3, "Quadro FX 3000" },
{ 0x033F, 3, "Quadro FX 700" },
{ 0x0341, 3, "GeForce FX 5700 Ultra" },
{ 0x0342, 3, "GeForce FX 5700" },
{ 0x0343, 3, "GeForce FX 5700LE" },
{ 0x0344, 3, "GeForce FX 5700VE" },
{ 0x0347, 3, "GeForce FX Go5700" },
{ 0x0348, 3, "GeForce FX Go5700" },
{ 0x034C, 3, "Quadro FX Go1000" },
{ 0x034E, 3, "Quadro FX 1100" },
{ 0x038B, 4, "GeForce 7650 GS" },
{ 0x0390, 4, "GeForce 7650 GS" },
{ 0x0391, 4, "GeForce 7600 GT" },
{ 0x0392, 4, "GeForce 7600 GS" },
{ 0x0393, 4, "GeForce 7300 GT" },
{ 0x0394, 4, "GeForce 7600 LE" },
{ 0x0395, 4, "GeForce 7300 GT" },
{ 0x0397, 4, "GeForce Go 7700" },
{ 0x0398, 4, "GeForce Go 7600" },
{ 0x0399, 4, "GeForce Go 7600 GT" },
{ 0x039C, 4, "Quadro FX 560M" },
{ 0x039E, 4, "Quadro FX 560" },
{ 0x03D0, 4, "GeForce 6150SE nForce 430" },
{ 0x03D1, 4, "GeForce 6100 nForce 405" },
{ 0x03D2, 4, "GeForce 6100 nForce 400" },
{ 0x03D5, 4, "GeForce 6100 nForce 420" },
{ 0x03D6, 4, "GeForce 7025 / nForce 630a" },
{ 0x0531, 4, "GeForce 7150M / nForce 630M" },
{ 0x0533, 4, "GeForce 7000M / nForce 610M" },
{ 0x053A, 4, "GeForce 7050 PV / nForce 630a" },
{ 0x053B, 4, "GeForce 7050 PV / nForce 630a" },
{ 0x053E, 4, "GeForce 7025 / nForce 630a" },
{ 0x07E0, 4, "GeForce 7150 / nForce 630i" },
{ 0x07E1, 4, "GeForce 7100 / nForce 630i" },
{ 0x07E2, 4, "GeForce 7050 / nForce 630i" },
{ 0x07E3, 4, "GeForce 7050 / nForce 610i" },
{ 0x07E5, 4, "GeForce 7050 / nForce 620i" }
};
#endif /* __NV_LEGACY_H */
|