summaryrefslogtreecommitdiff
path: root/indra/newview/tests
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/tests')
-rwxr-xr-xindra/newview/tests/gpus_results.txt3111
-rwxr-xr-xindra/newview/tests/gpus_seen.txt4225
-rw-r--r--indra/newview/tests/gpus_unmatched.txt9
-rwxr-xr-x[-rw-r--r--]indra/newview/tests/llagentaccess_test.cpp148
-rwxr-xr-x[-rw-r--r--]indra/newview/tests/llcapabilitylistener_test.cpp53
-rwxr-xr-x[-rw-r--r--]indra/newview/tests/lldateutil_test.cpp58
-rwxr-xr-xindra/newview/tests/lldir_stub.cpp62
-rwxr-xr-xindra/newview/tests/llglslshader_stub.cpp39
-rwxr-xr-xindra/newview/tests/llhttpretrypolicy_test.cpp328
-rwxr-xr-x[-rw-r--r--]indra/newview/tests/lllogininstance_test.cpp235
-rwxr-xr-x[-rw-r--r--]indra/newview/tests/llmediadataclient_test.cpp158
-rwxr-xr-xindra/newview/tests/llpipeline_stub.cpp32
-rwxr-xr-xindra/newview/tests/llremoteparcelrequest_test.cpp136
-rwxr-xr-xindra/newview/tests/llsecapi_test.cpp122
-rwxr-xr-xindra/newview/tests/llsechandler_basic_test.cpp1068
-rwxr-xr-xindra/newview/tests/llsky_stub.cpp37
-rwxr-xr-xindra/newview/tests/llslurl_test.cpp320
-rwxr-xr-x[-rw-r--r--]indra/newview/tests/lltextureinfo_test.cpp38
-rwxr-xr-x[-rw-r--r--]indra/newview/tests/lltextureinfodetails_test.cpp38
-rwxr-xr-x[-rw-r--r--]indra/newview/tests/lltexturestatsuploader_test.cpp40
-rwxr-xr-xindra/newview/tests/lltranslate_test.cpp340
-rwxr-xr-xindra/newview/tests/llversioninfo_test.cpp112
-rwxr-xr-xindra/newview/tests/llviewerassetstats_test.cpp561
-rwxr-xr-x[-rw-r--r--]indra/newview/tests/llviewerhelputil_test.cpp51
-rwxr-xr-xindra/newview/tests/llviewernetwork_test.cpp425
-rwxr-xr-xindra/newview/tests/llviewershadermgr_stub.cpp50
-rw-r--r--indra/newview/tests/llviewertexture_stub.cpp34
-rwxr-xr-xindra/newview/tests/llwlanimator_stub.cpp29
-rwxr-xr-xindra/newview/tests/llwldaycycle_stub.cpp52
-rwxr-xr-xindra/newview/tests/llwlparammanager_test.cpp271
-rwxr-xr-xindra/newview/tests/llwlparamset_stub.cpp41
-rwxr-xr-x[-rw-r--r--]indra/newview/tests/llworldmap_test.cpp84
-rwxr-xr-x[-rw-r--r--]indra/newview/tests/llworldmipmap_test.cpp69
-rwxr-xr-x[-rw-r--r--]indra/newview/tests/llxmlrpclistener_test.cpp44
-rwxr-xr-x[-rw-r--r--]indra/newview/tests/test_llxmlrpc_peer.py44
35 files changed, 12051 insertions, 413 deletions
diff --git a/indra/newview/tests/gpus_results.txt b/indra/newview/tests/gpus_results.txt
new file mode 100755
index 0000000000..106593afd5
--- /dev/null
+++ b/indra/newview/tests/gpus_results.txt
@@ -0,0 +1,3111 @@
+GPU String Supported? Class Stats OpenGL Recognizer
+------------------------------------------------------------------------------------------------------ ----------- ----- ----- ------ ------------------------------------
+AMD BARTS (HD 6800) supported 3 1 2.1 AMD BARTS (HD 6800)
+AMD CAICOS (HD 6400) supported 3 0 0 AMD CAICOS (HD 6400)
+AMD CAYMAN (HD 6900) supported 3 0 0 AMD CAYMAN (HD 6900)
+AMD CEDAR (HD 5450) supported 2 0 2.1 AMD CEDAR (HD 5450)
+AMD JUNIPER (HD 5700) supported 3 0 0 AMD JUNIPER (HD 5700)
+AMD PARK supported 3 0 0 AMD PARK
+AMD REDWOOD (HD 5500/5600) supported 3 0 1.4 AMD REDWOOD (HD 5500/5600)
+AMD RS780 (HD 3200) supported 0 1 2.1 AMD RS780 (HD 3200)
+AMD RS880 (HD 4200) supported 0 1 3.2 AMD RS880 (HD 4200)
+AMD RV610 (HD 2400) supported 1 0 0 AMD RV610 (HD 2400)
+AMD RV620 (HD 3400) supported 1 0 0 AMD RV620 (HD 3400)
+AMD RV630 (HD 2600) supported 2 0 0 AMD RV630 (HD 2600)
+AMD RV635 (HD 3600) supported 3 0 1.4 AMD RV635 (HD 3600)
+AMD RV670 (HD 3800) supported 3 0 0 AMD RV670 (HD 3800)
+AMD RV710 (HD 4300) supported 0 1 1.4 AMD RV710 (HD 4300)
+AMD RV730 (HD 4600) supported 3 0 1.4 AMD RV730 (HD 4600)
+AMD RV770 (HD 4800) supported 3 0 0 AMD RV770 (HD 4800)
+AMD RV790 (HD 4800) supported 3 0 0 AMD RV790 (HD 4800)
+AMD TURKS (HD 6500/6600) supported 3 0 2.1 AMD TURKS (HD 6500/6600)
+ATI NO MATCH
+ATI 760G/Radeon 3000 supported 1 1 4 ATI Radeon 3000
+ATI ASUS AH24xx supported 1 1 4 ATI Radeon HD 2400
+ATI ASUS AH34xx supported 1 1 4 ATI Radeon HD 3400
+ATI ASUS AH36xx supported 3 1 4 ATI Radeon HD 3600
+ATI ASUS AH46xx supported 3 1 4 ATI Radeon HD 4600
+ATI ASUS AX3xx supported 2 1 4 ATI Radeon HD 4300
+ATI ASUS AX5xx supported 1 1 4 ATI Radeon HD 5xx
+ATI ASUS EAH38xx supported 3 1 4 ATI Radeon HD 3800
+ATI ASUS EAH43xx supported 2 1 4 ATI Radeon HD 4300
+ATI ASUS EAH45xx supported 2 1 3.3 ATI Radeon HD 4500
+ATI ASUS EAH48xx supported 3 1 4 ATI Radeon HD 4800
+ATI ASUS EAH54xx supported 3 1 4.2 ATI Radeon HD 5400
+ATI ASUS EAH57xx supported 3 1 4.2 ATI Radeon HD 5700
+ATI ASUS EAH58xx supported 4 1 4.2 ATI Radeon HD 5800
+ATI ASUS EAH64xx supported 3 1 4.2 ATI Radeon HD 6400
+ATI ASUS EAH65xx supported 3 1 4.2 ATI Radeon HD 6500
+ATI ASUS EAH66xx supported 3 1 4.2 ATI Radeon HD 6600
+ATI ASUS EAH67xx supported 3 1 4.2 ATI Radeon HD 6700
+ATI ASUS EAH68xx supported 4 1 4.2 ATI Radeon HD 6800
+ATI ASUS EAH69xx supported 5 1 4.2 ATI Radeon HD 6900
+ATI ASUS EAH6xxx supported 5 1 4.2 ATI Radeon HD 6x00
+ATI ASUS EAH77xx supported 4 1 4.2 ATI Radeon HD 7700
+ATI ASUS HD7700 supported 4 1 4.2 ATI Radeon HD 7700
+ATI ASUS Radeon X1xxx supported 2 0 2.1 ATI Radeon X1xxx
+ATI All-in-Wonder HD supported 1 1 3.3 ATI All-in-Wonder HD
+ATI All-in-Wonder PCI-E supported 1 0 0 ATI All-in-Wonder PCI-E
+ATI Display Adapter supported 1 1 4.1 ATI Display Adapter
+ATI FireGL supported 4 1 4.2 ATI FireGL
+ATI FireGL 5200 supported 4 1 4.2 ATI FireGL
+ATI FireGL 5xxx supported 4 1 4.2 ATI FireGL
+ATI FireMV supported 0 1 3.2 ATI FireMV
+ATI FirePro 2000 supported 2 1 4.2 ATI FirePro 2000
+ATI FirePro 4000 supported 2 0 4.1 ATI FirePro 4000
+ATI FirePro M supported 3 1 4.2 ATI FirePro M
+ATI FirePro M3900 supported 2 0 4.1 ATI FirePro M3900
+ATI FirePro M5800 supported 3 0 0 ATI FirePro M5800
+ATI FirePro M7740 supported 3 0 0 ATI FirePro M7740
+ATI FirePro M7820 supported 5 1 4.2 ATI FirePro M7820
+ATI Geforce 9500 GT unsupported 0 0 0 ATI GeForce Lulz
+ATI Geforce 9600 GT unsupported 0 0 0 ATI GeForce Lulz
+ATI Geforce 9800 GT unsupported 0 0 0 ATI GeForce Lulz
+ATI IGP 340M unsupported 0 0 1.3 ATI IGP 340M
+ATI Mobility Radeon supported 3 0 0 ATI Radeon
+ATI Mobility Radeon 4100 supported 1 1 3.3 ATI Mobility Radeon 4100
+ATI Mobility Radeon 7xxx supported 0 1 1.3 ATI Mobility Radeon 7xxx
+ATI Mobility Radeon 9600 supported 1 1 2.1 ATI Mobility Radeon 9600
+ATI Mobility Radeon 9700 supported 0 1 2.1 ATI Mobility Radeon 9700
+ATI Mobility Radeon 9800 supported 1 0 0 ATI Mobility Radeon 9800
+ATI Mobility Radeon HD 2300 supported 0 1 2.1 ATI Mobility Radeon HD 2300
+ATI Mobility Radeon HD 2400 supported 1 1 3.3 ATI Mobility Radeon HD 2400
+ATI Mobility Radeon HD 2600 supported 1 1 3.3 ATI Mobility Radeon HD 2600
+ATI Mobility Radeon HD 2700 supported 3 0 0 ATI Mobility Radeon HD 2700
+ATI Mobility Radeon HD 3400 supported 1 1 4 ATI Mobility Radeon HD 3400
+ATI Mobility Radeon HD 3600 supported 1 1 4 ATI Mobility Radeon HD 3600
+ATI Mobility Radeon HD 3800 supported 3 1 3.3 ATI Mobility Radeon HD 3800
+ATI Mobility Radeon HD 4200 supported 1 1 4 ATI Mobility Radeon HD 4200
+ATI Mobility Radeon HD 4300 supported 1 1 4 ATI Mobility Radeon HD 4300
+ATI Mobility Radeon HD 4500 supported 1 1 4 ATI Mobility Radeon HD 4500
+ATI Mobility Radeon HD 4600 supported 2 1 3.3 ATI Mobility Radeon HD 4600
+ATI Mobility Radeon HD 4800 supported 3 1 3.3 ATI Mobility Radeon HD 4800
+ATI Mobility Radeon HD 5100 supported 3 1 3.2 ATI Mobility Radeon HD 5100
+ATI Mobility Radeon HD 5300 supported 3 0 0 ATI Mobility Radeon HD 5300
+ATI Mobility Radeon HD 530v supported 1 1 3.3 ATI Mobility Radeon HD 530v
+ATI Mobility Radeon HD 5400 supported 2 1 4.2 ATI Mobility Radeon HD 5400
+ATI Mobility Radeon HD 540v supported 1 1 3.3 ATI Mobility Radeon HD 540v
+ATI Mobility Radeon HD 545v supported 2 1 4 ATI Mobility Radeon HD 545v
+ATI Mobility Radeon HD 5500 supported 3 0 4.2 ATI Mobility Radeon HD 5500
+ATI Mobility Radeon HD 550v supported 3 1 4 ATI Mobility Radeon HD 550v
+ATI Mobility Radeon HD 5600 supported 3 1 4.2 ATI Mobility Radeon HD 5600
+ATI Mobility Radeon HD 560v supported 3 1 3.2 ATI Mobility Radeon HD 560v
+ATI Mobility Radeon HD 565v supported 3 1 3.3 ATI Mobility Radeon HD 565v
+ATI Mobility Radeon HD 5700 supported 3 1 4.1 ATI Mobility Radeon HD 5700
+ATI Mobility Radeon HD 6300 supported 1 1 4.2 ATI Radeon HD 6300
+ATI Mobility Radeon HD 6500 supported 3 1 4.2 ATI Radeon HD 6500
+ATI Mobility Radeon HD 6500M supported 3 1 4.2 ATI Radeon HD 6500
+ATI Mobility Radeon X1xxx supported 2 0 2.1 ATI Mobility Radeon X1000
+ATI Mobility Radeon X2xxx supported 2 0 2.1 ATI Radeon X2xxx
+ATI Mobility Radeon X3xx supported 1 1 2.1 ATI Radeon X300
+ATI Mobility Radeon X6xx supported 1 1 2.1 ATI Radeon X600
+ATI Mobility Radeon X7xx supported 2 1 2.1 ATI Radeon X700
+ATI Mobility Radeon Xxxx supported 2 0 2.1 ATI Mobility Radeon XX000
+ATI R300 (9700) supported 0 1 2.1 ATI R300 (9700)
+ATI RV410 (X700) supported 1 0 0 ATI RV410 (X700)
+ATI RV530 supported 1 0 0 ATI RV530
+ATI Radeon supported 3 0 0 ATI Radeon
+ATI Radeon 2100 supported 0 1 2.1 ATI Radeon 2100
+ATI Radeon 3000 supported 1 1 4 ATI Radeon 3000
+ATI Radeon 3100 supported 0 1 3.3 ATI Radeon 3100
+ATI Radeon 5xxx supported 3 0 0 ATI Radeon 5xxx
+ATI Radeon 7000 supported 0 1 2 ATI Radeon 7xxx
+ATI Radeon 7xxx supported 0 1 2 ATI Radeon 7xxx
+ATI Radeon 8xxx supported 0 0 0 ATI Radeon 8xxx
+ATI Radeon 9000 supported 0 1 1.3 ATI Radeon 9000
+ATI Radeon 9100 supported 0 0 0 ATI Radeon 9100
+ATI Radeon 9200 supported 0 1 1.3 ATI Radeon 9200
+ATI Radeon 9500 supported 0 1 2.1 ATI Radeon 9500
+ATI Radeon 9600 supported 0 1 2.1 ATI Radeon 9600
+ATI Radeon 9700 supported 1 0 0 ATI Radeon 9700
+ATI Radeon 9800 supported 1 1 2.1 ATI Radeon 9800
+ATI Radeon HD 2300 supported 0 1 3.3 ATI Radeon HD 2300
+ATI Radeon HD 2400 supported 1 1 4 ATI Radeon HD 2400
+ATI Radeon HD 2600 supported 2 1 4 ATI Radeon HD 2600
+ATI Radeon HD 2900 supported 3 1 3.3 ATI Radeon HD 2900
+ATI Radeon HD 3000 supported 0 0 0 ATI Radeon HD 3000
+ATI Radeon HD 3100 supported 1 0 0 ATI Radeon HD 3100
+ATI Radeon HD 3200 supported 1 1 4 ATI Radeon HD 3200
+ATI Radeon HD 3300 supported 1 1 3.3 ATI Radeon HD 3300
+ATI Radeon HD 3400 supported 1 1 4 ATI Radeon HD 3400
+ATI Radeon HD 3500 supported 2 0 0 ATI Radeon HD 3500
+ATI Radeon HD 3600 supported 3 1 4 ATI Radeon HD 3600
+ATI Radeon HD 3700 supported 3 0 3.3 ATI Radeon HD 3700
+ATI Radeon HD 3800 supported 3 1 4 ATI Radeon HD 3800
+ATI Radeon HD 4200 supported 1 1 4 ATI Radeon HD 4200
+ATI Radeon HD 4300 supported 2 1 4 ATI Radeon HD 4300
+ATI Radeon HD 4400 supported 2 0 0 ATI Radeon HD 4400
+ATI Radeon HD 4500 supported 2 1 3.3 ATI Radeon HD 4500
+ATI Radeon HD 4600 supported 3 1 4 ATI Radeon HD 4600
+ATI Radeon HD 4700 supported 3 1 3.3 ATI Radeon HD 4700
+ATI Radeon HD 4800 supported 3 1 4 ATI Radeon HD 4800
+ATI Radeon HD 5400 supported 3 1 4.2 ATI Radeon HD 5400
+ATI Radeon HD 5500 supported 3 1 4.2 ATI Radeon HD 5500
+ATI Radeon HD 5600 supported 3 1 4.2 ATI Radeon HD 5600
+ATI Radeon HD 5700 supported 3 1 4.2 ATI Radeon HD 5700
+ATI Radeon HD 5800 supported 4 1 4.2 ATI Radeon HD 5800
+ATI Radeon HD 5900 supported 4 1 4.2 ATI Radeon HD 5900
+ATI Radeon HD 6200 supported 0 1 4.2 ATI Radeon HD 6200
+ATI Radeon HD 6300 supported 1 1 4.2 ATI Radeon HD 6300
+ATI Radeon HD 6300M supported 1 1 4.2 ATI Radeon HD 6300
+ATI Radeon HD 6400 supported 3 1 4.2 ATI Radeon HD 6400
+ATI Radeon HD 64xx supported 3 1 4.2 ATI Radeon HD 6400
+ATI Radeon HD 6500 supported 3 1 4.2 ATI Radeon HD 6500
+ATI Radeon HD 65xx supported 3 1 4.2 ATI Radeon HD 6500
+ATI Radeon HD 6600 supported 3 1 4.2 ATI Radeon HD 6600
+ATI Radeon HD 66xx supported 3 1 4.2 ATI Radeon HD 6600
+ATI Radeon HD 6700 supported 3 1 4.2 ATI Radeon HD 6700
+ATI Radeon HD 6700M supported 3 1 4.2 ATI Radeon HD 6700
+ATI Radeon HD 6800 supported 4 1 4.2 ATI Radeon HD 6800
+ATI Radeon HD 6900 supported 5 1 4.2 ATI Radeon HD 6900
+ATI Radeon HD 7200 supported 2 0 4.2 ATI Radeon HD 7200
+ATI Radeon HD 7300 supported 2 0 4.2 ATI Radeon HD 7300
+ATI Radeon HD 7400 supported 2 0 4.2 ATI Radeon HD 7400
+ATI Radeon HD 7500 supported 3 1 4.2 ATI Radeon HD 7500
+ATI Radeon HD 7600 supported 3 0 4.2 ATI Radeon HD 7600
+ATI Radeon HD 7700 supported 4 1 4.2 ATI Radeon HD 7700
+ATI Radeon HD 7800 supported 5 1 4.2 ATI Radeon HD 7800
+ATI Radeon HD 7900 supported 5 1 4.2 ATI Radeon HD 7900
+ATI Radeon X1000 supported 2 0 2.1 ATI Radeon X1000
+ATI Radeon X1200 supported 2 0 2.1 ATI Radeon X1200
+ATI Radeon X1300 supported 2 1 2.1 ATI Radeon X1300
+ATI Radeon X13xx supported 2 1 2.1 ATI Radeon X1300
+ATI Radeon X1400 supported 2 1 2.1 ATI Radeon X1400
+ATI Radeon X1500 supported 2 1 2.1 ATI Radeon X1500
+ATI Radeon X15xx supported 2 1 2.1 ATI Radeon X1500
+ATI Radeon X1600 supported 2 1 2.1 ATI Radeon X1600
+ATI Radeon X16xx supported 2 1 2.1 ATI Radeon X1600
+ATI Radeon X17xx supported 2 1 2.1 ATI Radeon X1700
+ATI Radeon X1800 supported 3 1 2.1 ATI Radeon X1800
+ATI Radeon X18xx supported 3 1 2.1 ATI Radeon X1800
+ATI Radeon X1900 supported 2 1 2.1 ATI Radeon X1900
+ATI Radeon X19xx supported 2 1 2.1 ATI Radeon X1900
+ATI Radeon X1xxx supported 2 0 2.1 ATI Radeon X1xxx
+ATI Radeon X2xxx supported 2 0 2.1 ATI Radeon X2xxx
+ATI Radeon X300 supported 1 1 2.1 ATI Radeon X300
+ATI Radeon X500 supported 1 1 2.1 ATI Radeon X500
+ATI Radeon X600 supported 1 1 2.1 ATI Radeon X600
+ATI Radeon X700 supported 2 1 2.1 ATI Radeon X700
+ATI Radeon X800 supported 1 1 2.1 ATI Radeon X800
+ATI Radeon Xpress supported 0 1 2.1 ATI Radeon Xpress
+ATI Rage 128 supported 0 0 0 ATI Rage 128
+ATI Technologies NO MATCH
+ATI Technologies Inc. NO MATCH
+ATI Technologies Inc. (DNA-AMD GFX) AMD Radeon HD 6290 Graphics supported 0 1 4.2 ATI Radeon HD 6200
+ATI Technologies Inc. (DNA-ATi 5.1.7.5x32) ATI Mobility Radeon HD 2 NO MATCH
+ATI Technologies Inc. (Vista) ATI Mobility Radeon HD 5730 supported 3 1 4.1 ATI Mobility Radeon HD 5700
+ATI Technologies Inc. (Vista) ATI Mobility Radeon HD 5870 supported 4 1 4.2 ATI Radeon HD 5800
+ATI Technologies Inc. 128MB ATI RADEON X600 SE supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. 128MB ATI RADEON X600 SE x86/SSE2 supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. 128MB ATI Radeon X1300 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. 128MB ATI Radeon X1300 x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. 128MB ATI Radeon X1300 x86/SSE2 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. 256MB ATI RADEON X600 supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. 256MB ATI Radeon X1300PRO supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. 256MB ATI Radeon X1300PRO x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. 256MB ATI Radeon X1300PRO x86/SSE2 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. 3DP (ATI RADEON XPRESS 200M) supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. 3DP Edition v10.04 (Mobility Radeon X1600) x86/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. 7900 MOD - AMD Radeon HD 7400M Series supported 3 0 4.2 ATI Radeon HD 7400D/G/M
+ATI Technologies Inc. 7900 MOD - AMD Radeon HD 7640G supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. ALL-IN-WONDER 9600 SERIES supported 1 0 2.1 ATI All-in-Wonder 9xxx
+ATI Technologies Inc. AMD (ATI) FirePro M5950 (FireGL) Mobility Pro Graphics supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD (ATI) FirePro M4000 (FireGL V) Mobility Pro Graphics supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD (ATI) FirePro M5950 (FireGL) Mobility Pro Graphics supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD (ATI) FirePro M6000 (FireGL V) Mobility Pro Graphics supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD (ATI) FirePro M8900 (FireGL) Mobility Pro supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD (ATI) FirePro M8900 (FireGL) Mobility Pro Graphics supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD 760G supported 1 1 3.3 ATI 760G/Radeon 3000
+ATI Technologies Inc. AMD 760G (Microsoft Corporation WDDM 1.1) supported 1 1 3.3 ATI 760G/Radeon 3000
+ATI Technologies Inc. AMD FirePro 2270 supported 2 1 4.2 ATI FirePro 2000
+ATI Technologies Inc. AMD FirePro 2460 supported 2 1 4.2 ATI FirePro 2000
+ATI Technologies Inc. AMD FirePro M2000 supported 3 1 4.2 ATI FirePro M
+ATI Technologies Inc. AMD FirePro M3900 supported 2 0 4.1 ATI FirePro M3900
+ATI Technologies Inc. AMD FirePro M4000 supported 3 1 4.2 ATI FirePro M
+ATI Technologies Inc. AMD FirePro M5950 supported 3 1 4.2 ATI FirePro M
+ATI Technologies Inc. AMD FirePro M5950 Mobility Professional Graphics supported 3 1 4.2 ATI FirePro M
+ATI Technologies Inc. AMD FirePro V3900 supported 2 0 0 ATI FirePro 3000
+ATI Technologies Inc. AMD FirePro V3900 (ATI FireGL) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD FirePro V4900 supported 2 0 4.1 ATI FirePro 4000
+ATI Technologies Inc. AMD FirePro V4900 (ATI FireGL) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD FirePro V4900 (FireGL V) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD FirePro V4900 (FireGL V) Graphics Adapter supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD FirePro V5900 supported 3 0 0 ATI FirePro 5000
+ATI Technologies Inc. AMD FirePro V5900 (ATI FireGL) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD FirePro V5900 (FireGL V) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD FirePro V5900 (FireGL V) Graphics Adapter supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD FirePro V7900 supported 3 0 0 ATI FirePro 7000
+ATI Technologies Inc. AMD FirePro V7900 (ATI FireGL) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD FirePro V7900 (FireGL V) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD FirePro V7900 (FireGL V) Graphics Adapter supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD FirePro W5000 (FireGL V) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD FirePro W9000 (FireGL V) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. AMD M860G with ATI Mobility Radeon 4100 supported 1 1 3.3 ATI Mobility Radeon 4100
+ATI Technologies Inc. AMD M880G with ATI Mobility Radeon HD 4200 supported 1 1 4 ATI Mobility Radeon HD 4200
+ATI Technologies Inc. AMD M880G with ATI Mobility Radeon HD 4225 supported 1 1 4 ATI Mobility Radeon HD 4200
+ATI Technologies Inc. AMD M880G with ATI Mobility Radeon HD 4250 supported 1 1 4 ATI Mobility Radeon HD 4200
+ATI Technologies Inc. AMD RADEON HD 6350 supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. AMD RADEON HD 6450 supported 3 1 4.2 ATI Radeon HD 6400
+ATI Technologies Inc. AMD RADEON HD 6450A supported 3 1 4.2 ATI Radeon HD 6400
+ATI Technologies Inc. AMD RADEON HD 6670 supported 3 1 4.2 ATI Radeon HD 6600
+ATI Technologies Inc. AMD RADEON HD 7450 supported 2 0 4.2 ATI Radeon HD 7400
+ATI Technologies Inc. AMD RADEON HD6370D Graphics supported 3 1 4.2 ATI Radeon HD 6300D/G/M
+ATI Technologies Inc. AMD RADEON HD6410D Graphics supported 3 0 4.2 ATI Radeon HD 6400D/G/M
+ATI Technologies Inc. AMD RADEON HD6530D Graphics supported 4 1 4.2 ATI Radeon HD 6500D/G/M
+ATI Technologies Inc. AMD RADEON HD6550D Graphics supported 4 1 4.2 ATI Radeon HD 6500D/G/M
+ATI Technologies Inc. AMD Radeon supported 3 0 0 ATI Radeon
+ATI Technologies Inc. AMD Radeon (TM) HD 8500M/8700M supported 4 0 4.2 ATI Radeon HD 8500D/G/M
+ATI Technologies Inc. AMD Radeon 6600M and 6700M Series supported 0 0 0 ATI Radeon 6xxx
+ATI Technologies Inc. AMD Radeon 6600M and 6700M Series (Microsoft Corporation - WDDM v1.20) supported 0 0 0 ATI Radeon 6xxx
+ATI Technologies Inc. AMD Radeon HD 5450 supported 3 1 4.2 ATI Radeon HD 5400
+ATI Technologies Inc. AMD Radeon HD 5500 Series supported 3 1 4.2 ATI Radeon HD 5500
+ATI Technologies Inc. AMD Radeon HD 5500 Series (Microsoft Corporation - WDDM v1.20) supported 3 1 4.2 ATI Radeon HD 5500
+ATI Technologies Inc. AMD Radeon HD 6200 series Graphics supported 0 1 4.2 ATI Radeon HD 6200
+ATI Technologies Inc. AMD Radeon HD 6250 supported 0 1 4.2 ATI Radeon HD 6200
+ATI Technologies Inc. AMD Radeon HD 6250 Graphics supported 0 1 4.2 ATI Radeon HD 6200
+ATI Technologies Inc. AMD Radeon HD 6250M supported 3 0 4.2 ATI Radeon HD 6200D/G/M
+ATI Technologies Inc. AMD Radeon HD 6290 supported 0 1 4.2 ATI Radeon HD 6200
+ATI Technologies Inc. AMD Radeon HD 6290 Graphics supported 0 1 4.2 ATI Radeon HD 6200
+ATI Technologies Inc. AMD Radeon HD 6290M supported 3 0 4.2 ATI Radeon HD 6200D/G/M
+ATI Technologies Inc. AMD Radeon HD 6300 series Graphics supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. AMD Radeon HD 6300M Series supported 3 1 4.2 ATI Radeon HD 6300D/G/M
+ATI Technologies Inc. AMD Radeon HD 6310 supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. AMD Radeon HD 6310 Graphics supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. AMD Radeon HD 6310 Graphics (Engineering Sample - WDDM v1.20) supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. AMD Radeon HD 6310 Graphics (Microsoft Corporation - WDDM v1.3) supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. AMD Radeon HD 6310 Graphics (Microsoft Corporation- WDDM v1.20) supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. AMD Radeon HD 6310M supported 3 1 4.2 ATI Radeon HD 6300D/G/M
+ATI Technologies Inc. AMD Radeon HD 6320 supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. AMD Radeon HD 6320 Graphics supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. AMD Radeon HD 6320 Graphic supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. AMD Radeon HD 6320 Graphics supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. AMD Radeon HD 6320 Graphics (Microsoft Corporation - WDDM v1.20) supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. AMD Radeon HD 6320 series Graphics supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. AMD Radeon HD 6320M supported 3 1 4.2 ATI Radeon HD 6300D/G/M
+ATI Technologies Inc. AMD Radeon HD 6330M supported 3 1 4.2 ATI Radeon HD 6300D/G/M
+ATI Technologies Inc. AMD Radeon HD 6350 supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. AMD Radeon HD 6370D supported 3 1 4.2 ATI Radeon HD 6300D/G/M
+ATI Technologies Inc. AMD Radeon HD 6370M supported 3 1 4.2 ATI Radeon HD 6300D/G/M
+ATI Technologies Inc. AMD Radeon HD 6380G supported 3 1 4.2 ATI Radeon HD 6300D/G/M
+ATI Technologies Inc. AMD Radeon HD 6400 Series supported 3 1 4.2 ATI Radeon HD 6400
+ATI Technologies Inc. AMD Radeon HD 6400M Series supported 3 0 4.2 ATI Radeon HD 6400D/G/M
+ATI Technologies Inc. AMD Radeon HD 6410D supported 3 0 4.2 ATI Radeon HD 6400D/G/M
+ATI Technologies Inc. AMD Radeon HD 6410D Graphics supported 3 0 4.2 ATI Radeon HD 6400D/G/M
+ATI Technologies Inc. AMD Radeon HD 6450 supported 3 1 4.2 ATI Radeon HD 6400
+ATI Technologies Inc. AMD Radeon HD 6450 (Microsoft Corporation - WDDM v1.2) supported 3 1 4.2 ATI Radeon HD 6400
+ATI Technologies Inc. AMD Radeon HD 6450 Graphics supported 3 1 4.2 ATI Radeon HD 6400
+ATI Technologies Inc. AMD Radeon HD 6450A supported 3 1 4.2 ATI Radeon HD 6400
+ATI Technologies Inc. AMD Radeon HD 6450A Graphics supported 3 1 4.2 ATI Radeon HD 6400
+ATI Technologies Inc. AMD Radeon HD 6450M supported 3 0 4.2 ATI Radeon HD 6400D/G/M
+ATI Technologies Inc. AMD Radeon HD 6470M supported 3 0 4.2 ATI Radeon HD 6400D/G/M
+ATI Technologies Inc. AMD Radeon HD 6470M/7400M Series supported 3 0 4.2 ATI Radeon HD 6400D/G/M
+ATI Technologies Inc. AMD Radeon HD 6480G supported 3 0 4.2 ATI Radeon HD 6400D/G/M
+ATI Technologies Inc. AMD Radeon HD 6480M supported 3 0 4.2 ATI Radeon HD 6400D/G/M
+ATI Technologies Inc. AMD Radeon HD 6490M supported 3 0 4.2 ATI Radeon HD 6400D/G/M
+ATI Technologies Inc. AMD Radeon HD 6500 Series supported 3 1 4.2 ATI Radeon HD 6500
+ATI Technologies Inc. AMD Radeon HD 6500 series graphics supported 3 1 4.2 ATI Radeon HD 6500
+ATI Technologies Inc. AMD Radeon HD 6500M Series supported 4 1 4.2 ATI Radeon HD 6500D/G/M
+ATI Technologies Inc. AMD Radeon HD 6500M/5600/5700 Series supported 4 1 4.2 ATI Radeon HD 6500D/G/M
+ATI Technologies Inc. AMD Radeon HD 6510 Series supported 3 1 4.2 ATI Radeon HD 6500
+ATI Technologies Inc. AMD Radeon HD 6520G supported 4 1 4.2 ATI Radeon HD 6500D/G/M
+ATI Technologies Inc. AMD Radeon HD 6530D supported 4 1 4.2 ATI Radeon HD 6500D/G/M
+ATI Technologies Inc. AMD Radeon HD 6530D Graphics supported 4 1 4.2 ATI Radeon HD 6500D/G/M
+ATI Technologies Inc. AMD Radeon HD 6530M supported 4 1 4.2 ATI Radeon HD 6500D/G/M
+ATI Technologies Inc. AMD Radeon HD 6550A supported 3 1 4.2 ATI Radeon HD 6500
+ATI Technologies Inc. AMD Radeon HD 6550D supported 4 1 4.2 ATI Radeon HD 6500D/G/M
+ATI Technologies Inc. AMD Radeon HD 6550D Graphics supported 4 1 4.2 ATI Radeon HD 6500D/G/M
+ATI Technologies Inc. AMD Radeon HD 6550M supported 4 1 4.2 ATI Radeon HD 6500D/G/M
+ATI Technologies Inc. AMD Radeon HD 6570 supported 3 1 4.2 ATI Radeon HD 6500
+ATI Technologies Inc. AMD Radeon HD 6570 (Microsoft Corporation - WDDM v1.2) supported 3 1 4.2 ATI Radeon HD 6500
+ATI Technologies Inc. AMD Radeon HD 6570 (Microsoft Corporation - WDDM v1.20) supported 3 1 4.2 ATI Radeon HD 6500
+ATI Technologies Inc. AMD Radeon HD 6570M supported 4 1 4.2 ATI Radeon HD 6500D/G/M
+ATI Technologies Inc. AMD Radeon HD 6570M/5700 Series supported 4 1 4.2 ATI Radeon HD 6500D/G/M
+ATI Technologies Inc. AMD Radeon HD 6570M/5730 supported 4 1 4.2 ATI Radeon HD 6500D/G/M
+ATI Technologies Inc. AMD Radeon HD 6600 Series supported 3 1 4.2 ATI Radeon HD 6600
+ATI Technologies Inc. AMD Radeon HD 6600M Series supported 4 0 4.2 ATI Radeon HD 6600D/G/M
+ATI Technologies Inc. AMD Radeon HD 6610M Graphics supported 4 0 4.2 ATI Radeon HD 6600D/G/M
+ATI Technologies Inc. AMD Radeon HD 6620G supported 4 0 4.2 ATI Radeon HD 6600D/G/M
+ATI Technologies Inc. AMD Radeon HD 6625M Graphics supported 4 0 4.2 ATI Radeon HD 6600D/G/M
+ATI Technologies Inc. AMD Radeon HD 6630M supported 4 0 4.2 ATI Radeon HD 6600D/G/M
+ATI Technologies Inc. AMD Radeon HD 6650A Graphics supported 3 1 4.2 ATI Radeon HD 6600
+ATI Technologies Inc. AMD Radeon HD 6650M supported 4 0 4.2 ATI Radeon HD 6600D/G/M
+ATI Technologies Inc. AMD Radeon HD 6670 supported 3 1 4.2 ATI Radeon HD 6600
+ATI Technologies Inc. AMD Radeon HD 6670 (Microsoft Corporation - WDDM v1.2) supported 3 1 4.2 ATI Radeon HD 6600
+ATI Technologies Inc. AMD Radeon HD 6670 (Microsoft Corporation - WDDM v1.20) supported 3 1 4.2 ATI Radeon HD 6600
+ATI Technologies Inc. AMD Radeon HD 6700 Series supported 3 1 4.2 ATI Radeon HD 6700
+ATI Technologies Inc. AMD Radeon HD 6700 series supported 3 1 4.2 ATI Radeon HD 6700
+ATI Technologies Inc. AMD Radeon HD 6700M Series supported 4 0 4.2 ATI Radeon HD 6700D/G/M
+ATI Technologies Inc. AMD Radeon HD 6700M Series (Microsoft Corporation - WDDM v1.20) supported 4 0 4.2 ATI Radeon HD 6700D/G/M
+ATI Technologies Inc. AMD Radeon HD 6700M/7700M/7900M Series supported 4 0 4.2 ATI Radeon HD 6700D/G/M
+ATI Technologies Inc. AMD Radeon HD 6730M supported 4 0 4.2 ATI Radeon HD 6700D/G/M
+ATI Technologies Inc. AMD Radeon HD 6750 supported 3 1 4.2 ATI Radeon HD 6700
+ATI Technologies Inc. AMD Radeon HD 6750M supported 4 0 4.2 ATI Radeon HD 6700D/G/M
+ATI Technologies Inc. AMD Radeon HD 6770 supported 3 1 4.2 ATI Radeon HD 6700
+ATI Technologies Inc. AMD Radeon HD 6770M supported 4 0 4.2 ATI Radeon HD 6700D/G/M
+ATI Technologies Inc. AMD Radeon HD 6770M OpenGL Engine supported 4 0 4.2 ATI Radeon HD 6700D/G/M
+ATI Technologies Inc. AMD Radeon HD 6800 Series supported 4 1 4.2 ATI Radeon HD 6800
+ATI Technologies Inc. AMD Radeon HD 6800 Series (Engineering Sample - WDDM v1.20) supported 4 1 4.2 ATI Radeon HD 6800
+ATI Technologies Inc. AMD Radeon HD 6800 Series (Microsoft Corporation - WDDM v1.2) supported 4 1 4.2 ATI Radeon HD 6800
+ATI Technologies Inc. AMD Radeon HD 6800 Series (Microsoft Corporation - WDDM v1.20) supported 4 1 4.2 ATI Radeon HD 6800
+ATI Technologies Inc. AMD Radeon HD 6800M Series supported 4 0 4.2 ATI Radeon HD 6800D/G/M
+ATI Technologies Inc. AMD Radeon HD 6850 supported 4 1 4.2 ATI Radeon HD 6800
+ATI Technologies Inc. AMD Radeon HD 6850 X2 supported 4 1 4.2 ATI Radeon HD 6800
+ATI Technologies Inc. AMD Radeon HD 6850M supported 4 0 4.2 ATI Radeon HD 6800D/G/M
+ATI Technologies Inc. AMD Radeon HD 6870 supported 4 1 4.2 ATI Radeon HD 6800
+ATI Technologies Inc. AMD Radeon HD 6870M supported 4 0 4.2 ATI Radeon HD 6800D/G/M
+ATI Technologies Inc. AMD Radeon HD 6900 Series supported 5 1 4.2 ATI Radeon HD 6900
+ATI Technologies Inc. AMD Radeon HD 6900 Series (Microsoft Corporation - WDDM v1.2) supported 5 1 4.2 ATI Radeon HD 6900
+ATI Technologies Inc. AMD Radeon HD 6900M Series supported 4 0 4.2 ATI Radeon HD 6900D/G/M
+ATI Technologies Inc. AMD Radeon HD 6970 supported 5 1 4.2 ATI Radeon HD 6900
+ATI Technologies Inc. AMD Radeon HD 6970M supported 4 0 4.2 ATI Radeon HD 6900D/G/M
+ATI Technologies Inc. AMD Radeon HD 6990 supported 5 1 4.2 ATI Radeon HD 6900
+ATI Technologies Inc. AMD Radeon HD 6990M supported 4 0 4.2 ATI Radeon HD 6900D/G/M
+ATI Technologies Inc. AMD Radeon HD 7000 series supported 3 1 4.2 ATI Radeon HD 7000 Series
+ATI Technologies Inc. AMD Radeon HD 7290 Graphics supported 2 0 4.2 ATI Radeon HD 7200
+ATI Technologies Inc. AMD Radeon HD 7300 Series (Microsoft Corporation - WDDM v1.2) supported 2 0 4.2 ATI Radeon HD 7300
+ATI Technologies Inc. AMD Radeon HD 7300 Series Graphics supported 2 0 4.2 ATI Radeon HD 7300
+ATI Technologies Inc. AMD Radeon HD 7310 supported 2 0 4.2 ATI Radeon HD 7300
+ATI Technologies Inc. AMD Radeon HD 7310 Graphics supported 2 0 4.2 ATI Radeon HD 7300
+ATI Technologies Inc. AMD Radeon HD 7310 Graphics supported 2 0 4.2 ATI Radeon HD 7300
+ATI Technologies Inc. AMD Radeon HD 7310 Graphics (Microsoft Corporation - WDDM v1.2) supported 2 0 4.2 ATI Radeon HD 7300
+ATI Technologies Inc. AMD Radeon HD 7310G supported 3 0 4.2 ATI Radeon HD 7300D/G/M
+ATI Technologies Inc. AMD Radeon HD 7310M supported 3 0 4.2 ATI Radeon HD 7300D/G/M
+ATI Technologies Inc. AMD Radeon HD 7340 supported 2 0 4.2 ATI Radeon HD 7300
+ATI Technologies Inc. AMD Radeon HD 7340 Graphics supported 2 0 4.2 ATI Radeon HD 7300
+ATI Technologies Inc. AMD Radeon HD 7340G supported 3 0 4.2 ATI Radeon HD 7300D/G/M
+ATI Technologies Inc. AMD Radeon HD 7340M supported 3 0 4.2 ATI Radeon HD 7300D/G/M
+ATI Technologies Inc. AMD Radeon HD 7350 supported 2 0 4.2 ATI Radeon HD 7300
+ATI Technologies Inc. AMD Radeon HD 7350 Graphics supported 2 0 4.2 ATI Radeon HD 7300
+ATI Technologies Inc. AMD Radeon HD 7370M supported 3 0 4.2 ATI Radeon HD 7300D/G/M
+ATI Technologies Inc. AMD Radeon HD 7400 Series supported 2 0 4.2 ATI Radeon HD 7400
+ATI Technologies Inc. AMD Radeon HD 7400 Series (Microsoft Corporation - WDDM v1.2) supported 2 0 4.2 ATI Radeon HD 7400
+ATI Technologies Inc. AMD Radeon HD 7400G supported 3 0 4.2 ATI Radeon HD 7400D/G/M
+ATI Technologies Inc. AMD Radeon HD 7400M Series supported 3 0 4.2 ATI Radeon HD 7400D/G/M
+ATI Technologies Inc. AMD Radeon HD 7400M Series (Microsoft Corporation - WDDM v1.20) supported 3 0 4.2 ATI Radeon HD 7400D/G/M
+ATI Technologies Inc. AMD Radeon HD 7410M supported 3 0 4.2 ATI Radeon HD 7400D/G/M
+ATI Technologies Inc. AMD Radeon HD 7420G supported 3 0 4.2 ATI Radeon HD 7400D/G/M
+ATI Technologies Inc. AMD Radeon HD 7450 supported 2 0 4.2 ATI Radeon HD 7400
+ATI Technologies Inc. AMD Radeon HD 7450 Graphics supported 2 0 4.2 ATI Radeon HD 7400
+ATI Technologies Inc. AMD Radeon HD 7450A Graphics supported 2 0 4.2 ATI Radeon HD 7400
+ATI Technologies Inc. AMD Radeon HD 7450M supported 3 0 4.2 ATI Radeon HD 7400D/G/M
+ATI Technologies Inc. AMD Radeon HD 7470 supported 2 0 4.2 ATI Radeon HD 7400
+ATI Technologies Inc. AMD Radeon HD 7470 Series supported 2 0 4.2 ATI Radeon HD 7400
+ATI Technologies Inc. AMD Radeon HD 7470M supported 3 0 4.2 ATI Radeon HD 7400D/G/M
+ATI Technologies Inc. AMD Radeon HD 7480D supported 3 0 4.2 ATI Radeon HD 7400D/G/M
+ATI Technologies Inc. AMD Radeon HD 7500 Series supported 3 1 4.2 ATI Radeon HD 7500
+ATI Technologies Inc. AMD Radeon HD 7500 Series (Microsoft Corporation - WDDM v1.2) supported 3 1 4.2 ATI Radeon HD 7500
+ATI Technologies Inc. AMD Radeon HD 7500 Series (Microsoft Corporation - WDDM v1.20) supported 3 1 4.2 ATI Radeon HD 7500
+ATI Technologies Inc. AMD Radeon HD 7500/7600 Series supported 3 1 4.2 ATI Radeon HD 7500
+ATI Technologies Inc. AMD Radeon HD 7500G supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7500G + 7500M/7600M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7500M/7600M Series supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7510 supported 3 1 4.2 ATI Radeon HD 7500
+ATI Technologies Inc. AMD Radeon HD 7520G supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7520G + 6400M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7520G + 7470M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7520G + 7500/7600 Dual Graphics supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7520G + 7600M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7520G + 7610M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7520G + 7670M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7540D supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7540D + 7450 Dual Graphics supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7550M supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7550M/7650M Graphics supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7560D supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7560D (Microsoft Corporation - WDDM v1.20) supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7560D + 6570 Dual Graphics supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7560D + 6670 Dual Graphics supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7560D + 7560D Dual Graphics supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7560D + 7600 Dual Graphics supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7560D + 7670 Dual Graphics supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7570 supported 3 1 4.2 ATI Radeon HD 7500
+ATI Technologies Inc. AMD Radeon HD 7570 Graphics supported 3 1 4.2 ATI Radeon HD 7500
+ATI Technologies Inc. AMD Radeon HD 7570 Series supported 3 1 4.2 ATI Radeon HD 7500
+ATI Technologies Inc. AMD Radeon HD 7570M supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7570M/HD 7670M Graphics supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7580D supported 4 0 4.2 ATI Radeon HD 7500D/G/M
+ATI Technologies Inc. AMD Radeon HD 7600 Series (Microsoft Corporation - WDDM v1.20) supported 3 0 4.2 ATI Radeon HD 7600
+ATI Technologies Inc. AMD Radeon HD 7600G supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7600G + 7500M/7600M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7600G + 7550M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7600M + 7600M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7600M Series supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7610M supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7620G supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7640G supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7640G + 6400M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7640G + 7450M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7640G + 7470M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7640G + 7500/7600 Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7640G + 7500M/7600M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7640G + 7600M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7640G + 7610M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7640G + 7670M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7650A supported 3 0 4.2 ATI Radeon HD 7600
+ATI Technologies Inc. AMD Radeon HD 7650A Graphics supported 3 0 4.2 ATI Radeon HD 7600
+ATI Technologies Inc. AMD Radeon HD 7650M supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7650M Series supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7660D supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7660D + 6570 Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7660D + 6670 Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7660D + 7670 Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7660D + 7700 Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7660G supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7660G + 6400M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7660G + 7400M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7660G + 7470M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7660G + 7500/7600 Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7660G + 7600M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7660G + 7610M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7660G + 7670M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7660G + 7700M Dual Graphics supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7670 supported 3 0 4.2 ATI Radeon HD 7600
+ATI Technologies Inc. AMD Radeon HD 7670M supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7690M supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD 7700 Series supported 4 1 4.2 ATI Radeon HD 7700
+ATI Technologies Inc. AMD Radeon HD 7700 Series (Microsoft Corporation - WDDM v1.3) supported 4 1 4.2 ATI Radeon HD 7700
+ATI Technologies Inc. AMD Radeon HD 7700M Series supported 4 0 4.2 ATI Radeon HD 7700D/G/M
+ATI Technologies Inc. AMD Radeon HD 7730M supported 4 0 4.2 ATI Radeon HD 7700D/G/M
+ATI Technologies Inc. AMD Radeon HD 7770 supported 4 1 4.2 ATI Radeon HD 7700
+ATI Technologies Inc. AMD Radeon HD 7770 GHz Edition supported 4 1 4.2 ATI Radeon HD 7700
+ATI Technologies Inc. AMD Radeon HD 7800 Series supported 5 1 4.2 ATI Radeon HD 7800
+ATI Technologies Inc. AMD Radeon HD 7800 Series (Engineering Sample - WDDM v1.20) supported 5 1 4.2 ATI Radeon HD 7800
+ATI Technologies Inc. AMD Radeon HD 7800 Series (Microsoft Corporation - WDDM v1.20) supported 5 1 4.2 ATI Radeon HD 7800
+ATI Technologies Inc. AMD Radeon HD 7800 Series (Microsoft Corporation - WDDM v1.3) supported 5 1 4.2 ATI Radeon HD 7800
+ATI Technologies Inc. AMD Radeon HD 7800M Series supported 4 0 4.2 ATI Radeon HD 7800D/G/M
+ATI Technologies Inc. AMD Radeon HD 7870 supported 5 1 4.2 ATI Radeon HD 7800
+ATI Technologies Inc. AMD Radeon HD 7870M supported 4 0 4.2 ATI Radeon HD 7800D/G/M
+ATI Technologies Inc. AMD Radeon HD 7900 Series supported 5 1 4.2 ATI Radeon HD 7900
+ATI Technologies Inc. AMD Radeon HD 7900 Series (Microsoft Corporation - WDDM v1.3) supported 5 1 4.2 ATI Radeon HD 7900
+ATI Technologies Inc. AMD Radeon HD 7950 supported 5 1 4.2 ATI Radeon HD 7900
+ATI Technologies Inc. AMD Radeon HD 7970 supported 5 1 4.2 ATI Radeon HD 7900
+ATI Technologies Inc. AMD Radeon HD 7970M supported 4 0 4.2 ATI Radeon HD 7900D/G/M
+ATI Technologies Inc. AMD Radeon HD 8210 supported 2 0 4.2 ATI Radeon HD 8200
+ATI Technologies Inc. AMD Radeon HD 8240 supported 2 0 4.2 ATI Radeon HD 8200
+ATI Technologies Inc. AMD Radeon HD 8250 supported 2 0 4.2 ATI Radeon HD 8200
+ATI Technologies Inc. AMD Radeon HD 8280G supported 3 0 4.2 ATI Radeon HD 8200D/G/M
+ATI Technologies Inc. AMD Radeon HD 8330 supported 2 0 4.2 ATI Radeon HD 8300 (OEM)
+ATI Technologies Inc. AMD Radeon HD 8350 supported 2 0 4.2 ATI Radeon HD 8300 (OEM)
+ATI Technologies Inc. AMD Radeon HD 8350G supported 3 0 4.2 ATI Radeon HD 8300D/G/M
+ATI Technologies Inc. AMD Radeon HD 8400 supported 2 0 4.2 ATI Radeon HD 8400 (OEM)
+ATI Technologies Inc. AMD Radeon HD 8450 supported 2 0 4.2 ATI Radeon HD 8400 (OEM)
+ATI Technologies Inc. AMD Radeon HD 8450G supported 4 0 4.2 ATI Radeon HD 8400D/G/M
+ATI Technologies Inc. AMD Radeon HD 8470 supported 2 0 4.2 ATI Radeon HD 8400 (OEM)
+ATI Technologies Inc. AMD Radeon HD 8470D supported 4 0 4.2 ATI Radeon HD 8400D/G/M
+ATI Technologies Inc. AMD Radeon HD 8550G supported 4 0 4.2 ATI Radeon HD 8500D/G/M
+ATI Technologies Inc. AMD Radeon HD 8570 supported 3 1 4.2 ATI Radeon HD 8500 (OEM)
+ATI Technologies Inc. AMD Radeon HD 8570D supported 4 0 4.2 ATI Radeon HD 8500D/G/M
+ATI Technologies Inc. AMD Radeon HD 8610G supported 4 0 4.2 ATI Radeon HD 8600D/G/M
+ATI Technologies Inc. AMD Radeon HD 8650G supported 4 0 4.2 ATI Radeon HD 8600D/G/M
+ATI Technologies Inc. AMD Radeon HD 8670D supported 4 0 4.2 ATI Radeon HD 8600D/G/M
+ATI Technologies Inc. AMD Radeon HD 8670D + 6670 Dual Graphics supported 4 0 4.2 ATI Radeon HD 8600D/G/M
+ATI Technologies Inc. AMD Radeon HD 8700M Series supported 4 0 4.2 ATI Radeon HD 8700D/G/M
+ATI Technologies Inc. AMD Radeon HD 8730M supported 4 0 4.2 ATI Radeon HD 8700D/G/M
+ATI Technologies Inc. AMD Radeon HD 8750M supported 4 0 4.2 ATI Radeon HD 8700D/G/M
+ATI Technologies Inc. AMD Radeon HD 8760 supported 4 1 4.2 ATI Radeon HD 8700 (OEM)
+ATI Technologies Inc. AMD Radeon HD 8800M Series supported 4 0 4.2 ATI Radeon HD 8800D/G/M
+ATI Technologies Inc. AMD Radeon HD 8900 Series (OEM) supported 5 1 4.2 ATI Radeon HD 8900 (OEM)
+ATI Technologies Inc. AMD Radeon HD 8950 supported 5 1 4.2 ATI Radeon HD 8900 (OEM)
+ATI Technologies Inc. AMD Radeon HD HD7850M supported 4 0 4.2 ATI Radeon HD 7800D/G/M
+ATI Technologies Inc. AMD Radeon HD6370D Graphics supported 3 1 4.2 ATI Radeon HD 6300D/G/M
+ATI Technologies Inc. AMD Radeon HD7610M supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon HD7700 Series supported 4 1 4.2 ATI Radeon HD 7700
+ATI Technologies Inc. AMD Radeon HD7770 supported 4 1 4.2 ATI Radeon HD 7700
+ATI Technologies Inc. AMD Radeon HD7770 GHz Edition supported 4 1 4.2 ATI Radeon HD 7700
+ATI Technologies Inc. AMD Radeon HD8350 supported 2 0 4.2 ATI Radeon HD 8300 (OEM)
+ATI Technologies Inc. AMD Radeon(TM) HD 6380G supported 3 1 4.2 ATI Radeon HD 6300D/G/M
+ATI Technologies Inc. AMD Radeon(TM) HD 6470M supported 3 0 4.2 ATI Radeon HD 6400D/G/M
+ATI Technologies Inc. AMD Radeon(TM) HD 6480G supported 3 0 4.2 ATI Radeon HD 6400D/G/M
+ATI Technologies Inc. AMD Radeon(TM) HD 6480G (Microsoft Corporation - WDDM v1.20) supported 3 0 4.2 ATI Radeon HD 6400D/G/M
+ATI Technologies Inc. AMD Radeon(TM) HD 6520G supported 4 1 4.2 ATI Radeon HD 6500D/G/M
+ATI Technologies Inc. AMD Radeon(TM) HD 6620G supported 4 0 4.2 ATI Radeon HD 6600D/G/M
+ATI Technologies Inc. AMD Radeon(TM) HD 6630M supported 4 0 4.2 ATI Radeon HD 6600D/G/M
+ATI Technologies Inc. AMD Radeon(TM) HD 6650M supported 4 0 4.2 ATI Radeon HD 6600D/G/M
+ATI Technologies Inc. AMD Radeon(TM) HD 7450 supported 2 0 4.2 ATI Radeon HD 7400
+ATI Technologies Inc. AMD Radeon(TM) HD 7450A Graphics supported 2 0 4.2 ATI Radeon HD 7400
+ATI Technologies Inc. AMD Radeon(TM) HD 7650A Graphics supported 3 0 4.2 ATI Radeon HD 7600
+ATI Technologies Inc. AMD Radeon(TM) HD 7670A Graphics supported 3 0 4.2 ATI Radeon HD 7600
+ATI Technologies Inc. AMD Radeon(TM) HD 7670M supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon(TM) HD 8350 supported 2 0 4.2 ATI Radeon HD 8300 (OEM)
+ATI Technologies Inc. AMD Radeon(TM) HD8490 supported 2 0 4.2 ATI Radeon HD 8400 (OEM)
+ATI Technologies Inc. AMD Radeon. HD 7350 supported 2 0 4.2 ATI Radeon HD 7300
+ATI Technologies Inc. AMD Radeon. HD 7670M supported 4 0 4.2 ATI Radeon HD 7600D/G/M
+ATI Technologies Inc. AMD Radeon. HD 7730M supported 4 0 4.2 ATI Radeon HD 7700D/G/M
+ATI Technologies Inc. ASUS AH3450 Series supported 1 1 4 ATI Radeon HD 3400
+ATI Technologies Inc. ASUS AH3650 Series supported 3 1 4 ATI Radeon HD 3600
+ATI Technologies Inc. ASUS AH4650 Series supported 3 1 4 ATI Radeon HD 4600
+ATI Technologies Inc. ASUS ARES unsupported 0 0 0 ATI ARES
+ATI Technologies Inc. ASUS ARES2 unsupported 0 0 0 ATI ARES
+ATI Technologies Inc. ASUS EAH2400 Series supported 1 1 4 ATI Radeon HD 2400
+ATI Technologies Inc. ASUS EAH2600 Series supported 2 1 4 ATI Radeon HD 2600
+ATI Technologies Inc. ASUS EAH3450 Series supported 1 1 4 ATI Radeon HD 3400
+ATI Technologies Inc. ASUS EAH3650 Series supported 3 1 4 ATI Radeon HD 3600
+ATI Technologies Inc. ASUS EAH3850 Series supported 3 1 4 ATI Radeon HD 3800
+ATI Technologies Inc. ASUS EAH3870 Series supported 3 1 4 ATI Radeon HD 3800
+ATI Technologies Inc. ASUS EAH4350 series supported 2 1 4 ATI Radeon HD 4300
+ATI Technologies Inc. ASUS EAH4550 series supported 2 1 3.3 ATI Radeon HD 4500
+ATI Technologies Inc. ASUS EAH4650 series supported 3 1 4 ATI Radeon HD 4600
+ATI Technologies Inc. ASUS EAH4670 series supported 3 1 4 ATI Radeon HD 4600
+ATI Technologies Inc. ASUS EAH4770 Series supported 3 1 3.3 ATI Radeon HD 4700
+ATI Technologies Inc. ASUS EAH4770 series supported 3 1 3.3 ATI Radeon HD 4700
+ATI Technologies Inc. ASUS EAH4850 series supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ASUS EAH4870 series supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ASUS EAH4870x2 supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ASUS EAH4890 supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ASUS EAH5450 Series supported 3 1 4.2 ATI Radeon HD 5400
+ATI Technologies Inc. ASUS EAH5550 Series supported 3 1 4.2 ATI Radeon HD 5500
+ATI Technologies Inc. ASUS EAH5570 series supported 3 1 4.2 ATI Radeon HD 5500
+ATI Technologies Inc. ASUS EAH5670 Series supported 3 1 4.2 ATI Radeon HD 5600
+ATI Technologies Inc. ASUS EAH5750 Series supported 3 1 4.2 ATI Radeon HD 5700
+ATI Technologies Inc. ASUS EAH5770 Series supported 3 1 4.2 ATI Radeon HD 5700
+ATI Technologies Inc. ASUS EAH5830 Series supported 4 1 4.2 ATI Radeon HD 5800
+ATI Technologies Inc. ASUS EAH5850 Series supported 4 1 4.2 ATI Radeon HD 5800
+ATI Technologies Inc. ASUS EAH5870 Series supported 4 1 4.2 ATI Radeon HD 5800
+ATI Technologies Inc. ASUS EAH6450 Series supported 3 1 4.2 ATI Radeon HD 6400
+ATI Technologies Inc. ASUS EAH6570 Series supported 3 1 4.2 ATI Radeon HD 6500
+ATI Technologies Inc. ASUS EAH6670 Series supported 3 1 4.2 ATI Radeon HD 6600
+ATI Technologies Inc. ASUS EAH6750 Series supported 3 1 4.2 ATI Radeon HD 6700
+ATI Technologies Inc. ASUS EAH6770 Series supported 3 1 4.2 ATI Radeon HD 6700
+ATI Technologies Inc. ASUS EAH6850 Series supported 4 1 4.2 ATI Radeon HD 6800
+ATI Technologies Inc. ASUS EAH6870 Series supported 4 1 4.2 ATI Radeon HD 6800
+ATI Technologies Inc. ASUS EAH6950 Series supported 5 1 4.2 ATI Radeon HD 6900
+ATI Technologies Inc. ASUS EAH6970 Series supported 5 1 4.2 ATI Radeon HD 6900
+ATI Technologies Inc. ASUS Extreme AX300 Series supported 2 1 4 ATI Radeon HD 4300
+ATI Technologies Inc. ASUS Extreme AX300SE/T supported 2 1 4 ATI Radeon HD 4300
+ATI Technologies Inc. ASUS Extreme AX550 Series supported 3 1 4.2 ATI Radeon HD 5500
+ATI Technologies Inc. ASUS Extreme AX550 Series x86/SSE2 supported 3 1 4.2 ATI Radeon HD 5500
+ATI Technologies Inc. ASUS Extreme AX600 Series supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. ASUS HD 7350 supported 2 0 4.2 ATI Radeon HD 7300
+ATI Technologies Inc. ASUS HD7470 Series supported 2 0 4.2 ATI Radeon HD 7400
+ATI Technologies Inc. ASUS HD7670 Series supported 3 0 4.2 ATI Radeon HD 7600
+ATI Technologies Inc. ASUS HD7750 Series supported 4 1 4.2 ATI Radeon HD 7700
+ATI Technologies Inc. ASUS HD7770 Series supported 4 1 4.2 ATI Radeon HD 7700
+ATI Technologies Inc. ASUS HD7790 Series supported 4 1 4.2 ATI Radeon HD 7700
+ATI Technologies Inc. ASUS HD7850 Series supported 5 1 4.2 ATI Radeon HD 7800
+ATI Technologies Inc. ASUS HD7870 Series supported 5 1 4.2 ATI Radeon HD 7800
+ATI Technologies Inc. ASUS HD7950 Series supported 5 1 4.2 ATI Radeon HD 7900
+ATI Technologies Inc. ASUS HD7970 Series supported 5 1 4.2 ATI Radeon HD 7900
+ATI Technologies Inc. ASUS X1300 Series supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. ASUS X1300 Series x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. ASUS X1300 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. ASUS X1300 x86/SSE2 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. ASUS X1550 Series supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. ASUS X1550 Series x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. ASUS X1550 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. ASUS X1600 Series supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. ASUS X1600 Series x86 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. ASUS X1600 Series x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. ASUS X1600 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. ASUS X1650 Series supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. ASUS X1650 Series x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. ASUS X1650 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. ASUS X1950 Series x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. ATI Radeon HD 5000 Series supported 3 1 4.2 ATI Radeon HD 5000
+ATI Technologies Inc. ATI Radeon HD 6350 supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. ATI All-in-Wonder HD supported 1 1 3.3 ATI All-in-Wonder HD
+ATI Technologies Inc. ATI Display Adapter supported 1 1 4.1 ATI Display Adapter
+ATI Technologies Inc. ATI FireGL V3100 supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FireGL V3200 Pentium 4 (SSE2) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FireGL V3300 supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FireGL V3350 supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FireGL V3350 Pentium 4 (SSE2) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FireGL V3400 (Microsoft Corporation - WDDM) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FireGL V3400 Pentium 4 (SSE2) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FireGL V3600 supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FireGL V5200 (Microsoft Corporation - WDDM) supported 1 1 2.1 ATI FireGL 5200
+ATI Technologies Inc. ATI FireGL V5200 Pentium 4 (SSE2) supported 1 1 2.1 ATI FireGL 5200
+ATI Technologies Inc. ATI FireGL V5600 supported 2 1 3.3 ATI FireGL 5xxx
+ATI Technologies Inc. ATI FireGL V7200 supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FireGL V7200 Pentium 4 (SSE2) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FireGL V7600 supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FireGL V7700 supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FireMV 2250 supported 0 1 3.2 ATI FireMV
+ATI Technologies Inc. ATI FireMV 2250 x86/SSE2 supported 0 1 3.2 ATI FireMV
+ATI Technologies Inc. ATI FirePro 2260 supported 2 1 4.2 ATI FirePro 2000
+ATI Technologies Inc. ATI FirePro 2450 supported 2 1 4.2 ATI FirePro 2000
+ATI Technologies Inc. ATI FirePro 3800 (FireGL) Graphics Adapter supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FirePro M5800 supported 3 0 0 ATI FirePro M5800
+ATI Technologies Inc. ATI FirePro M7740 supported 3 0 0 ATI FirePro M7740
+ATI Technologies Inc. ATI FirePro M7820 supported 5 1 4.2 ATI FirePro M7820
+ATI Technologies Inc. ATI FirePro M7820 (FireGL) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FirePro V3700 (FireGL) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FirePro V3800 supported 2 0 0 ATI FirePro 3000
+ATI Technologies Inc. ATI FirePro V3800 (FireGL V) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FirePro V3800 (FireGL V) Graphics Adapter supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FirePro V3800 (FireGL) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FirePro V4800 supported 2 0 4.1 ATI FirePro 4000
+ATI Technologies Inc. ATI FirePro V4800 (FireGL V) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FirePro V4800 (FireGL) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FirePro V5700 (FireGL) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FirePro V5800 (FireGL V) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FirePro V5800 (FireGL) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FirePro V7800 (FireGL V) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FirePro V7800 (FireGL) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FirePro V8700 (FireGL) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI FirePro V9800 (FireGL V) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI MOBILITY FIRE GL T2/T2e supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI MOBILITY FireGL V3200 supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. ATI MOBILITY FireGL V5000 Pentium 4 (SSE2) supported 2 1 3.3 ATI FireGL 5xxx
+ATI Technologies Inc. ATI MOBILITY FireGL V5200 supported 1 1 2.1 ATI FireGL 5200
+ATI Technologies Inc. ATI MOBILITY FireGL V5200 Pentium 4 (SSE2) supported 1 1 2.1 ATI FireGL 5200
+ATI Technologies Inc. ATI MOBILITY FireGL V5250 supported 1 1 2.1 ATI FireGL 5200
+ATI Technologies Inc. ATI MOBILITY RADEON 9600 Series supported 1 1 2.1 ATI Mobility Radeon 9600
+ATI Technologies Inc. ATI MOBILITY RADEON 9600/9700 supported 1 1 2.1 ATI Mobility Radeon 9600
+ATI Technologies Inc. ATI MOBILITY RADEON 9600/9700 Series supported 1 1 2.1 ATI Mobility Radeon 9600
+ATI Technologies Inc. ATI MOBILITY RADEON 9600/9700 Series (Omega 3 supported 1 1 2.1 ATI Mobility Radeon 9600
+ATI Technologies Inc. ATI MOBILITY RADEON HD 2300 supported 0 1 2.1 ATI Mobility Radeon HD 2300
+ATI Technologies Inc. ATI MOBILITY RADEON HD 2400 supported 1 1 3.3 ATI Mobility Radeon HD 2400
+ATI Technologies Inc. ATI MOBILITY RADEON HD 2600 supported 1 1 3.3 ATI Mobility Radeon HD 2600
+ATI Technologies Inc. ATI MOBILITY RADEON HD 3430 supported 1 1 4 ATI Mobility Radeon HD 3400
+ATI Technologies Inc. ATI MOBILITY RADEON HD 3450 supported 1 1 4 ATI Mobility Radeon HD 3400
+ATI Technologies Inc. ATI MOBILITY RADEON HD 3650 supported 1 1 4 ATI Mobility Radeon HD 3600
+ATI Technologies Inc. ATI MOBILITY RADEON HD 4530 / 4570 supported 1 1 4 ATI Mobility Radeon HD 4500
+ATI Technologies Inc. ATI MOBILITY RADEON X1300 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. ATI MOBILITY RADEON X1350 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. ATI MOBILITY RADEON X1400 supported 2 1 2.1 ATI Radeon X1400
+ATI Technologies Inc. ATI MOBILITY RADEON X1600 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. ATI MOBILITY RADEON X1700 supported 2 1 2.1 ATI Radeon X1700
+ATI Technologies Inc. ATI MOBILITY RADEON X1800 supported 3 1 2.1 ATI Radeon X1800
+ATI Technologies Inc. ATI MOBILITY RADEON X1900 supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. ATI MOBILITY RADEON X2300 supported 2 0 2.1 ATI Mobility Radeon X2300
+ATI Technologies Inc. ATI MOBILITY RADEON X2300 x86/MMX/3DNow!/SSE2 supported 2 0 2.1 ATI Mobility Radeon X2300
+ATI Technologies Inc. ATI MOBILITY RADEON X300 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. ATI MOBILITY RADEON X300 x86/SSE2 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. ATI MOBILITY RADEON X600 supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. ATI MOBILITY RADEON X600 SE supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. ATI MOBILITY RADEON X700 supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. ATI MOBILITY RADEON XPRESS 200 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI MOBILITY RADEON XPRESS 200 x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI MOBILITY Radeon HD 4650 supported 2 1 3.3 ATI Mobility Radeon HD 4600
+ATI Technologies Inc. ATI Mobility FireGL V5700 supported 2 1 3.3 ATI FireGL 5xxx
+ATI Technologies Inc. ATI Mobility FireGL V5725 supported 2 1 3.3 ATI FireGL 5xxx
+ATI Technologies Inc. ATI Mobility Radeon 4100 supported 1 1 3.3 ATI Mobility Radeon 4100
+ATI Technologies Inc. ATI Mobility Radeon Graphics NO MATCH
+ATI Technologies Inc. ATI Mobility Radeon HD 2300 supported 0 1 2.1 ATI Mobility Radeon HD 2300
+ATI Technologies Inc. ATI Mobility Radeon HD 2300 x86/SSE2 supported 0 1 2.1 ATI Mobility Radeon HD 2300
+ATI Technologies Inc. ATI Mobility Radeon HD 2400 supported 1 1 3.3 ATI Mobility Radeon HD 2400
+ATI Technologies Inc. ATI Mobility Radeon HD 2400 (Omega 3.8.442) supported 1 1 3.3 ATI Mobility Radeon HD 2400
+ATI Technologies Inc. ATI Mobility Radeon HD 2400 XT supported 1 1 3.3 ATI Mobility Radeon HD 2400
+ATI Technologies Inc. ATI Mobility Radeon HD 2600 supported 1 1 3.3 ATI Mobility Radeon HD 2600
+ATI Technologies Inc. ATI Mobility Radeon HD 2600 XT supported 1 1 3.3 ATI Mobility Radeon HD 2600
+ATI Technologies Inc. ATI Mobility Radeon HD 2600 XT (Microsoft Corporation WDDM 1.1) supported 1 1 3.3 ATI Mobility Radeon HD 2600
+ATI Technologies Inc. ATI Mobility Radeon HD 2700 supported 3 0 0 ATI Mobility Radeon HD 2700
+ATI Technologies Inc. ATI Mobility Radeon HD 3400 Series supported 1 1 4 ATI Mobility Radeon HD 3400
+ATI Technologies Inc. ATI Mobility Radeon HD 3400 Series (Microsoft Corporation WDDM 1.1) supported 1 1 4 ATI Mobility Radeon HD 3400
+ATI Technologies Inc. ATI Mobility Radeon HD 3400 Series (Microsoft Corporation- WDDM v1.1) supported 1 1 4 ATI Mobility Radeon HD 3400
+ATI Technologies Inc. ATI Mobility Radeon HD 3410 supported 1 1 4 ATI Mobility Radeon HD 3400
+ATI Technologies Inc. ATI Mobility Radeon HD 3430 supported 1 1 4 ATI Mobility Radeon HD 3400
+ATI Technologies Inc. ATI Mobility Radeon HD 3430 (Microsoft Corporation- WDDM v1.1) supported 1 1 4 ATI Mobility Radeon HD 3400
+ATI Technologies Inc. ATI Mobility Radeon HD 3450 supported 1 1 4 ATI Mobility Radeon HD 3400
+ATI Technologies Inc. ATI Mobility Radeon HD 3470 supported 1 1 4 ATI Mobility Radeon HD 3400
+ATI Technologies Inc. ATI Mobility Radeon HD 3470 Hybrid X2 supported 1 1 4 ATI Mobility Radeon HD 3400
+ATI Technologies Inc. ATI Mobility Radeon HD 3470 Series supported 1 1 4 ATI Mobility Radeon HD 3400
+ATI Technologies Inc. ATI Mobility Radeon HD 3650 supported 1 1 4 ATI Mobility Radeon HD 3600
+ATI Technologies Inc. ATI Mobility Radeon HD 3670 supported 1 1 4 ATI Mobility Radeon HD 3600
+ATI Technologies Inc. ATI Mobility Radeon HD 3850 supported 3 1 3.3 ATI Mobility Radeon HD 3800
+ATI Technologies Inc. ATI Mobility Radeon HD 3870 supported 3 1 3.3 ATI Mobility Radeon HD 3800
+ATI Technologies Inc. ATI Mobility Radeon HD 3870 X2 supported 3 1 3.3 ATI Mobility Radeon HD 3800
+ATI Technologies Inc. ATI Mobility Radeon HD 4200 supported 1 1 4 ATI Mobility Radeon HD 4200
+ATI Technologies Inc. ATI Mobility Radeon HD 4200 Series supported 1 1 4 ATI Mobility Radeon HD 4200
+ATI Technologies Inc. ATI Mobility Radeon HD 4200 Series (Microsoft Corporation - WDDM v1.1) supported 1 1 4 ATI Mobility Radeon HD 4200
+ATI Technologies Inc. ATI Mobility Radeon HD 4225 supported 1 1 4 ATI Mobility Radeon HD 4200
+ATI Technologies Inc. ATI Mobility Radeon HD 4225 Series supported 1 1 4 ATI Mobility Radeon HD 4200
+ATI Technologies Inc. ATI Mobility Radeon HD 4250 supported 1 1 4 ATI Mobility Radeon HD 4200
+ATI Technologies Inc. ATI Mobility Radeon HD 4250 Graphics supported 1 1 4 ATI Mobility Radeon HD 4200
+ATI Technologies Inc. ATI Mobility Radeon HD 4250 Series supported 1 1 4 ATI Mobility Radeon HD 4200
+ATI Technologies Inc. ATI Mobility Radeon HD 4270 supported 1 1 4 ATI Mobility Radeon HD 4200
+ATI Technologies Inc. ATI Mobility Radeon HD 4270 Series supported 1 1 4 ATI Mobility Radeon HD 4200
+ATI Technologies Inc. ATI Mobility Radeon HD 4300 Series supported 1 1 4 ATI Mobility Radeon HD 4300
+ATI Technologies Inc. ATI Mobility Radeon HD 4300/4500 Series supported 1 1 4 ATI Mobility Radeon HD 4300
+ATI Technologies Inc. ATI Mobility Radeon HD 4330 supported 1 1 4 ATI Mobility Radeon HD 4300
+ATI Technologies Inc. ATI Mobility Radeon HD 4330 Series supported 1 1 4 ATI Mobility Radeon HD 4300
+ATI Technologies Inc. ATI Mobility Radeon HD 4350 supported 1 1 4 ATI Mobility Radeon HD 4300
+ATI Technologies Inc. ATI Mobility Radeon HD 4350 Series supported 1 1 4 ATI Mobility Radeon HD 4300
+ATI Technologies Inc. ATI Mobility Radeon HD 4500 Series supported 1 1 4 ATI Mobility Radeon HD 4500
+ATI Technologies Inc. ATI Mobility Radeon HD 4500 Series (Microsoft Corporation - WDDM v1.1) supported 1 1 4 ATI Mobility Radeon HD 4500
+ATI Technologies Inc. ATI Mobility Radeon HD 4500 Series (Microsoft Corporation WDDM 1.1) supported 1 1 4 ATI Mobility Radeon HD 4500
+ATI Technologies Inc. ATI Mobility Radeon HD 4500/5100 Series supported 1 1 4 ATI Mobility Radeon HD 4500
+ATI Technologies Inc. ATI Mobility Radeon HD 4530 supported 1 1 4 ATI Mobility Radeon HD 4500
+ATI Technologies Inc. ATI Mobility Radeon HD 4530 Series supported 1 1 4 ATI Mobility Radeon HD 4500
+ATI Technologies Inc. ATI Mobility Radeon HD 4550 supported 1 1 4 ATI Mobility Radeon HD 4500
+ATI Technologies Inc. ATI Mobility Radeon HD 4570 supported 1 1 4 ATI Mobility Radeon HD 4500
+ATI Technologies Inc. ATI Mobility Radeon HD 4600 Series supported 2 1 3.3 ATI Mobility Radeon HD 4600
+ATI Technologies Inc. ATI Mobility Radeon HD 4650 supported 2 1 3.3 ATI Mobility Radeon HD 4600
+ATI Technologies Inc. ATI Mobility Radeon HD 4650 (Microsoft Corporation - WDDM v1.1) supported 2 1 3.3 ATI Mobility Radeon HD 4600
+ATI Technologies Inc. ATI Mobility Radeon HD 4650 (Microsoft Corporation- WDDM v1.1) supported 2 1 3.3 ATI Mobility Radeon HD 4600
+ATI Technologies Inc. ATI Mobility Radeon HD 4650 Series supported 2 1 3.3 ATI Mobility Radeon HD 4600
+ATI Technologies Inc. ATI Mobility Radeon HD 4670 supported 2 1 3.3 ATI Mobility Radeon HD 4600
+ATI Technologies Inc. ATI Mobility Radeon HD 4670 (Microsoft Corporation - WDDM v1.1) supported 2 1 3.3 ATI Mobility Radeon HD 4600
+ATI Technologies Inc. ATI Mobility Radeon HD 4830 supported 3 1 3.3 ATI Mobility Radeon HD 4800
+ATI Technologies Inc. ATI Mobility Radeon HD 4830 Series supported 3 1 3.3 ATI Mobility Radeon HD 4800
+ATI Technologies Inc. ATI Mobility Radeon HD 4850 supported 3 1 3.3 ATI Mobility Radeon HD 4800
+ATI Technologies Inc. ATI Mobility Radeon HD 4870 supported 3 1 3.3 ATI Mobility Radeon HD 4800
+ATI Technologies Inc. ATI Mobility Radeon HD 5000 supported 1 1 4.2 ATI Mobility Radeon 5000
+ATI Technologies Inc. ATI Mobility Radeon HD 5000 Series supported 1 1 4.2 ATI Mobility Radeon 5000
+ATI Technologies Inc. ATI Mobility Radeon HD 5000 Series (Engineering Sample - WDDM v1.20) supported 1 1 4.2 ATI Mobility Radeon 5000
+ATI Technologies Inc. ATI Mobility Radeon HD 5000 Series (Microsoft Corporation - WDDM v1.2) supported 1 1 4.2 ATI Mobility Radeon 5000
+ATI Technologies Inc. ATI Mobility Radeon HD 5000 Series (Microsoft Corporation - WDDM v1.20) supported 1 1 4.2 ATI Mobility Radeon 5000
+ATI Technologies Inc. ATI Mobility Radeon HD 5100 supported 3 1 3.2 ATI Mobility Radeon HD 5100
+ATI Technologies Inc. ATI Mobility Radeon HD 5145 supported 3 1 3.2 ATI Mobility Radeon HD 5100
+ATI Technologies Inc. ATI Mobility Radeon HD 5165 supported 3 1 3.2 ATI Mobility Radeon HD 5100
+ATI Technologies Inc. ATI Mobility Radeon HD 530v supported 1 1 3.3 ATI Mobility Radeon HD 530v
+ATI Technologies Inc. ATI Mobility Radeon HD 5400 supported 2 1 4.2 ATI Mobility Radeon HD 5400
+ATI Technologies Inc. ATI Mobility Radeon HD 5400 Series supported 2 1 4.2 ATI Mobility Radeon HD 5400
+ATI Technologies Inc. ATI Mobility Radeon HD 540v supported 1 1 3.3 ATI Mobility Radeon HD 540v
+ATI Technologies Inc. ATI Mobility Radeon HD 5430 supported 2 1 4.2 ATI Mobility Radeon HD 5400
+ATI Technologies Inc. ATI Mobility Radeon HD 5450 supported 2 1 4.2 ATI Mobility Radeon HD 5400
+ATI Technologies Inc. ATI Mobility Radeon HD 5450 Series supported 2 1 4.2 ATI Mobility Radeon HD 5400
+ATI Technologies Inc. ATI Mobility Radeon HD 545v supported 2 1 4 ATI Mobility Radeon HD 545v
+ATI Technologies Inc. ATI Mobility Radeon HD 5470 supported 2 1 4.2 ATI Mobility Radeon HD 5400
+ATI Technologies Inc. ATI Mobility Radeon HD 550v supported 3 1 4 ATI Mobility Radeon HD 550v
+ATI Technologies Inc. ATI Mobility Radeon HD 5570 supported 3 0 4.2 ATI Mobility Radeon HD 5500
+ATI Technologies Inc. ATI Mobility Radeon HD 5600/5700 Series supported 3 1 4.2 ATI Mobility Radeon HD 5600
+ATI Technologies Inc. ATI Mobility Radeon HD 560v supported 3 1 3.2 ATI Mobility Radeon HD 560v
+ATI Technologies Inc. ATI Mobility Radeon HD 5650 supported 3 1 4.2 ATI Mobility Radeon HD 5600
+ATI Technologies Inc. ATI Mobility Radeon HD 565v supported 3 1 3.3 ATI Mobility Radeon HD 565v
+ATI Technologies Inc. ATI Mobility Radeon HD 5700 Series supported 3 1 4.1 ATI Mobility Radeon HD 5700
+ATI Technologies Inc. ATI Mobility Radeon HD 5730 supported 3 1 4.1 ATI Mobility Radeon HD 5700
+ATI Technologies Inc. ATI Mobility Radeon HD 5800 Series supported 4 1 4.2 ATI Radeon HD 5800
+ATI Technologies Inc. ATI Mobility Radeon HD 5800 Series (Microsoft Corporation - WDDM v1.20) supported 4 1 4.2 ATI Radeon HD 5800
+ATI Technologies Inc. ATI Mobility Radeon HD 5830 Series supported 4 1 4.2 ATI Radeon HD 5800
+ATI Technologies Inc. ATI Mobility Radeon HD 5850 supported 4 1 4.2 ATI Radeon HD 5800
+ATI Technologies Inc. ATI Mobility Radeon HD 5870 supported 4 1 4.2 ATI Radeon HD 5800
+ATI Technologies Inc. ATI Mobility Radeon HD 6370 supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. ATI Mobility Radeon HD 6550 supported 3 1 4.2 ATI Radeon HD 6500
+ATI Technologies Inc. ATI Mobility Radeon HD 6570 supported 3 1 4.2 ATI Radeon HD 6500
+ATI Technologies Inc. ATI Mobility Radeon X1300 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. ATI Mobility Radeon X1300 (Omega 3.8.252) x86/SSE2 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. ATI Mobility Radeon X1300 x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. ATI Mobility Radeon X1300 x86/SSE2 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. ATI Mobility Radeon X1350 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. ATI Mobility Radeon X1350 x86/SSE2 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. ATI Mobility Radeon X1400 supported 2 1 2.1 ATI Radeon X1400
+ATI Technologies Inc. ATI Mobility Radeon X1400 (Omega 3.8.442) supported 2 1 2.1 ATI Radeon X1400
+ATI Technologies Inc. ATI Mobility Radeon X1400 x86 supported 2 1 2.1 ATI Radeon X1400
+ATI Technologies Inc. ATI Mobility Radeon X1400 x86/SSE2 supported 2 1 2.1 ATI Radeon X1400
+ATI Technologies Inc. ATI Mobility Radeon X1450 x86/SSE2 supported 2 1 2.1 ATI Radeon X1400
+ATI Technologies Inc. ATI Mobility Radeon X1600 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. ATI Mobility Radeon X1600 x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. ATI Mobility Radeon X1600 x86/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. ATI Mobility Radeon X1700 supported 2 1 2.1 ATI Radeon X1700
+ATI Technologies Inc. ATI Mobility Radeon X1700 x86 supported 2 1 2.1 ATI Radeon X1700
+ATI Technologies Inc. ATI Mobility Radeon X1700 x86/SSE2 supported 2 1 2.1 ATI Radeon X1700
+ATI Technologies Inc. ATI Mobility Radeon X1800 x86/SSE2 supported 3 1 2.1 ATI Radeon X1800
+ATI Technologies Inc. ATI Mobility Radeon X1900 supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. ATI Mobility Radeon X2300 supported 2 0 2.1 ATI Mobility Radeon X2300
+ATI Technologies Inc. ATI Mobility Radeon X2300 x86/MMX/3DNow! supported 2 0 2.1 ATI Mobility Radeon X2300
+ATI Technologies Inc. ATI Mobility Radeon X2300 x86/MMX/3DNow!/SSE2 supported 2 0 2.1 ATI Mobility Radeon X2300
+ATI Technologies Inc. ATI Mobility Radeon X2300 x86/SSE2 supported 2 0 2.1 ATI Mobility Radeon X2300
+ATI Technologies Inc. ATI Mobility Radeon X2500 supported 2 0 2.1 ATI Mobility Radeon X2500
+ATI Technologies Inc. ATI Mobility Radeon. HD 530v supported 1 1 3.3 ATI Mobility Radeon HD 530v
+ATI Technologies Inc. ATI Mobility Radeon. HD 5470 supported 2 1 4.2 ATI Mobility Radeon HD 5400
+ATI Technologies Inc. ATI RADEON 9600 Series supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. ATI RADEON 9600/X1050 Series supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. ATI RADEON E4690 supported 3 1 4 ATI RADEON E4690
+ATI Technologies Inc. ATI RADEON HD 3200 Graphics supported 1 1 4 ATI Radeon HD 3200
+ATI Technologies Inc. ATI RADEON XPRESS 1100 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI RADEON XPRESS 1100 Series supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI RADEON XPRESS 1100 x86/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI RADEON XPRESS 1200 Series supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI RADEON XPRESS 200 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI RADEON XPRESS 200 Series supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI RADEON XPRESS 200 Series x86/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI RADEON XPRESS 200 x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI RADEON XPRESS 200M SERIES supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI RADEON XPRESS 200M Series supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI RADEON XPRESS 200M Series (Microsoft Corporation) supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI RADEON XPRESS 200M Series (Omega 3.8.421) x86/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI RADEON XPRESS 200M Series x86/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI Radeon 2100 supported 0 1 2.1 ATI Radeon 2100
+ATI Technologies Inc. ATI Radeon 2100 (Microsoft Corporation - WDDM) supported 0 1 2.1 ATI Radeon 2100
+ATI Technologies Inc. ATI Radeon 2100 Graphics supported 0 1 2.1 ATI Radeon 2100
+ATI Technologies Inc. ATI Radeon 3000 supported 1 1 4 ATI Radeon 3000
+ATI Technologies Inc. ATI Radeon 3000 Graphics supported 1 1 4 ATI Radeon 3000
+ATI Technologies Inc. ATI Radeon 3000 Graphics (Engineering Sample - WDDM v1.1) supported 1 1 4 ATI Radeon 3000
+ATI Technologies Inc. ATI Radeon 3000 Series Graphics supported 1 1 4 ATI Radeon 3000
+ATI Technologies Inc. ATI Radeon 3100 Graphics supported 0 1 3.3 ATI Radeon 3100
+ATI Technologies Inc. ATI Radeon 3100 Graphics (Microsoft Corporation WDDM 1.1) supported 0 1 3.3 ATI Radeon 3100
+ATI Technologies Inc. ATI Radeon 3100 Series Graphics supported 0 1 3.3 ATI Radeon 3100
+ATI Technologies Inc. ATI Radeon 9550 / X1050 supported 0 1 2.1 ATI Radeon 9500
+ATI Technologies Inc. ATI Radeon 9550 / X1050 Series supported 0 1 2.1 ATI Radeon 9500
+ATI Technologies Inc. ATI Radeon 9550 / X1050 Series x86/SSE2 supported 0 1 2.1 ATI Radeon 9500
+ATI Technologies Inc. ATI Radeon 9550 / X1050 Series(Microsoft Corporation - WDDM) supported 0 1 2.1 ATI Radeon 9500
+ATI Technologies Inc. ATI Radeon 9600 / X1050 Series supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. ATI Radeon 9600 / X1050 Series x86/SSE2 supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. ATI Radeon 9600/9550/X1050 Series supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. ATI Radeon BA Prototype OpenGL Engine supported 3 1 2.1 AMD BA (HD 6800)
+ATI Technologies Inc. ATI Radeon Barts PRO Prototype OpenGL Engine supported 3 1 2.1 AMD BARTS (HD 6800)
+ATI Technologies Inc. ATI Radeon Barts XT Prototype OpenGL Engine supported 3 1 2.1 AMD BARTS (HD 6800)
+ATI Technologies Inc. ATI Radeon Caicos PRO Prototype OpenGL Engine supported 3 0 0 AMD CAICOS (HD 6400)
+ATI Technologies Inc. ATI Radeon Caicos Unknown Prototype OpenGL Engine supported 3 0 0 AMD CAICOS (HD 6400)
+ATI Technologies Inc. ATI Radeon Cedar PRO Prototype OpenGL Engine supported 2 0 2.1 AMD CEDAR (HD 5450)
+ATI Technologies Inc. ATI Radeon Graphics Processor NO MATCH
+ATI Technologies Inc. ATI Radeon HD 2350 supported 0 1 3.3 ATI Radeon HD 2300
+ATI Technologies Inc. ATI Radeon HD 2400 supported 1 1 4 ATI Radeon HD 2400
+ATI Technologies Inc. ATI Radeon HD 2400 OpenGL Engine supported 1 1 4 ATI Radeon HD 2400
+ATI Technologies Inc. ATI Radeon HD 2400 PCI supported 1 1 4 ATI Radeon HD 2400
+ATI Technologies Inc. ATI Radeon HD 2400 PRO supported 1 1 4 ATI Radeon HD 2400
+ATI Technologies Inc. ATI Radeon HD 2400 PRO AGP supported 1 1 4 ATI Radeon HD 2400
+ATI Technologies Inc. ATI Radeon HD 2400 Pro supported 1 1 4 ATI Radeon HD 2400
+ATI Technologies Inc. ATI Radeon HD 2400 Series supported 1 1 4 ATI Radeon HD 2400
+ATI Technologies Inc. ATI Radeon HD 2400 Series AGP supported 1 1 4 ATI Radeon HD 2400
+ATI Technologies Inc. ATI Radeon HD 2400 XT supported 1 1 4 ATI Radeon HD 2400
+ATI Technologies Inc. ATI Radeon HD 2400 XT OpenGL Engine supported 1 1 4 ATI Radeon HD 2400
+ATI Technologies Inc. ATI Radeon HD 2600 OpenGL Engine supported 2 1 4 ATI Radeon HD 2600
+ATI Technologies Inc. ATI Radeon HD 2600 PRO supported 2 1 4 ATI Radeon HD 2600
+ATI Technologies Inc. ATI Radeon HD 2600 PRO OpenGL Engine supported 2 1 4 ATI Radeon HD 2600
+ATI Technologies Inc. ATI Radeon HD 2600 Pro supported 2 1 4 ATI Radeon HD 2600
+ATI Technologies Inc. ATI Radeon HD 2600 Pro AGP supported 2 1 4 ATI Radeon HD 2600
+ATI Technologies Inc. ATI Radeon HD 2600 Series supported 2 1 4 ATI Radeon HD 2600
+ATI Technologies Inc. ATI Radeon HD 2600 Series AGP supported 2 1 4 ATI Radeon HD 2600
+ATI Technologies Inc. ATI Radeon HD 2600 XT supported 2 1 4 ATI Radeon HD 2600
+ATI Technologies Inc. ATI Radeon HD 2600/3600 Series supported 2 1 4 ATI Radeon HD 2600
+ATI Technologies Inc. ATI Radeon HD 2900 GT supported 3 1 3.3 ATI Radeon HD 2900
+ATI Technologies Inc. ATI Radeon HD 2900 PRO supported 3 1 3.3 ATI Radeon HD 2900
+ATI Technologies Inc. ATI Radeon HD 2900 XT supported 3 1 3.3 ATI Radeon HD 2900
+ATI Technologies Inc. ATI Radeon HD 3200 Graphics supported 1 1 4 ATI Radeon HD 3200
+ATI Technologies Inc. ATI Radeon HD 3200 Graphics (Microsoft Corporation - WDDM v1.1) supported 1 1 4 ATI Radeon HD 3200
+ATI Technologies Inc. ATI Radeon HD 3200 Graphics (Microsoft Corporation WDDM 1.1) supported 1 1 4 ATI Radeon HD 3200
+ATI Technologies Inc. ATI Radeon HD 3300 Graphics supported 1 1 3.3 ATI Radeon HD 3300
+ATI Technologies Inc. ATI Radeon HD 3400 Series supported 1 1 4 ATI Radeon HD 3400
+ATI Technologies Inc. ATI Radeon HD 3450 supported 1 1 4 ATI Radeon HD 3400
+ATI Technologies Inc. ATI Radeon HD 3450 - Dell Optiplex supported 1 1 4 ATI Radeon HD 3400
+ATI Technologies Inc. ATI Radeon HD 3450 AGP supported 1 1 4 ATI Radeon HD 3400
+ATI Technologies Inc. ATI Radeon HD 3470 supported 1 1 4 ATI Radeon HD 3400
+ATI Technologies Inc. ATI Radeon HD 3470 - Dell Optiplex supported 1 1 4 ATI Radeon HD 3400
+ATI Technologies Inc. ATI Radeon HD 3600 Series supported 3 1 4 ATI Radeon HD 3600
+ATI Technologies Inc. ATI Radeon HD 3600 Series (Microsoft Corporation - WDDM v1.1) supported 3 1 4 ATI Radeon HD 3600
+ATI Technologies Inc. ATI Radeon HD 3600 Series (Microsoft Corporation WDDM 1.1) supported 3 1 4 ATI Radeon HD 3600
+ATI Technologies Inc. ATI Radeon HD 3650 supported 3 1 4 ATI Radeon HD 3600
+ATI Technologies Inc. ATI Radeon HD 3650 AGP supported 3 1 4 ATI Radeon HD 3600
+ATI Technologies Inc. ATI Radeon HD 3800 Series supported 3 1 4 ATI Radeon HD 3800
+ATI Technologies Inc. ATI Radeon HD 3850 supported 3 1 4 ATI Radeon HD 3800
+ATI Technologies Inc. ATI Radeon HD 3850 (Microsoft Corporation - WDDM v1.1) supported 3 1 4 ATI Radeon HD 3800
+ATI Technologies Inc. ATI Radeon HD 3850 AGP supported 3 1 4 ATI Radeon HD 3800
+ATI Technologies Inc. ATI Radeon HD 3870 supported 3 1 4 ATI Radeon HD 3800
+ATI Technologies Inc. ATI Radeon HD 3870 (Engineering Sample - WDDM v1.1) supported 3 1 4 ATI Radeon HD 3800
+ATI Technologies Inc. ATI Radeon HD 3870 (Microsoft Corporation - WDDM v1.1) supported 3 1 4 ATI Radeon HD 3800
+ATI Technologies Inc. ATI Radeon HD 3870 OpenGL Engine supported 3 1 4 ATI Radeon HD 3800
+ATI Technologies Inc. ATI Radeon HD 3870 X2 supported 3 1 4 ATI Radeon HD 3800
+ATI Technologies Inc. ATI Radeon HD 4200 supported 1 1 4 ATI Radeon HD 4200
+ATI Technologies Inc. ATI Radeon HD 4200 (Microsoft Corporation - WDDM v1.1) supported 1 1 4 ATI Radeon HD 4200
+ATI Technologies Inc. ATI Radeon HD 4250 supported 1 1 4 ATI Radeon HD 4200
+ATI Technologies Inc. ATI Radeon HD 4250 (Engineering Sample - WDDM v1.1) supported 1 1 4 ATI Radeon HD 4200
+ATI Technologies Inc. ATI Radeon HD 4250 (Microsoft Corporation - WDDM v1.1) supported 1 1 4 ATI Radeon HD 4200
+ATI Technologies Inc. ATI Radeon HD 4250 Graphics supported 1 1 4 ATI Radeon HD 4200
+ATI Technologies Inc. ATI Radeon HD 4270 supported 1 1 4 ATI Radeon HD 4200
+ATI Technologies Inc. ATI Radeon HD 4290 supported 1 1 4 ATI Radeon HD 4200
+ATI Technologies Inc. ATI Radeon HD 4300 Series supported 2 1 4 ATI Radeon HD 4300
+ATI Technologies Inc. ATI Radeon HD 4300/4500 Series supported 2 1 4 ATI Radeon HD 4300
+ATI Technologies Inc. ATI Radeon HD 4300/4500 Series (Microsoft Corporation - WDDM v1.1) supported 2 1 4 ATI Radeon HD 4300
+ATI Technologies Inc. ATI Radeon HD 4300/4500 Series (Microsoft Corporation- WDDM v1.1) supported 2 1 4 ATI Radeon HD 4300
+ATI Technologies Inc. ATI Radeon HD 4350 supported 2 1 4 ATI Radeon HD 4300
+ATI Technologies Inc. ATI Radeon HD 4350 (Microsoft Corporation WDDM 1.1) supported 2 1 4 ATI Radeon HD 4300
+ATI Technologies Inc. ATI Radeon HD 4450 supported 2 0 0 ATI Radeon HD 4400
+ATI Technologies Inc. ATI Radeon HD 4500 Series supported 2 1 3.3 ATI Radeon HD 4500
+ATI Technologies Inc. ATI Radeon HD 4520 supported 2 1 3.3 ATI Radeon HD 4500
+ATI Technologies Inc. ATI Radeon HD 4550 supported 2 1 3.3 ATI Radeon HD 4500
+ATI Technologies Inc. ATI Radeon HD 4550 (Microsoft Corporation - WDDM v1.1) supported 2 1 3.3 ATI Radeon HD 4500
+ATI Technologies Inc. ATI Radeon HD 4570 supported 2 1 3.3 ATI Radeon HD 4500
+ATI Technologies Inc. ATI Radeon HD 4580 supported 2 1 3.3 ATI Radeon HD 4500
+ATI Technologies Inc. ATI Radeon HD 4590 supported 2 1 3.3 ATI Radeon HD 4500
+ATI Technologies Inc. ATI Radeon HD 4600 Series supported 3 1 4 ATI Radeon HD 4600
+ATI Technologies Inc. ATI Radeon HD 4600 Series (Engineering Sample - WDDM v1.1) supported 3 1 4 ATI Radeon HD 4600
+ATI Technologies Inc. ATI Radeon HD 4600 Series (Microsoft Corporation - WDDM v1.1) supported 3 1 4 ATI Radeon HD 4600
+ATI Technologies Inc. ATI Radeon HD 4600-serie (Microsoft Corporation - WDDM v1.1) supported 3 1 4 ATI Radeon HD 4600
+ATI Technologies Inc. ATI Radeon HD 4650 supported 3 1 4 ATI Radeon HD 4600
+ATI Technologies Inc. ATI Radeon HD 4650 (Microsoft Corporation WDDM 1.1) supported 3 1 4 ATI Radeon HD 4600
+ATI Technologies Inc. ATI Radeon HD 4670 supported 3 1 4 ATI Radeon HD 4600
+ATI Technologies Inc. ATI Radeon HD 4670 OpenGL Engine supported 3 1 4 ATI Radeon HD 4600
+ATI Technologies Inc. ATI Radeon HD 4700 supported 3 1 3.3 ATI Radeon HD 4700
+ATI Technologies Inc. ATI Radeon HD 4700 Series supported 3 1 3.3 ATI Radeon HD 4700
+ATI Technologies Inc. ATI Radeon HD 4720 supported 3 1 3.3 ATI Radeon HD 4700
+ATI Technologies Inc. ATI Radeon HD 4730 supported 3 1 3.3 ATI Radeon HD 4700
+ATI Technologies Inc. ATI Radeon HD 4730 Series supported 3 1 3.3 ATI Radeon HD 4700
+ATI Technologies Inc. ATI Radeon HD 4770 supported 3 1 3.3 ATI Radeon HD 4700
+ATI Technologies Inc. ATI Radeon HD 4800 supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ATI Radeon HD 4800 Series supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ATI Radeon HD 4800 Series (Microsoft Corporation - WDDM v1.1) supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ATI Radeon HD 4810 series supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ATI Radeon HD 4830 supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ATI Radeon HD 4850 supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ATI Radeon HD 4850 OpenGL Engine supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ATI Radeon HD 4850 PRO OpenGL Engine supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ATI Radeon HD 4850 Series supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ATI Radeon HD 4850 X2 supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ATI Radeon HD 4870 supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ATI Radeon HD 4870 OpenGL Engine supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ATI Radeon HD 4870 Series supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ATI Radeon HD 4870 X2 supported 3 1 4 ATI Radeon HD 4800
+ATI Technologies Inc. ATI Radeon HD 5400 Series supported 3 1 4.2 ATI Radeon HD 5400
+ATI Technologies Inc. ATI Radeon HD 5450 supported 3 1 4.2 ATI Radeon HD 5400
+ATI Technologies Inc. ATI Radeon HD 5450 (Microsoft Corporation - WDDM v1.20) supported 3 1 4.2 ATI Radeon HD 5400
+ATI Technologies Inc. ATI Radeon HD 5470 supported 3 1 4.2 ATI Radeon HD 5400
+ATI Technologies Inc. ATI Radeon HD 5500 supported 3 1 4.2 ATI Radeon HD 5500
+ATI Technologies Inc. ATI Radeon HD 5500 Series supported 3 1 4.2 ATI Radeon HD 5500
+ATI Technologies Inc. ATI Radeon HD 5530 supported 3 1 4.2 ATI Radeon HD 5500
+ATI Technologies Inc. ATI Radeon HD 5570 supported 3 1 4.2 ATI Radeon HD 5500
+ATI Technologies Inc. ATI Radeon HD 5600 Series supported 3 1 4.2 ATI Radeon HD 5600
+ATI Technologies Inc. ATI Radeon HD 5600/5700 supported 3 1 4.2 ATI Radeon HD 5600
+ATI Technologies Inc. ATI Radeon HD 5630 supported 3 1 4.2 ATI Radeon HD 5600
+ATI Technologies Inc. ATI Radeon HD 5670 supported 3 1 4.2 ATI Radeon HD 5600
+ATI Technologies Inc. ATI Radeon HD 5670 OpenGL Engine supported 3 1 4.2 ATI Radeon HD 5600
+ATI Technologies Inc. ATI Radeon HD 5700 Series supported 3 1 4.2 ATI Radeon HD 5700
+ATI Technologies Inc. ATI Radeon HD 5700 Series (Microsoft Corporation - WDDM v1.2) supported 3 1 4.2 ATI Radeon HD 5700
+ATI Technologies Inc. ATI Radeon HD 5700 Series (Microsoft Corporation - WDDM v1.20) supported 3 1 4.2 ATI Radeon HD 5700
+ATI Technologies Inc. ATI Radeon HD 5750 supported 3 1 4.2 ATI Radeon HD 5700
+ATI Technologies Inc. ATI Radeon HD 5750 OpenGL Engine supported 3 1 4.2 ATI Radeon HD 5700
+ATI Technologies Inc. ATI Radeon HD 5750 Series supported 3 1 4.2 ATI Radeon HD 5700
+ATI Technologies Inc. ATI Radeon HD 5770 supported 3 1 4.2 ATI Radeon HD 5700
+ATI Technologies Inc. ATI Radeon HD 5770 OpenGL Engine supported 3 1 4.2 ATI Radeon HD 5700
+ATI Technologies Inc. ATI Radeon HD 5800 Series supported 4 1 4.2 ATI Radeon HD 5800
+ATI Technologies Inc. ATI Radeon HD 5850 supported 4 1 4.2 ATI Radeon HD 5800
+ATI Technologies Inc. ATI Radeon HD 5870 supported 4 1 4.2 ATI Radeon HD 5800
+ATI Technologies Inc. ATI Radeon HD 5870 OpenGL Engine supported 4 1 4.2 ATI Radeon HD 5800
+ATI Technologies Inc. ATI Radeon HD 5900 Series supported 4 1 4.2 ATI Radeon HD 5900
+ATI Technologies Inc. ATI Radeon HD 5970 supported 4 1 4.2 ATI Radeon HD 5900
+ATI Technologies Inc. ATI Radeon HD 6230 supported 0 1 4.2 ATI Radeon HD 6200
+ATI Technologies Inc. ATI Radeon HD 6290 supported 0 1 4.2 ATI Radeon HD 6200
+ATI Technologies Inc. ATI Radeon HD 6350 supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. ATI Radeon HD 6390 supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. ATI Radeon HD 6490 supported 3 1 4.2 ATI Radeon HD 6400
+ATI Technologies Inc. ATI Radeon HD 6490M OpenGL Engine supported 3 1 4.2 ATI Radeon HD 6400
+ATI Technologies Inc. ATI Radeon HD 6510 supported 3 1 4.2 ATI Radeon HD 6500
+ATI Technologies Inc. ATI Radeon HD 6570M supported 3 1 4.2 ATI Radeon HD 6500
+ATI Technologies Inc. ATI Radeon HD 6630M OpenGL Engine supported 3 1 4.2 ATI Radeon HD 6600
+ATI Technologies Inc. ATI Radeon HD 6750M OpenGL Engine supported 3 1 4.2 ATI Radeon HD 6700
+ATI Technologies Inc. ATI Radeon HD 6770 supported 3 1 4.2 ATI Radeon HD 6700
+ATI Technologies Inc. ATI Radeon HD 6770M OpenGL Engine supported 3 1 4.2 ATI Radeon HD 6700
+ATI Technologies Inc. ATI Radeon HD 6970M OpenGL Engine supported 5 1 4.2 ATI Radeon HD 6900
+ATI Technologies Inc. ATI Radeon HD 7350 supported 2 0 4.2 ATI Radeon HD 7300
+ATI Technologies Inc. ATI Radeon HD 7950 OpenGL Engine supported 5 1 4.2 ATI Radeon HD 7900
+ATI Technologies Inc. ATI Radeon HD Pitcairn XT Prototype OpenGL Engine supported 3 0 2.1 AMD PITCAIRN (HD 7870)
+ATI Technologies Inc. ATI Radeon HD Tahiti XT Prototype OpenGL Engine supported 3 0 2.1 AMD TAHITI (HD 7000)
+ATI Technologies Inc. ATI Radeon HD Verde XT Prototype OpenGL Engine unsupported 0 0 0 ATI Radeon VE
+ATI Technologies Inc. ATI Radeon HD3750 supported 3 0 3.3 ATI Radeon HD 3700
+ATI Technologies Inc. ATI Radeon HD4300/HD4500 series supported 2 1 4 ATI Radeon HD 4300
+ATI Technologies Inc. ATI Radeon HD4650 supported 3 1 4 ATI Radeon HD 4600
+ATI Technologies Inc. ATI Radeon HD4670 supported 3 1 4 ATI Radeon HD 4600
+ATI Technologies Inc. ATI Radeon RV730 Prototype OpenGL Engine supported 3 0 1.4 AMD RV730 (HD 4600)
+ATI Technologies Inc. ATI Radeon RV790 Prototype OpenGL Engine supported 3 0 0 AMD RV790 (HD 4800)
+ATI Technologies Inc. ATI Radeon Redwood XT Prototype OpenGL Engine supported 3 0 1.4 AMD REDWOOD (HD 5500/5600)
+ATI Technologies Inc. ATI Radeon Turks PRO Prototype OpenGL Engine supported 3 0 2.1 AMD TURKS (HD 6500/6600)
+ATI Technologies Inc. ATI Radeon Turks XT Prototype OpenGL Engine supported 3 0 2.1 AMD TURKS (HD 6500/6600)
+ATI Technologies Inc. ATI Radeon X1050 supported 2 0 2.1 ATI Radeon X1000
+ATI Technologies Inc. ATI Radeon X1050 Series supported 2 0 2.1 ATI Radeon X1000
+ATI Technologies Inc. ATI Radeon X1050 x86/MMX/3DNow!/SSE2 supported 2 0 2.1 ATI Radeon X1000
+ATI Technologies Inc. ATI Radeon X1050 x86/SSE2 supported 2 0 2.1 ATI Radeon X1000
+ATI Technologies Inc. ATI Radeon X1200 supported 2 0 2.1 ATI Radeon X1200
+ATI Technologies Inc. ATI Radeon X1200 Series supported 2 0 2.1 ATI Radeon X1200
+ATI Technologies Inc. ATI Radeon X1200 Series (Microsoft Corporation - WDDM) supported 2 0 2.1 ATI Radeon X1200
+ATI Technologies Inc. ATI Radeon X1200 Series x86/MMX/3DNow!/SSE2 supported 2 0 2.1 ATI Radeon X1200
+ATI Technologies Inc. ATI Radeon X1200 x86/MMX/3DNow!/SSE2 supported 2 0 2.1 ATI Radeon X1200
+ATI Technologies Inc. ATI Radeon X1250 supported 2 0 2.1 ATI Radeon X1200
+ATI Technologies Inc. ATI Radeon X1250 x86/MMX/3DNow!/SSE2 supported 2 0 2.1 ATI Radeon X1200
+ATI Technologies Inc. ATI Radeon X1270 supported 2 0 2.1 ATI Radeon X1200
+ATI Technologies Inc. ATI Radeon X1270 x86/MMX/3DNow!/SSE2 supported 2 0 2.1 ATI Radeon X1200
+ATI Technologies Inc. ATI Radeon X1300 / X1550 Series supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. ATI Radeon X1300/X1550 Series supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. ATI Radeon X1550 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. ATI Radeon X1550 Series supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. ATI Radeon X1550 Series x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. ATI Radeon X1550 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. ATI Radeon X1550 x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. ATI Radeon X1550 x86/SSE2 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. ATI Radeon X1600 OpenGL Engine supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. ATI Radeon X1900 OpenGL Engine supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. ATI Radeon X1950 GT supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. ATI Radeon X1950 GT x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. ATI Radeon X1950 GT x86/SSE2 supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. ATI Radeon X300/X550/X1050 Series supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. ATI Radeon X600/X550/X1050 Series supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. ATI Radeon Xpress 1100 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI Radeon Xpress 1100 x86/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI Radeon Xpress 1150 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI Radeon Xpress 1150 Series supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI Radeon Xpress 1150 x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI Radeon Xpress 1200 Series supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI Radeon Xpress 1200 Series (Microsoft Corporation - WDDM) supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI Radeon Xpress 1200 Series x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI Radeon Xpress 1200 x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI Radeon Xpress 1250 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI Radeon Xpress 1250 x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI Radeon Xpress 1250 x86/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI Radeon Xpress 1270 x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI Radeon Xpress Series supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ATI Radeon Xpress Series x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. All-in-Wonder 2006 PCI-E Edition supported 1 0 0 ATI All-in-Wonder PCI-E
+ATI Technologies Inc. All-in-Wonder 2006 PCI-E Edition x86/MMX/3DNow!/SSE2 supported 1 0 0 ATI All-in-Wonder PCI-E
+ATI Technologies Inc. Diamond Radeon X1550 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. Diamond Radeon X1550 Series supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. Diamond Radeon X1550 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. Diamond Radeon X1550 x86/SSE2 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. Diamond X1600 PRO 512MB PCI-E x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. FireGL V3100 Pentium 4 (SSE2) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. FireGL V3200 Pentium 4 (SSE2) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. FireGL X1-128 supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. FireMV 2400 PCI DDR x86 supported 0 1 3.2 ATI FireMV
+ATI Technologies Inc. FireMV 2400 PCI DDR x86/SSE2 supported 0 1 3.2 ATI FireMV
+ATI Technologies Inc. FirePro M3900 Mobility Professional Graphics supported 2 0 4.1 ATI FirePro M3900
+ATI Technologies Inc. GIGABYTE RADEON 9600 PRO supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. GIGABYTE Radeon X1300 Pro supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. GIGABYTE Radeon X1300 Series supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. GIGABYTE Radeon X1600 PRO supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. GeCube RADEON 9600XT supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. GeCube RADEON X550 x86/SSE2 supported 1 1 2.1 ATI Radeon X500
+ATI Technologies Inc. GeCube RADEON X700 Series supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. GeCube Radeon X1550 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. GeCube Radeon X1550 Series supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. GeForce 9600 GT x86/SSE2 unsupported 0 0 0 ATI GeForce Lulz
+ATI Technologies Inc. GigaByte Radeon X1050 supported 2 0 2.1 ATI Radeon X1000
+ATI Technologies Inc. Gigabyte RADEON X300 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. Gigabyte RADEON X300 SE supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. Gigabyte RADEON X300 x86/SSE2 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. HD3730 supported 3 0 3.3 ATI HD3700
+ATI Technologies Inc. HIGHTECH EXCALIBUR RADEON 9550SE Series supported 0 1 2.1 ATI Radeon 9500
+ATI Technologies Inc. HIGHTECH EXCALIBUR RADEON 9550SE Series x86/SSE2 supported 0 1 2.1 ATI Radeon 9500
+ATI Technologies Inc. HIGHTECH RADEON 9600XT supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. HIS Radeon X1550 x86/SSE2 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. M52 x86 supported 1 0 0 ATI M52
+ATI Technologies Inc. M72-M supported 1 0 0 ATI M72
+ATI Technologies Inc. MEDION RADEON 9600 TX supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. MEDION RADEON X740XL x86/SSE2 supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. MOBILITY FIREGL T2 Pentium 4 (SSE2) supported 4 1 4.2 ATI FireGL
+ATI Technologies Inc. MOBILITY RADEON 7000 IGP DDR x86/SSE2 supported 0 1 1.3 ATI Mobility Radeon 7xxx
+ATI Technologies Inc. MOBILITY RADEON 7500 DDR x86/SSE2 supported 0 1 1.3 ATI Mobility Radeon 7xxx
+ATI Technologies Inc. MOBILITY RADEON 9000 DDR x86 supported 0 1 1.3 ATI Radeon 9000
+ATI Technologies Inc. MOBILITY RADEON 9000 DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9000
+ATI Technologies Inc. MOBILITY RADEON 9000 IGPRADEON 9100 IGP DDR x86 supported 0 1 1.3 ATI Radeon 9000
+ATI Technologies Inc. MOBILITY RADEON 9000 IGPRADEON 9100 IGP DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9000
+ATI Technologies Inc. MOBILITY RADEON 9000/9100 IGP Series DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9000
+ATI Technologies Inc. MOBILITY RADEON 9000/9100 PRO IGP Series DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9000
+ATI Technologies Inc. MOBILITY RADEON 9200 DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. MOBILITY RADEON 9600 x86 supported 1 1 2.1 ATI Mobility Radeon 9600
+ATI Technologies Inc. MOBILITY RADEON 9600 x86/MMX/3DNow!/SSE2 supported 1 1 2.1 ATI Mobility Radeon 9600
+ATI Technologies Inc. MOBILITY RADEON 9600 x86/SSE2 supported 1 1 2.1 ATI Mobility Radeon 9600
+ATI Technologies Inc. MOBILITY RADEON 9700 x86 supported 0 1 2.1 ATI Mobility Radeon 9700
+ATI Technologies Inc. MOBILITY RADEON 9700 x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Mobility Radeon 9700
+ATI Technologies Inc. MOBILITY RADEON 9700 x86/SSE2 supported 0 1 2.1 ATI Mobility Radeon 9700
+ATI Technologies Inc. MOBILITY RADEON 9800 x86/SSE2 supported 1 0 0 ATI Mobility Radeon 9800
+ATI Technologies Inc. MOBILITY RADEON X300 x86 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. MOBILITY RADEON X300 x86/SSE2 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. MOBILITY RADEON X600 SE x86/SSE2 supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. MOBILITY RADEON X600 x86 supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. MOBILITY RADEON X600 x86/SSE2 supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. MOBILITY RADEON X700 SE x86/SSE2 supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. MOBILITY RADEON X700 x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. MOBILITY RADEON X700 x86/SSE2 supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. MOBILITY RADEON Xpress 200 Series SW TCL x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. MOBILITY/RADEON 9000 DDR x86/MMX/3DNow!/SSE2 supported 0 1 1.3 ATI Radeon 9000
+ATI Technologies Inc. MOBILITY/RADEON 9000 DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9000
+ATI Technologies Inc. MOBILITY/RADEON 9250/9200 Series DDR x86/MMX/3DNow!/SSE2 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. MOBILITY/RADEON 9250/9200 Series DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. MSI RX9550SE x86/MMX/3DNow!/SSE supported 1 0 0 ATI Radeon RX9550
+ATI Technologies Inc. MSI Radeon X1550 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. Mobility Radeon X2300 HD supported 2 0 2.1 ATI Mobility Radeon X2300
+ATI Technologies Inc. Mobility Radeon X2300 HD x86/SSE2 supported 2 0 2.1 ATI Mobility Radeon X2300
+ATI Technologies Inc. RADEON 7000 DDR x86/MMX/3DNow!/SSE2 supported 0 1 2 ATI Radeon 7xxx
+ATI Technologies Inc. RADEON 7000 DDR x86/SSE2 supported 0 1 2 ATI Radeon 7xxx
+ATI Technologies Inc. RADEON 7000 SDR x86 supported 0 1 2 ATI Radeon 7xxx
+ATI Technologies Inc. RADEON 7000 SW TCL x86/SSE2 supported 0 1 2 ATI Radeon 7xxx
+ATI Technologies Inc. RADEON 7200 DDR x86/MMX/3DNow!/SSE2 supported 0 1 2 ATI Radeon 7xxx
+ATI Technologies Inc. RADEON 7200 DDR x86/SSE2 supported 0 1 2 ATI Radeon 7xxx
+ATI Technologies Inc. RADEON 7200 SDR x86/SSE2 supported 0 1 2 ATI Radeon 7xxx
+ATI Technologies Inc. RADEON 7500 DDR x86/SSE2 supported 0 1 2 ATI Radeon 7xxx
+ATI Technologies Inc. RADEON 8500 DDR x86/MMX/3DNow!/SSE2 supported 0 0 0 ATI Radeon 8xxx
+ATI Technologies Inc. RADEON 8500 DDR x86/SSE2 supported 0 0 0 ATI Radeon 8xxx
+ATI Technologies Inc. RADEON 9000 DDR x86/MMX/3DNow!/SSE2 supported 0 1 1.3 ATI Radeon 9000
+ATI Technologies Inc. RADEON 9000 DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9000
+ATI Technologies Inc. RADEON 9000 PRO DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9000
+ATI Technologies Inc. RADEON 9000 XT IGPRADEON 9100 XT IGP DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9000
+ATI Technologies Inc. RADEON 9100 DDR x86/MMX/3DNow!/SSE2 supported 0 0 0 ATI Radeon 9100
+ATI Technologies Inc. RADEON 9100 DDR x86/SSE2 supported 0 0 0 ATI Radeon 9100
+ATI Technologies Inc. RADEON 9100 IGP DDR x86 supported 0 0 0 ATI Radeon 9100
+ATI Technologies Inc. RADEON 9100 IGP DDR x86/SSE2 supported 0 0 0 ATI Radeon 9100
+ATI Technologies Inc. RADEON 9200 DDR x86/MMX/3DNow!/SSE2 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. RADEON 9200 DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. RADEON 9200 LE DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. RADEON 9200 PRO DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. RADEON 9200 Series DDR x86 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. RADEON 9200 Series DDR x86/MMX/3DNow! supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. RADEON 9200 Series DDR x86/MMX/3DNow!/SSE2 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. RADEON 9200 Series DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. RADEON 9200SE DDR x86/MMX/3DNow!/SSE2 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. RADEON 9200SE DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. RADEON 9250/9000 Series DDR x86/MMX/3DNow!/SSE2 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. RADEON 9250/9200 Series DDR x86/MMX/3DNow!/SSE2 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. RADEON 9250/9200 Series DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. RADEON 9500 supported 0 1 2.1 ATI Radeon 9500
+ATI Technologies Inc. RADEON 9500 PRO / 9700 supported 0 1 2.1 ATI Radeon 9500
+ATI Technologies Inc. RADEON 9550 supported 0 1 2.1 ATI Radeon 9500
+ATI Technologies Inc. RADEON 9550 x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon 9500
+ATI Technologies Inc. RADEON 9550 x86/SSE2 supported 0 1 2.1 ATI Radeon 9500
+ATI Technologies Inc. RADEON 9600 SERIES supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. RADEON 9600 TX supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. RADEON 9600 TX x86/SSE2 supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. RADEON 9600 XT x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. RADEON 9600 XT x86/SSE2 supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. RADEON 9600 x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. RADEON 9600 x86/SSE2 supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. RADEON 9600SE x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. RADEON 9600SE x86/SSE2 supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. RADEON 9700 PRO supported 1 0 0 ATI Radeon 9700
+ATI Technologies Inc. RADEON 9800 PRO supported 1 1 2.1 ATI Radeon 9800
+ATI Technologies Inc. RADEON 9800 PRO (Microsoft Corporation - WDDM) supported 1 1 2.1 ATI Radeon 9800
+ATI Technologies Inc. RADEON 9800 PRO - Secondary supported 1 1 2.1 ATI Radeon 9800
+ATI Technologies Inc. RADEON 9800 Pro x86/SSE2 supported 1 1 2.1 ATI Radeon 9800
+ATI Technologies Inc. RADEON 9800 SERIES supported 1 1 2.1 ATI Radeon 9800
+ATI Technologies Inc. RADEON 9800 XT supported 1 1 2.1 ATI Radeon 9800
+ATI Technologies Inc. RADEON 9800 XT x86/SSE2 supported 1 1 2.1 ATI Radeon 9800
+ATI Technologies Inc. RADEON 9800 x86/SSE2 supported 1 1 2.1 ATI Radeon 9800
+ATI Technologies Inc. RADEON IGP 340M DDR x86/SSE2 unsupported 0 0 1.3 ATI IGP 340M
+ATI Technologies Inc. RADEON Radeon X300/X550/X1050 Series x86/SSE2 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. RADEON X1600 Series x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. RADEON X1600 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. RADEON X300 SE 128MB HyperMemory x86/SSE2 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. RADEON X300 SE x86/MMX/3DNow!/SSE2 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. RADEON X300 Series supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. RADEON X300 Series x86/SSE2 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. RADEON X300 x86/MMX/3DNow!/SSE2 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. RADEON X300 x86/SSE2 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. RADEON X300/X550 Series x86 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. RADEON X300/X550 Series x86/MMX/3DNow!/SSE2 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. RADEON X300/X550 Series x86/SSE2 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. RADEON X550 x86/MMX/3DNow! supported 1 1 2.1 ATI Radeon X500
+ATI Technologies Inc. RADEON X550 x86/MMX/3DNow!/SSE2 supported 1 1 2.1 ATI Radeon X500
+ATI Technologies Inc. RADEON X550 x86/SSE2 supported 1 1 2.1 ATI Radeon X500
+ATI Technologies Inc. RADEON X550XT supported 1 1 2.1 ATI Radeon X500
+ATI Technologies Inc. RADEON X600 256MB HyperMemory x86/SSE2 supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. RADEON X600 PRO x86/MMX/3DNow!/SSE2 supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. RADEON X600 PRO x86/SSE2 supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. RADEON X600 SE x86/SSE2 supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. RADEON X600 Series supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. RADEON X600 x86/MMX/3DNow!/SSE2 supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. RADEON X600 x86/SSE2 supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. RADEON X600/X550 Series supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. RADEON X600/X550 Series (Microsoft Corporation - WDDM) supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. RADEON X600/X550 Series Secondary supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. RADEON X600/X550 Series x86/SSE2 supported 1 1 2.1 ATI Radeon X600
+ATI Technologies Inc. RADEON X700 PRO x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. RADEON X700 PRO x86/SSE2 supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. RADEON X700 SE supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. RADEON X700 SE x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. RADEON X700 SE x86/SSE2 supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. RADEON X700 Series supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. RADEON X700 Series x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. RADEON X700 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. RADEON X700 x86/SSE2 supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. RADEON X700/X550 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X700
+ATI Technologies Inc. RADEON X800 GT x86/MMX/3DNow!/SSE2 supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X800 GTO supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X800 GTO x86/MMX/3DNow!/SSE2 supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X800 GTO x86/SSE2 supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X800 PRO/GTO supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X800 SE x86/MMX/3DNow!/SSE2 supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X800 SE x86/SSE2 supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X800 Series supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X800 XL x86/MMX/3DNow!/SSE2 supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X800 XL x86/SSE2 supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X800 XT supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X800 XT (Microsoft Corporation - WDDM) supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X800 XT x86/SSE2 supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X800/X850 Series supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X800GT supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X850 Series supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X850 XT Platinum Edition (Microsoft Corporation - WDDM) supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X850 XT Platinum Edition x86/SSE2 supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON X850 XT x86/SSE2 supported 1 1 2.1 ATI Radeon X800
+ATI Technologies Inc. RADEON XPRESS 200 Series SW TCL x86 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON XPRESS 200 Series SW TCL x86/MMX/3DNow! supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON XPRESS 200 Series SW TCL x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON XPRESS 200 Series SW TCL x86/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON XPRESS 200 Series x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON XPRESS 200 Series x86/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON XPRESS 200M Series (Microsoft Corporation - WDDM) supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86/MMX/3DNow! supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON XPRESS 200M Series x86/MMX/3DNow! supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON XPRESS 200M Series x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON XPRESS 200M Series x86/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON XPRESS Series x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON XPRESS Series x86/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON Xpress 200 Series SW TCL x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. RADEON Xpress 200G Series SW TCL x86/MMX/3DNow!/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. ROBSON CE supported 3 0 4 ATI ROBSON
+ATI Technologies Inc. ROBSON LE supported 3 0 4 ATI ROBSON
+ATI Technologies Inc. RS780M supported 0 1 2.1 AMD RS780 (HD 3200)
+ATI Technologies Inc. RS880 supported 0 1 3.2 AMD RS880 (HD 4200)
+ATI Technologies Inc. RV250 DDR x86/SSE2 supported 0 0 0 ATI Radeon RV250
+ATI Technologies Inc. Radeon X1300XT/X1600 Pro Series supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Radeon X1300XT/X1600Pro/X1650 Series supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Radeon (TM) HD 7670M supported 3 0 4.2 ATI Radeon HD 7600
+ATI Technologies Inc. Radeon (TM) HD 6370M supported 1 1 4.2 ATI Radeon HD 6300
+ATI Technologies Inc. Radeon (TM) HD 6470M supported 3 1 4.2 ATI Radeon HD 6400
+ATI Technologies Inc. Radeon (TM) HD 6490M supported 3 1 4.2 ATI Radeon HD 6400
+ATI Technologies Inc. Radeon (TM) HD 6630M supported 3 1 4.2 ATI Radeon HD 6600
+ATI Technologies Inc. Radeon (TM) HD 6750M supported 3 1 4.2 ATI Radeon HD 6700
+ATI Technologies Inc. Radeon (TM) HD 6770M supported 3 1 4.2 ATI Radeon HD 6700
+ATI Technologies Inc. Radeon (TM) HD 6850M supported 4 1 4.2 ATI Radeon HD 6800
+ATI Technologies Inc. Radeon (TM) HD 7450M supported 2 0 4.2 ATI Radeon HD 7400
+ATI Technologies Inc. Radeon (TM) HD 7470M supported 2 0 4.2 ATI Radeon HD 7400
+ATI Technologies Inc. Radeon (TM) HD 7670M supported 3 0 4.2 ATI Radeon HD 7600
+ATI Technologies Inc. Radeon (TM) HD 7690M XT supported 3 0 4.2 ATI Radeon HD 7600
+ATI Technologies Inc. Radeon (TM) HD 7750M supported 4 1 4.2 ATI Radeon HD 7700
+ATI Technologies Inc. Radeon (TM) HD 7850M supported 5 1 4.2 ATI Radeon HD 7800
+ATI Technologies Inc. Radeon (TM) HD 8750M supported 4 1 4.2 ATI Radeon HD 8700 (OEM)
+ATI Technologies Inc. Radeon 7000 DDR x86/SSE2 supported 0 1 2 ATI Radeon 7xxx
+ATI Technologies Inc. Radeon 7500 DDR x86 supported 0 1 2 ATI Radeon 7xxx
+ATI Technologies Inc. Radeon 7500 DDR x86/SSE2 supported 0 1 2 ATI Radeon 7xxx
+ATI Technologies Inc. Radeon 9100 DDR x86/MMX/3DNow!/SSE2 supported 0 0 0 ATI Radeon 9100
+ATI Technologies Inc. Radeon 9200 DDR x86/SSE2 supported 0 1 1.3 ATI Radeon 9200
+ATI Technologies Inc. Radeon HD 2600 PRO (Omega 3.8.442) supported 2 1 4 ATI Radeon HD 2600
+ATI Technologies Inc. Radeon HD 6470M supported 3 1 4.2 ATI Radeon HD 6400
+ATI Technologies Inc. Radeon HD 6490M supported 3 1 4.2 ATI Radeon HD 6400
+ATI Technologies Inc. Radeon HD 6800 Series supported 4 1 4.2 ATI Radeon HD 6800
+ATI Technologies Inc. Radeon Radeon X300/X550/X1050 Series x86/SSE2 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. Radeon X1050 supported 2 0 2.1 ATI Radeon X1000
+ATI Technologies Inc. Radeon X1050 Series (Omega 3.8.442) supported 2 0 2.1 ATI Radeon X1000
+ATI Technologies Inc. Radeon X1200 Series (Omega 3.8.442) supported 2 0 2.1 ATI Radeon X1200
+ATI Technologies Inc. Radeon X1300 / X1550 Series supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Radeon X1300 / X1550 Series (Microsoft Corporation - WDDM) supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Radeon X1300 / X1550 Series (Microsoft Corporation - WDDM) supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Radeon X1300 / X1600 Series supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Radeon X1300 Series supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Radeon X1300 Series x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Radeon X1300 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Radeon X1300/X1550 Series supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Radeon X1300/X1550 Series (Microsoft Corporation - WDDM) supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Radeon X1300/X1550 Series (Microsoft Corporation - WDDM) supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Radeon X1300/X1550 Series (Omega 3.8.442) supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Radeon X1300/X1550 Series x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Radeon X1300/X1550 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Radeon X1550 64-bit (Microsoft Corporation - WDDM) supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. Radeon X1550 64-bit x86/SSE2 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. Radeon X1550 Series supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. Radeon X1550 Series (Microsoft Corporation - WDDM) supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. Radeon X1550 Series x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. Radeon X1550 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. Radeon X1600 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1600 Pro / X1300XT supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1600 Pro / X1300XT x86/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1600 Series supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1600 Series (Microsoft Corporation - WDDM) supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1600 Series (Omega 3.8.442) supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1600 Series x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1600 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1600 x86/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1600/1650 Series supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1600/X1650 Series supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1600/X1650 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1650 GTO supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1650 SE supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1650 SE x86/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1650 Series supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1650 Series (Microsoft Corporation - WDDM) supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1650 Series (Microsoft Corporation - WDDM) supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1650 Series (Omega 3.8.442) supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1650 Series x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1650 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1650/X1700 Series (Omega 3.8.442) supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Radeon X1700 FSC supported 2 1 2.1 ATI Radeon X1700
+ATI Technologies Inc. Radeon X1800 CrossFire Edition supported 3 1 2.1 ATI Radeon X1800
+ATI Technologies Inc. Radeon X1800 Series supported 3 1 2.1 ATI Radeon X1800
+ATI Technologies Inc. Radeon X1800 Series x86/MMX/3DNow!/SSE2 supported 3 1 2.1 ATI Radeon X1800
+ATI Technologies Inc. Radeon X1900 CrossFire Edition supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1900 GT supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1900 GT x86/SSE2 supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1900 Series supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1900 Series (Microsoft Corporation - WDDM) supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1900 Series x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1900 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1950 CrossFire Edition supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1950 Pro supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1950 Pro (Omega 3.8.442) supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1950 Pro x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1950 Pro x86/SSE2 supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1950 Series supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1950 Series (Microsoft Corporation - WDDM) supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1950 Series (Microsoft Corporation - WDDM) supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1950 Series x86/MMX/3DNow!/SSE2 supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X1950 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1900
+ATI Technologies Inc. Radeon X300/X550/X1050 Series supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. Radeon X300/X550/X1050 Series (Microsoft Corporation - WDDM) supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. Radeon X300/X550/X1050 Series (Microsoft Corporation - WDDM) supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. Radeon X300/X550/X1050 Series (Omega 3.8.442) supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. Radeon X300/X550/X1050 Series x86/SSE2 supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. Radeon X550/X700 Series supported 1 1 2.1 ATI Radeon X500
+ATI Technologies Inc. Radeon X550XTX supported 1 1 2.1 ATI Radeon X500
+ATI Technologies Inc. Radeon Xpress 200 Series (Omega 3.8.442) x86/SSE2 supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. Radeon Xpress 200M Series (Omega 3.8.442) supported 0 1 2.1 ATI Radeon Xpress
+ATI Technologies Inc. SAPPHIRE RADEON 9600 ATLANTIS supported 0 1 2.1 ATI Radeon 9600
+ATI Technologies Inc. SAPPHIRE RADEON X300SE supported 1 1 2.1 ATI Radeon X300
+ATI Technologies Inc. SAPPHIRE Radeon X1550 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. SAPPHIRE Radeon X1550 Series supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. SAPPHIRE Radeon X1550 Series x86/SSE2 supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. SUMO 9640 supported 3 1 4.1 AMD SUMO
+ATI Technologies Inc. SUMO 964A supported 3 1 4.1 AMD SUMO
+ATI Technologies Inc. Sapphire RADEON X1600 PRO supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Sapphire RADEON X1600 PRO x86/SSE2 supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Sapphire RADEON X1600 XT supported 2 1 2.1 ATI Radeon X1600
+ATI Technologies Inc. Tul Corporation, RADEON X1300 Series supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. Tul Corporation, RADEON X300SE supported 1 1 2.1 ATI RADEON X300SE
+ATI Technologies Inc. VisionTek Radeon 4350 supported 2 1 4 ATI Radeon HD 4300
+ATI Technologies Inc. VisionTek Radeon HD 2400 PCI supported 1 1 4 ATI Radeon HD 2400
+ATI Technologies Inc. VisionTek Radeon HD 2600 XT AGP supported 2 1 4 ATI Radeon HD 2600
+ATI Technologies Inc. VisionTek Radeon HD 5450 supported 3 1 4.2 ATI Radeon HD 5400
+ATI Technologies Inc. VisionTek Radeon HD2400 Pro AGP supported 1 1 4 ATI Radeon HD 2400
+ATI Technologies Inc. VisionTek Radeon HD2400 Pro PCI supported 1 1 4 ATI Radeon HD 2400
+ATI Technologies Inc. VisionTek Radeon X1300 supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. VisionTek Radeon X1300 Series supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. VisionTek Radeon X1300 XGE supported 2 1 2.1 ATI Radeon X1300
+ATI Technologies Inc. VisionTek Radeon X1550 Series supported 2 1 2.1 ATI Radeon X1500
+ATI Technologies Inc. WRESTLER 9802 supported 3 1 4 AMD WRESTLER
+ATI Technologies Inc. XFX Radeon HD 4570 supported 2 1 3.3 ATI Radeon HD 4500
+Advanced Micro Devices, Inc. Mesa DRI R600 (RS880 9712) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 supported 0 1 3.2 AMD RS880 (HD 4200)
+Alex Mohr GL Hijacker! unsupported 0 0 0 Hijacker
+Brian Paul Mesa X11 unsupported 1 1 3 Mesa
+Gallium supported 1 1 2.1 Gallium
+Humper supported 0 1 2.1 Humper
+Humper Chromium supported 0 1 2.1 Humper
+Imagination Technologies 3D-Analyze v2.3 - http://www.tommti-systems.com unsupported 0 0 0 ATI 3D-Analyze
+Imagination Technologies PowerVR SGX545 supported 1 1 3 PowerVR SGX545
+Intel NO MATCH
+Intel 3D-Analyze v2.3 - http://www.tommti-systems.com supported 2 0 0 Intel 3D-Analyze
+Intel 4 Series Internal supported 1 1 2.1 Intel 4 Series Internal
+Intel 845G unsupported 0 1 1.4 Intel 845G
+Intel 855GM unsupported 0 1 1.4 Intel 855GM
+Intel 865G unsupported 0 1 1.4 Intel 865G
+Intel 915G unsupported 0 1 1.4 Intel 915G
+Intel 915GM unsupported 0 1 1.4 Intel 915GM
+Intel 945G supported 0 1 1.4 Intel 945G
+Intel 945GM supported 0 1 1.4 Intel 945GM
+Intel 950 supported 0 1 1.4 Intel 950
+Intel 965 supported 0 1 2.1 Intel 965
+Intel Bear Lake unsupported 1 1 1.4 Intel Bear Lake
+Intel Broadwater unsupported 0 1 1.4 Intel Broadwater
+Intel Brookdale unsupported 0 1 1.3 Intel Brookdale
+Intel Cantiga unsupported 0 1 2 Intel Cantiga
+Intel Corporation Intel(R) Graphics Media Accelerator 3600 Series supported 0 1 3 Intel GMA 3600
+Intel Eaglelake supported 1 1 2 Intel Eaglelake
+Intel G33 unsupported 1 1 1.4 Intel G33
+Intel G41 supported 1 1 2.1 Intel G41
+Intel G45 supported 1 1 2.1 Intel G45
+Intel Graphics Media HD supported 1 1 2.1 Intel Graphics Media HD
+Intel HD Graphics supported 2 1 4 Intel HD Graphics
+Intel HD Graphics 2000 supported 2 0 3.1 Intel HD Graphics 2000
+Intel HD Graphics 3000 supported 3 1 3.1 Intel HD Graphics 3000
+Intel HD Graphics 4000 supported 3 1 4.2 Intel HD Graphics 4000
+Intel Inc. Intel GMA 950 OpenGL Engine supported 0 1 1.4 Intel 950
+Intel Inc. Intel GMA X3100 OpenGL Engine supported 1 1 2.1 Intel X3100
+Intel Inc. Intel HD Graphics 3000 OpenGL Engine supported 3 1 3.1 Intel HD Graphics 3000
+Intel Inc. Intel HD Graphics 4000 OpenGL Engine supported 3 1 4.2 Intel HD Graphics 4000
+Intel Inc. Intel HD Graphics 5000 OpenGL Engine supported 4 0 4 Intel HD Graphics 5000
+Intel Inc. Intel HD Graphics OpenGL Engine supported 2 1 4 Intel HD Graphics
+Intel Intel 845G unsupported 0 1 1.4 Intel 845G
+Intel Intel 855GM unsupported 0 1 1.4 Intel 855GM
+Intel Intel 865G unsupported 0 1 1.4 Intel 865G
+Intel Intel 915G unsupported 0 1 1.4 Intel 915G
+Intel Intel 915GM unsupported 0 1 1.4 Intel 915GM
+Intel Intel 945G supported 0 1 1.4 Intel 945G
+Intel Intel 945GM supported 0 1 1.4 Intel 945GM
+Intel Intel 965/963 Graphics Media Accelerator supported 0 1 2.1 Intel 965
+Intel Intel Bear Lake B unsupported 1 1 1.4 Intel Bear Lake
+Intel Intel Broadwater G unsupported 0 1 1.4 Intel Broadwater
+Intel Intel Brookdale-G unsupported 0 1 1.3 Intel Brookdale
+Intel Intel Cantiga unsupported 0 1 2 Intel Cantiga
+Intel Intel Eaglelake supported 1 1 2 Intel Eaglelake
+Intel Intel Grantsdale-G supported 1 0 0 Intel Grantsdale
+Intel Intel Iris Pro Graphics 5200 supported 4 0 4 Intel Intel Iris Pro Graphics 5200
+Intel Intel Montara-GM unsupported 0 1 1.3 Intel Montara
+Intel Intel Pineview Platform supported 0 1 1.4 Intel Pineview
+Intel Intel Springdale-G unsupported 0 1 1.3 Intel Springdale
+Intel Intel(R) HD Graphics Family supported 2 1 4 Intel HD Graphics
+Intel Intel(R) 4 Series Internal Chipset supported 1 1 2.1 Intel 4 Series Internal
+Intel Intel(R) B43 Express Chipset supported 1 1 2.1 Intel B45/B43
+Intel Intel(R) G41 Express Chipset supported 1 1 2.1 Intel G41
+Intel Intel(R) G41 Express Chipset (Microsoft Corporation - WDDM 1.1) supported 1 1 2.1 Intel G41
+Intel Intel(R) G41 Express Chipset v2 supported 1 1 2.1 Intel G41
+Intel Intel(R) G45/G43 Express Chipset supported 1 1 2.1 Intel G45
+Intel Intel(R) G45/G43/G41 Express Chipset supported 1 1 2.1 Intel G41
+Intel Intel(R) Graphics Media Accelerator HD supported 1 1 2.1 Intel Graphics Media HD
+Intel Intel(R) HD Graphics supported 2 1 4 Intel HD Graphics
+Intel Intel(R) HD Graphics 100 supported 2 1 4 Intel HD Graphics
+Intel Intel(R) HD Graphics 2000 supported 2 0 3.1 Intel HD Graphics 2000
+Intel Intel(R) HD Graphics 2500 supported 2 0 4.2 Intel HD Graphics 2500
+Intel Intel(R) HD Graphics 3000 supported 3 1 3.1 Intel HD Graphics 3000
+Intel Intel(R) HD Graphics 4000 supported 3 1 4.2 Intel HD Graphics 4000
+Intel Intel(R) HD Graphics 4400 supported 3 0 4.2 Intel HD Graphics 4400
+Intel Intel(R) HD Graphics 4600 supported 3 0 4.2 Intel HD Graphics 4600
+Intel Intel(R) HD Graphics 5000 supported 4 0 4 Intel HD Graphics 5000
+Intel Intel(R) HD Graphics BR-1004-01Y1 supported 2 1 4 Intel HD Graphics
+Intel Intel(R) HD Graphics Family supported 2 1 4 Intel HD Graphics
+Intel Intel(R) HD Graphics P3000 supported 2 1 4 Intel HD Graphics
+Intel Intel(R) HD Graphics P4000 supported 2 1 4 Intel HD Graphics
+Intel Intel(R) Q45/Q43 Express Chipset supported 1 1 2.1 Intel Q45/Q43
+Intel Iris OpenGL Graphics Engine supported 4 0 4 Intel Intel Iris OpenGL Engine
+Intel Mobile 4 Series supported 0 1 2.1 Intel Mobile 4 Series
+Intel Mobile Intel(R) 4 Series Express Chipset Family supported 0 1 2.1 Intel Mobile 4 Series
+Intel Mobile Intel(R) 4 Series Express Chipset Family v2 supported 0 1 2.1 Intel Mobile 4 Series
+Intel Mobile Intel(R) 45 Express Chipset Family (Microsoft Corporation - WDDM 1.1) supported 0 0 2.1 Intel Mobile 45 Express
+Intel Mobile Intel(R) HD Graphics supported 2 1 4 Intel HD Graphics
+Intel Montara unsupported 0 1 1.3 Intel Montara
+Intel Open Source Technology Center Mesa DRI Intel(R) 852GM/855GM x86/MMX/SSE2 unsupported 0 1 1.4 Intel 855GM
+Intel Open Source Technology Center Mesa DRI Intel(R) 915G unsupported 0 1 1.4 Intel 915G
+Intel Open Source Technology Center Mesa DRI Intel(R) 915G x86/MMX/SSE2 unsupported 0 1 1.4 Intel 915G
+Intel Open Source Technology Center Mesa DRI Intel(R) 915GM x86/MMX/SSE2 unsupported 0 1 1.4 Intel 915GM
+Intel Open Source Technology Center Mesa DRI Intel(R) 945G supported 0 1 1.4 Intel 945G
+Intel Open Source Technology Center Mesa DRI Intel(R) 945G x86/MMX/SSE2 supported 0 1 1.4 Intel 945G
+Intel Open Source Technology Center Mesa DRI Intel(R) 945GM supported 0 1 1.4 Intel 945GM
+Intel Open Source Technology Center Mesa DRI Intel(R) 945GM x86/MMX/SSE2 supported 0 1 1.4 Intel 945GM
+Intel Open Source Technology Center Mesa DRI Intel(R) 945GME x86/MMX/SSE2 supported 0 1 1.4 Intel 945GM
+Intel Open Source Technology Center Mesa DRI Intel(R) 965G x86/MMX/SSE2 supported 0 1 2.1 Intel 965
+Intel Open Source Technology Center Mesa DRI Intel(R) 965GM supported 0 1 2.1 Intel 965
+Intel Open Source Technology Center Mesa DRI Intel(R) 965GM x86/MMX/SSE2 supported 0 1 2.1 Intel 965
+Intel Open Source Technology Center Mesa DRI Intel(R) 965GME/GLE supported 0 1 2.1 Intel 965
+Intel Open Source Technology Center Mesa DRI Intel(R) 965Q supported 0 1 2.1 Intel 965
+Intel Open Source Technology Center Mesa DRI Intel(R) 965Q x86/MMX/SSE2 supported 0 1 2.1 Intel 965
+Intel Open Source Technology Center Mesa DRI Intel(R) G33 x86/MMX/SSE2 unsupported 1 1 1.4 Intel G33
+Intel Open Source Technology Center Mesa DRI Intel(R) G41 x86/MMX/SSE2 supported 1 1 2.1 Intel G41
+Intel Open Source Technology Center Mesa DRI Intel(R) G45/G43 supported 1 1 2.1 Intel G45
+Intel Open Source Technology Center Mesa DRI Intel(R) G45/G43 x86/MMX/SSE2 supported 1 1 2.1 Intel G45
+Intel Open Source Technology Center Mesa DRI Intel(R) IGD unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Intel(R) IGD x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Intel(R) Ironlake Desktop x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Intel(R) Ironlake Mobile unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Intel(R) Ironlake Mobile x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Intel(R) Ivybridge Desktop unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Intel(R) Ivybridge Desktop x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Intel(R) Ivybridge Mobile unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Intel(R) Ivybridge Mobile x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Intel(R) Q35 unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Intel(R) Q35 x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Intel(R) Q45/Q43 supported 1 1 2.1 Intel Q45/Q43
+Intel Open Source Technology Center Mesa DRI Intel(R) Q45/Q43 x86/MMX/SSE2 supported 1 1 2.1 Intel Q45/Q43
+Intel Open Source Technology Center Mesa DRI Intel(R) Sandybridge Desktop unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Intel(R) Sandybridge Desktop x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Intel(R) Sandybridge Mobile unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Intel(R) Sandybridge Mobile x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Mobile Intelå¨ GM45 Express Chipset unsupported 1 1 3 Mesa
+Intel Open Source Technology Center Mesa DRI Mobile Intelå¨ GM45 Express Chipset x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Intel Pineview supported 0 1 1.4 Intel Pineview
+Intel Q45/Q43 supported 1 1 2.1 Intel Q45/Q43
+Intel Royal BNA Driver unsupported 0 0 0 Intel Royal BNA
+Intel Springdale unsupported 0 1 1.3 Intel Springdale
+Intel X3100 supported 1 1 2.1 Intel X3100
+Matrox Graphics Inc. Matrox ICD for M-Series unsupported 0 0 0 Matrox
+Matrox Graphics Inc. Matrox G400 unsupported 0 0 0 Matrox
+Matrox Graphics Inc. Matrox ICD for Parhelia unsupported 0 0 0 Matrox
+Mesa unsupported 1 1 3 Mesa
+Mesa Project Software Rasterizer unsupported 1 1 3 Mesa
+Mesa project: www.mesa3d.org Mesa GLX Indirect unsupported 1 1 3 Mesa
+NVIDIA 205 supported 3 1 3.3 NVIDIA 205
+NVIDIA 210 supported 3 1 3.3 NVIDIA 210
+NVIDIA 310 supported 3 1 3.3 NVIDIA 310
+NVIDIA 310M supported 2 0 3.3 NVIDIA 310M
+NVIDIA 315 supported 3 1 3.3 NVIDIA 315
+NVIDIA 315M supported 2 0 3.3 NVIDIA 310M
+NVIDIA 320M supported 2 0 3.3 NVIDIA 320M
+NVIDIA 405 supported 3 0 3.3 NVIDIA 405
+NVIDIA 410 supported 3 0 3.3 NVIDIA 410
+NVIDIA 510 supported 3 0 0 NVIDIA 510
+NVIDIA 610M supported 3 1 4.3 NVIDIA 610M
+NVIDIA Corporation /PCI/SSE2 NO MATCH
+NVIDIA Corporation 3D-Analyze v2.3 - http://www.tommti-systems.com unsupported 0 0 0 ATI 3D-Analyze
+NVIDIA Corporation C51/PCI/SSE2/3DNOW! supported 0 1 2 NVIDIA C51
+NVIDIA Corporation C51G/PCI/SSE2/3DNOW! supported 0 1 2 NVIDIA C51
+NVIDIA Corporation D10P1-25/PCI/SSE2/3DNOW! unsupported 0 0 0 NVIDIA D1xP1
+NVIDIA Corporation D14P1-30/PCIe/SSE2 unsupported 0 0 0 NVIDIA D1xP1
+NVIDIA Corporation D9M-20/PCI/SSE2 supported 1 0 0 NVIDIA D9M
+NVIDIA Corporation D9M-20/PCI/SSE2/3DNOW! supported 1 0 0 NVIDIA D9M
+NVIDIA Corporation G72/PCI/SSE2/3DNOW! supported 1 0 0 NVIDIA G72
+NVIDIA Corporation G73/AGP/SSE2/3DNOW! supported 1 0 0 NVIDIA G73
+NVIDIA Corporation G73/PCI/SSE2/3DNOW! supported 1 0 0 NVIDIA G73
+NVIDIA Corporation G84-50/PCI/SSE2 supported 2 0 0 NVIDIA G84
+NVIDIA Corporation G92-100/PCI/SSE2/3DNOW! supported 3 0 0 NVIDIA G92
+NVIDIA Corporation GK106/PCIe/SSE2 supported 5 0 4.3 NVIDIA GK106
+NVIDIA Corporation GRID K2/PCIe/SSE2 unsupported 0 0 1.5 NVIDIA GRID
+NVIDIA Corporation GeForce GTX 555/PCI/SSE2 supported 5 1 4.3 NVIDIA GTX 550
+NVIDIA Corporation GeForce GTX 555/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 550
+NVIDIA Corporation GeForce 205/PCI/SSE2 supported 3 1 3.3 NVIDIA 205
+NVIDIA Corporation GeForce 210/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 210
+NVIDIA Corporation GeForce 210/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 210
+NVIDIA Corporation GeForce 210/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 210
+NVIDIA Corporation GeForce 210/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 210
+NVIDIA Corporation GeForce 310/PCI/SSE2 supported 3 1 3.3 NVIDIA 310
+NVIDIA Corporation GeForce 310/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA 310
+NVIDIA Corporation GeForce 310/PCIe/SSE2 supported 3 1 3.3 NVIDIA 310
+NVIDIA Corporation GeForce 310/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA 310
+NVIDIA Corporation GeForce 310M/PCI/SSE2 supported 2 0 3.3 NVIDIA 310M
+NVIDIA Corporation GeForce 310M/PCIe/SSE2 supported 2 0 3.3 NVIDIA 310M
+NVIDIA Corporation GeForce 315/PCI/SSE2 supported 3 1 3.3 NVIDIA 315
+NVIDIA Corporation GeForce 315/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA 315
+NVIDIA Corporation GeForce 315/PCIe/SSE2 supported 3 1 3.3 NVIDIA 315
+NVIDIA Corporation GeForce 315/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA 315
+NVIDIA Corporation GeForce 315M/PCI/SSE2 supported 2 0 3.3 NVIDIA 310M
+NVIDIA Corporation GeForce 315M/PCIe/SSE2 supported 2 0 3.3 NVIDIA 310M
+NVIDIA Corporation GeForce 320M/PCI/SSE2 supported 2 0 3.3 NVIDIA 320M
+NVIDIA Corporation GeForce 320M/integrated/SSE2 supported 2 0 3.3 NVIDIA 320M
+NVIDIA Corporation GeForce 405/PCI/SSE2 supported 3 0 3.3 NVIDIA 405
+NVIDIA Corporation GeForce 405/PCI/SSE2/3DNOW! supported 3 0 3.3 NVIDIA 405
+NVIDIA Corporation GeForce 405/PCIe/SSE2 supported 3 0 3.3 NVIDIA 405
+NVIDIA Corporation GeForce 405/PCIe/SSE2/3DNOW! supported 3 0 3.3 NVIDIA 405
+NVIDIA Corporation GeForce 410M/PCI/SSE2 supported 3 0 0 NVIDIA 410M
+NVIDIA Corporation GeForce 410M/PCIe/SSE2 supported 3 0 0 NVIDIA 410M
+NVIDIA Corporation GeForce 505/PCIe/SSE2 supported 3 0 0 NVIDIA 505
+NVIDIA Corporation GeForce 510/PCI/SSE2 supported 3 0 0 NVIDIA 510
+NVIDIA Corporation GeForce 510/PCIe/SSE2 supported 3 0 0 NVIDIA 510
+NVIDIA Corporation GeForce 605/PCI/SSE2 supported 3 1 4.3 NVIDIA 605
+NVIDIA Corporation GeForce 605/PCIe/SSE2 supported 3 1 4.3 NVIDIA 605
+NVIDIA Corporation GeForce 605/PCIe/SSE2/3DNOW! supported 3 1 4.3 NVIDIA 605
+NVIDIA Corporation GeForce 610/PCIe/SSE2 supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6100 nForce 400/PCI/SSE2/3DNOW! supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6100 nForce 400/integrated/SSE2 supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6100 nForce 400/integrated/SSE2/3DNOW! supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6100 nForce 405/PCI/SSE2 supported 3 0 3.3 NVIDIA 405
+NVIDIA Corporation GeForce 6100 nForce 405/PCI/SSE2/3DNOW! supported 3 0 3.3 NVIDIA 405
+NVIDIA Corporation GeForce 6100 nForce 405/integrated/SSE2 supported 3 0 3.3 NVIDIA 405
+NVIDIA Corporation GeForce 6100 nForce 405/integrated/SSE2/3DNOW! supported 3 0 3.3 NVIDIA 405
+NVIDIA Corporation GeForce 6100 nForce 420/PCI/SSE2/3DNOW! supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6100 nForce 430/PCI/SSE2/3DNOW! supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6100/PCI/SSE2 supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6100/PCI/SSE2/3DNOW! supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6100/integrated/SSE2 supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6100/integrated/SSE2/3DNOW! supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 610M/PCI/SSE2 supported 3 1 4.3 NVIDIA 610M
+NVIDIA Corporation GeForce 610M/PCIe/SSE2 supported 3 1 4.3 NVIDIA 610M
+NVIDIA Corporation GeForce 615/PCIe/SSE2 supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6150 LE/PCI/SSE2 supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6150 LE/PCI/SSE2/3DNOW! supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6150 LE/integrated/SSE2 supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6150 LE/integrated/SSE2/3DNOW! supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6150 SE/PCI/SSE2/3DNOW! supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6150/PCI/SSE2/3DNOW! supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6150/integrated/SSE2 supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6150/integrated/SSE2/3DNOW! supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6150SE nForce 430/PCI/SSE2 supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6150SE nForce 430/PCI/SSE2/3DNOW! supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6150SE nForce 430/integrated/SSE2 supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6150SE nForce 430/integrated/SSE2/3DNOW! supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6150SE/PCI/SSE2/3DNOW! supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA Corporation GeForce 6200 A-LE/AGP/SSE2 supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200 A-LE/AGP/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200 A-LE/PCI/SSE2 supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200 A-LE/PCI/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200 LE/PCI/SSE2 supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200 LE/PCI/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200 LE/PCIe/SSE2 supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200 LE/PCIe/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200 TurboCache(TM)/PCI/SSE2 supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200 TurboCache(TM)/PCI/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200 TurboCache(TM)/PCIe/SSE2 supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200 TurboCache(TM)/PCIe/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200/AGP/SSE2 supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200/AGP/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200/PCI/SSE2 supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200/PCI/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200/PCIe/SSE2 supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200/PCIe/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200SE TurboCache(TM)/PCI/SSE2 supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200SE TurboCache(TM)/PCI/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200SE TurboCache(TM)/PCIe/SSE2 supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6200SE TurboCache(TM)/PCIe/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA Corporation GeForce 6500/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 6500
+NVIDIA Corporation GeForce 6500/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 6500
+NVIDIA Corporation GeForce 6500/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce 6500
+NVIDIA Corporation GeForce 6500/PCIe/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 6500
+NVIDIA Corporation GeForce 6600 GT/AGP/SSE2 supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600 GT/AGP/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600 GT/PCI/SSE2 supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600 GT/PCI/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600 GT/PCIe/SSE2 supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600 GT/PCIe/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600 LE/AGP/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600 LE/PCI/SSE2 supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600 LE/PCI/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600 LE/PCIe/SSE2 supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600 LE/PCIe/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600/AGP/SSE2 supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600/AGP/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600/PCI/SSE2 supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600/PCI/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600/PCIe/SSE2 supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6600/PCIe/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6610 XL/PCI/SSE2 supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6610 XL/PCIe/SSE2 supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation GeForce 6700 XL/PCI/SSE2 supported 2 1 2.1 NVIDIA GeForce 6700
+NVIDIA Corporation GeForce 6700 XL/PCIe/SSE2 supported 2 1 2.1 NVIDIA GeForce 6700
+NVIDIA Corporation GeForce 6800 GS/AGP/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 GS/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 GS/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 GS/PCIe/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 GT/AGP/SSE2 supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 GT/AGP/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 GT/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 GT/PCIe/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 LE/AGP/SSE2 supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 LE/AGP/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 LE/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 Ultra/AGP/SSE2 supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 Ultra/AGP/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 Ultra/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 Ultra/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 Ultra/PCIe/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 XT/AGP/SSE2 supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 XT/AGP/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 XT/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 XT/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 XT/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800 XT/PCIe/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800/AGP/SSE2 supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800/AGP/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 6800/PCIe/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA Corporation GeForce 7000M / nForce 610M/PCI/SSE2 supported 3 1 4.3 NVIDIA 610M
+NVIDIA Corporation GeForce 7000M / nForce 610M/PCI/SSE2/3DNOW! supported 3 1 4.3 NVIDIA 610M
+NVIDIA Corporation GeForce 7025 / NVIDIA nForce 630a/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7025 / NVIDIA nForce 630a/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7025 / nForce 630a/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7025 / nForce 630a/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7025 / nForce 630a/integrated/SSE2 supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7025 / nForce 630a/integrated/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7050 / NVIDIA nForce 610i/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7050 / NVIDIA nForce 620i/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7050 / NVIDIA nForce 630i/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7050 / nForce 610i/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7050 / nForce 610i/integrated/SSE2 supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7050 / nForce 620i/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7050 / nForce 620i/integrated/SSE2 supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7050 / nForce 630i/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7050 / nForce 630i/integrated/SSE2 supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7050 PV / NVIDIA nForce 630a/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7050 PV / nForce 630a/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7050 PV / nForce 630a/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7050 PV / nForce 630a/integrated/SSE2 supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7050 PV / nForce 630a/integrated/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA Corporation GeForce 7100 / NVIDIA nForce 620i/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7100
+NVIDIA Corporation GeForce 7100 / NVIDIA nForce 630i/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7100
+NVIDIA Corporation GeForce 7100 / nForce 630i/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7100
+NVIDIA Corporation GeForce 7100 / nForce 630i/integrated/SSE2 supported 1 1 2.1 NVIDIA GeForce 7100
+NVIDIA Corporation GeForce 7100 GS/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7100
+NVIDIA Corporation GeForce 7100 GS/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7100
+NVIDIA Corporation GeForce 7100 GS/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce 7100
+NVIDIA Corporation GeForce 7100 GS/PCIe/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7100
+NVIDIA Corporation GeForce 710A/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce 7100
+NVIDIA Corporation GeForce 710M/PCIe/SSE2 supported 3 0 4.3 NVIDIA 710M
+NVIDIA Corporation GeForce 7150 / nForce 630i/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7100
+NVIDIA Corporation GeForce 7150M / nForce 630M/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7100
+NVIDIA Corporation GeForce 7150M / nForce 630M/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7100
+NVIDIA Corporation GeForce 7150M / nForce 630M/integrated/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7100
+NVIDIA Corporation GeForce 7300 GS/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 GS/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 GS/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 GS/PCIe/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 GT/AGP/SSE2 supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 GT/AGP/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 GT/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 GT/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 GT/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 GT/PCIe/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 LE/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 LE/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 LE/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 LE/PCIe/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 SE/7200 GS/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 SE/7200 GS/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 SE/7200 GS/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 SE/7200 GS/PCIe/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 SE/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 SE/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7300 SE/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7350 LE/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7350 LE/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7350 LE/PCIe/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation GeForce 7500 LE/PCI/SSE2 supported 2 1 2.1 NVIDIA GeForce 7500
+NVIDIA Corporation GeForce 7500 LE/PCI/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 7500
+NVIDIA Corporation GeForce 7500 LE/PCIe/SSE2 supported 2 1 2.1 NVIDIA GeForce 7500
+NVIDIA Corporation GeForce 7500 LE/PCIe/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 7500
+NVIDIA Corporation GeForce 7600 GS/AGP/SSE2 supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7600 GS/AGP/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7600 GS/PCI/SSE2 supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7600 GS/PCI/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7600 GS/PCIe/SSE2 supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7600 GS/PCIe/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7600 GT/AGP/SSE2 supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7600 GT/AGP/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7600 GT/PCI/SSE2 supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7600 GT/PCI/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7600 GT/PCIe/SSE2 supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7600 GT/PCIe/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7600 LE/PCIe/SSE2 supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7650 GS/AGP/SSE2 supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7650 GS/PCI/SSE2 supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7650 GS/PCI/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7650 GS/PCIe/SSE2 supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation GeForce 7800 GS/AGP/SSE2 supported 2 1 2.1 NVIDIA GeForce 7800
+NVIDIA Corporation GeForce 7800 GS/AGP/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 7800
+NVIDIA Corporation GeForce 7800 GS/PCI/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 7800
+NVIDIA Corporation GeForce 7800 GT/PCI/SSE2 supported 2 1 2.1 NVIDIA GeForce 7800
+NVIDIA Corporation GeForce 7800 GT/PCIe/SSE2 supported 2 1 2.1 NVIDIA GeForce 7800
+NVIDIA Corporation GeForce 7800 GT/PCIe/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 7800
+NVIDIA Corporation GeForce 7800 GTX/PCI/SSE2 supported 2 1 2.1 NVIDIA GeForce 7800
+NVIDIA Corporation GeForce 7800 GTX/PCIe/SSE2 supported 2 1 2.1 NVIDIA GeForce 7800
+NVIDIA Corporation GeForce 7800 GTX/PCIe/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 7800
+NVIDIA Corporation GeForce 7900 GS/AGP/SSE2 supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7900 GS/AGP/SSE2/3DNOW! supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7900 GS/PCI/SSE2 supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7900 GS/PCI/SSE2/3DNOW! supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7900 GS/PCIe/SSE2 supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7900 GS/PCIe/SSE2/3DNOW! supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7900 GT/GTO/PCI/SSE2/3DNOW! supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7900 GT/GTO/PCIe/SSE2 supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7900 GT/GTO/PCIe/SSE2/3DNOW! supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7900 GT/PCI/SSE2 supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7900 GTX/PCI/SSE2 supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7900 GTX/PCI/SSE2/3DNOW! supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7900 GTX/PCIe/SSE2 supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7900 GTX/PCIe/SSE2/3DNOW! supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7950 GT/AGP/SSE2 supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7950 GT/AGP/SSE2/3DNOW! supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7950 GT/PCI/SSE2 supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7950 GT/PCI/SSE2/3DNOW! supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7950 GT/PCIe/SSE2 supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7950 GT/PCIe/SSE2/3DNOW! supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7950 GX2/PCI/SSE2 supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7950 GX2/PCIe/SSE2 supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 7950 GX2/PCIe/SSE2/3DNOW! supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation GeForce 8100 / nForce 720a/PCI/SSE2 supported 1 0 3.3 NVIDIA GeForce 8100
+NVIDIA Corporation GeForce 8100 / nForce 720a/PCI/SSE2/3DNOW! supported 1 0 3.3 NVIDIA GeForce 8100
+NVIDIA Corporation GeForce 8100 / nForce 720a/integrated/SSE2 supported 1 0 3.3 NVIDIA GeForce 8100
+NVIDIA Corporation GeForce 8100 / nForce 720a/integrated/SSE2/3DNOW! supported 1 0 3.3 NVIDIA GeForce 8100
+NVIDIA Corporation GeForce 8200/PCI/SSE2 supported 1 0 3.3 NVIDIA GeForce 8200
+NVIDIA Corporation GeForce 8200/PCI/SSE2/3DNOW! supported 1 0 3.3 NVIDIA GeForce 8200
+NVIDIA Corporation GeForce 8200/integrated/SSE2 supported 1 0 3.3 NVIDIA GeForce 8200
+NVIDIA Corporation GeForce 8200/integrated/SSE2/3DNOW! supported 1 0 3.3 NVIDIA GeForce 8200
+NVIDIA Corporation GeForce 8200M G/PCI/SSE2 supported 1 0 3.3 NVIDIA GeForce 8200M
+NVIDIA Corporation GeForce 8200M G/PCI/SSE2/3DNOW! supported 1 0 3.3 NVIDIA GeForce 8200M
+NVIDIA Corporation GeForce 8200M G/integrated/SSE2 supported 1 0 3.3 NVIDIA GeForce 8200M
+NVIDIA Corporation GeForce 8200M G/integrated/SSE2/3DNOW! supported 1 0 3.3 NVIDIA GeForce 8200M
+NVIDIA Corporation GeForce 8200M/PCI/SSE2/3DNOW! supported 1 0 3.3 NVIDIA GeForce 8200M
+NVIDIA Corporation GeForce 8300 GS/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 8300
+NVIDIA Corporation GeForce 8300 GS/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8300
+NVIDIA Corporation GeForce 8300 GS/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 8300
+NVIDIA Corporation GeForce 8300 GS/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8300
+NVIDIA Corporation GeForce 8300/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 8300
+NVIDIA Corporation GeForce 8300/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8300
+NVIDIA Corporation GeForce 8300/integrated/SSE2 supported 3 1 3.3 NVIDIA GeForce 8300
+NVIDIA Corporation GeForce 8300/integrated/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8300
+NVIDIA Corporation GeForce 8400 GS/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA Corporation GeForce 8400 GS/PCI/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA Corporation GeForce 8400 GS/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA Corporation GeForce 8400 GS/PCIe/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA Corporation GeForce 8400 SE/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA Corporation GeForce 8400 SE/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA Corporation GeForce 8400/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA Corporation GeForce 8400/PCI/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA Corporation GeForce 8400/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA Corporation GeForce 8400/PCIe/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA Corporation GeForce 8400GS/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA Corporation GeForce 8400GS/PCI/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA Corporation GeForce 8400GS/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA Corporation GeForce 8400GS/PCIe/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA Corporation GeForce 8400M G/PCI/SSE2 supported 1 1 3.3 NVIDIA GeForce 8400M
+NVIDIA Corporation GeForce 8400M G/PCI/SSE2/3DNOW! supported 1 1 3.3 NVIDIA GeForce 8400M
+NVIDIA Corporation GeForce 8400M G/PCIe/SSE2 supported 1 1 3.3 NVIDIA GeForce 8400M
+NVIDIA Corporation GeForce 8400M G/PCIe/SSE2/3DNOW! supported 1 1 3.3 NVIDIA GeForce 8400M
+NVIDIA Corporation GeForce 8400M GS/PCI/SSE2 supported 1 1 3.3 NVIDIA GeForce 8400M
+NVIDIA Corporation GeForce 8400M GS/PCI/SSE2/3DNOW! supported 1 1 3.3 NVIDIA GeForce 8400M
+NVIDIA Corporation GeForce 8400M GS/PCIe/SSE2 supported 1 1 3.3 NVIDIA GeForce 8400M
+NVIDIA Corporation GeForce 8400M GS/PCIe/SSE2/3DNOW! supported 1 1 3.3 NVIDIA GeForce 8400M
+NVIDIA Corporation GeForce 8400M GT/PCI/SSE2 supported 1 1 3.3 NVIDIA GeForce 8400M
+NVIDIA Corporation GeForce 8400M GT/PCIe/SSE2 supported 1 1 3.3 NVIDIA GeForce 8400M
+NVIDIA Corporation GeForce 8500 GT/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 8500
+NVIDIA Corporation GeForce 8500 GT/PCI/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GeForce 8500
+NVIDIA Corporation GeForce 8500 GT/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 8500
+NVIDIA Corporation GeForce 8500 GT/PCIe/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GeForce 8500
+NVIDIA Corporation GeForce 8600 GS/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation GeForce 8600 GS/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation GeForce 8600 GS/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation GeForce 8600 GS/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation GeForce 8600 GT/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation GeForce 8600 GT/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation GeForce 8600 GT/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation GeForce 8600 GT/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation GeForce 8600 GTS/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation GeForce 8600 GTS/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation GeForce 8600 GTS/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation GeForce 8600 GTS/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation GeForce 8600GS/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation GeForce 8600GS/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation GeForce 8600M GS/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 8600M
+NVIDIA Corporation GeForce 8600M GS/PCI/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GeForce 8600M
+NVIDIA Corporation GeForce 8600M GS/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 8600M
+NVIDIA Corporation GeForce 8600M GS/PCIe/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GeForce 8600M
+NVIDIA Corporation GeForce 8600M GT/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 8600M
+NVIDIA Corporation GeForce 8600M GT/PCI/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GeForce 8600M
+NVIDIA Corporation GeForce 8600M GT/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 8600M
+NVIDIA Corporation GeForce 8600M GT/PCIe/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GeForce 8600M
+NVIDIA Corporation GeForce 8700M GT/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 8700M
+NVIDIA Corporation GeForce 8700M GT/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 8700M
+NVIDIA Corporation GeForce 8800 GS/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GS/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GS/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GS/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GT/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GT/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GT/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GT/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GTS 512/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GTS 512/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GTS 512/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GTS 512/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GTS/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GTS/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GTS/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GTS/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GTX/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GTX/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GTX/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 GTX/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 Ultra/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 Ultra/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800 Ultra/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation GeForce 8800M GTS/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 8800M
+NVIDIA Corporation GeForce 8800M GTS/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 8800M
+NVIDIA Corporation GeForce 8800M GTX/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 8800M
+NVIDIA Corporation GeForce 8800M GTX/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 8800M
+NVIDIA Corporation GeForce 9100/PCI/SSE2 supported 0 0 3.3 NVIDIA GeForce 9100
+NVIDIA Corporation GeForce 9100/PCI/SSE2/3DNOW! supported 0 0 3.3 NVIDIA GeForce 9100
+NVIDIA Corporation GeForce 9100/integrated/SSE2 supported 0 0 3.3 NVIDIA GeForce 9100
+NVIDIA Corporation GeForce 9100/integrated/SSE2/3DNOW! supported 0 0 3.3 NVIDIA GeForce 9100
+NVIDIA Corporation GeForce 9100M G/PCI/SSE2 supported 0 0 3.3 NVIDIA GeForce 9100M
+NVIDIA Corporation GeForce 9100M G/PCI/SSE2/3DNOW! supported 0 0 3.3 NVIDIA GeForce 9100M
+NVIDIA Corporation GeForce 9100M G/integrated/SSE2 supported 0 0 3.3 NVIDIA GeForce 9100M
+NVIDIA Corporation GeForce 9100M G/integrated/SSE2/3DNOW! supported 0 0 3.3 NVIDIA GeForce 9100M
+NVIDIA Corporation GeForce 9200/PCI/SSE2 supported 1 0 3.3 NVIDIA GeForce 9200
+NVIDIA Corporation GeForce 9200/PCI/SSE2/3DNOW! supported 1 0 3.3 NVIDIA GeForce 9200
+NVIDIA Corporation GeForce 9200/integrated/SSE2 supported 1 0 3.3 NVIDIA GeForce 9200
+NVIDIA Corporation GeForce 9200/integrated/SSE2/3DNOW! supported 1 0 3.3 NVIDIA GeForce 9200
+NVIDIA Corporation GeForce 9200M GE/PCI/SSE2 supported 1 0 3.3 NVIDIA GeForce 9200M
+NVIDIA Corporation GeForce 9200M GE/PCIe/SSE2 supported 1 0 3.3 NVIDIA GeForce 9200M
+NVIDIA Corporation GeForce 9200M GS/PCI/SSE2 supported 1 0 3.3 NVIDIA GeForce 9200M
+NVIDIA Corporation GeForce 9200M GS/PCIe/SSE2 supported 1 0 3.3 NVIDIA GeForce 9200M
+NVIDIA Corporation GeForce 9300 / nForce 730i/integrated/SSE2 supported 1 1 3.3 NVIDIA GeForce 9300
+NVIDIA Corporation GeForce 9300 GE/PCI/SSE2 supported 1 1 3.3 NVIDIA GeForce 9300
+NVIDIA Corporation GeForce 9300 GE/PCI/SSE2/3DNOW! supported 1 1 3.3 NVIDIA GeForce 9300
+NVIDIA Corporation GeForce 9300 GE/PCIe/SSE2 supported 1 1 3.3 NVIDIA GeForce 9300
+NVIDIA Corporation GeForce 9300 GE/PCIe/SSE2/3DNOW! supported 1 1 3.3 NVIDIA GeForce 9300
+NVIDIA Corporation GeForce 9300 GS/PCI/SSE2 supported 1 1 3.3 NVIDIA GeForce 9300
+NVIDIA Corporation GeForce 9300 GS/PCI/SSE2/3DNOW! supported 1 1 3.3 NVIDIA GeForce 9300
+NVIDIA Corporation GeForce 9300 GS/PCIe/SSE2 supported 1 1 3.3 NVIDIA GeForce 9300
+NVIDIA Corporation GeForce 9300 GS/PCIe/SSE2/3DNOW! supported 1 1 3.3 NVIDIA GeForce 9300
+NVIDIA Corporation GeForce 9300 SE/PCIe/SSE2 supported 1 1 3.3 NVIDIA GeForce 9300
+NVIDIA Corporation GeForce 9300/PCI/SSE2 supported 1 1 3.3 NVIDIA GeForce 9300
+NVIDIA Corporation GeForce 9300/integrated/SSE2 supported 1 1 3.3 NVIDIA GeForce 9300
+NVIDIA Corporation GeForce 9300M G/PCI/SSE2 supported 1 1 3.3 NVIDIA GeForce 9300M
+NVIDIA Corporation GeForce 9300M G/PCIe/SSE2 supported 1 1 3.3 NVIDIA GeForce 9300M
+NVIDIA Corporation GeForce 9300M G/PCIe/SSE2/3DNOW! supported 1 1 3.3 NVIDIA GeForce 9300M
+NVIDIA Corporation GeForce 9300M GS/PCI/SSE2 supported 1 1 3.3 NVIDIA GeForce 9300M
+NVIDIA Corporation GeForce 9300M GS/PCI/SSE2/3DNOW! supported 1 1 3.3 NVIDIA GeForce 9300M
+NVIDIA Corporation GeForce 9300M GS/PCIe/SSE2 supported 1 1 3.3 NVIDIA GeForce 9300M
+NVIDIA Corporation GeForce 9400 GT/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 9400
+NVIDIA Corporation GeForce 9400 GT/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9400
+NVIDIA Corporation GeForce 9400 GT/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 9400
+NVIDIA Corporation GeForce 9400 GT/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9400
+NVIDIA Corporation GeForce 9400/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 9400
+NVIDIA Corporation GeForce 9400/integrated/SSE2 supported 3 1 3.3 NVIDIA GeForce 9400
+NVIDIA Corporation GeForce 9400M G/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 9400M
+NVIDIA Corporation GeForce 9400M G/integrated/SSE2 supported 2 1 3.3 NVIDIA GeForce 9400M
+NVIDIA Corporation GeForce 9400M/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 9400M
+NVIDIA Corporation GeForce 9400M/integrated/SSE2 supported 2 1 3.3 NVIDIA GeForce 9400M
+NVIDIA Corporation GeForce 9500 GS/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 9500
+NVIDIA Corporation GeForce 9500 GS/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9500
+NVIDIA Corporation GeForce 9500 GS/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 9500
+NVIDIA Corporation GeForce 9500 GS/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9500
+NVIDIA Corporation GeForce 9500 GT/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 9500
+NVIDIA Corporation GeForce 9500 GT/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9500
+NVIDIA Corporation GeForce 9500 GT/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 9500
+NVIDIA Corporation GeForce 9500 GT/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9500
+NVIDIA Corporation GeForce 9500M GS/PCI/SSE2 supported 1 1 3.3 NVIDIA GeForce 9500M
+NVIDIA Corporation GeForce 9500M GS/PCI/SSE2/3DNOW! supported 1 1 3.3 NVIDIA GeForce 9500M
+NVIDIA Corporation GeForce 9500M GS/PCIe/SSE2 supported 1 1 3.3 NVIDIA GeForce 9500M
+NVIDIA Corporation GeForce 9600 GS/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600 GS/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600 GS/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600 GS/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600 GSO 512/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600 GSO 512/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600 GSO 512/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600 GSO 512/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600 GSO/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600 GSO/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600 GSO/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600 GSO/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600 GT/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600 GT/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600 GT/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600 GT/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9600M GS/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 9600M
+NVIDIA Corporation GeForce 9600M GS/PCI/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GeForce 9600M
+NVIDIA Corporation GeForce 9600M GS/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 9600M
+NVIDIA Corporation GeForce 9600M GT/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 9600M
+NVIDIA Corporation GeForce 9600M GT/PCI/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GeForce 9600M
+NVIDIA Corporation GeForce 9600M GT/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 9600M
+NVIDIA Corporation GeForce 9600M GT/PCIe/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GeForce 9600M
+NVIDIA Corporation GeForce 9650M GS/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9650M GT/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9650M GT/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation GeForce 9700M GT/PCI/SSE2 supported 0 1 3.3 NVIDIA GeForce 9700M
+NVIDIA Corporation GeForce 9700M GT/PCIe/SSE2 supported 0 1 3.3 NVIDIA GeForce 9700M
+NVIDIA Corporation GeForce 9700M GTS/PCI/SSE2 supported 0 1 3.3 NVIDIA GeForce 9700M
+NVIDIA Corporation GeForce 9700M GTS/PCIe/SSE2 supported 0 1 3.3 NVIDIA GeForce 9700M
+NVIDIA Corporation GeForce 9800 GT/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation GeForce 9800 GT/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation GeForce 9800 GT/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation GeForce 9800 GT/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation GeForce 9800 GTX+/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation GeForce 9800 GTX+/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation GeForce 9800 GTX+/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation GeForce 9800 GTX+/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation GeForce 9800 GTX/9800 GTX+/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation GeForce 9800 GTX/9800 GTX+/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation GeForce 9800 GTX/9800 GTX+/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation GeForce 9800 GTX/9800 GTX+/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation GeForce 9800 GTX/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation GeForce 9800 GX2/PCIe/SSE2 supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation GeForce 9800 S/PCI/SSE2 supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation GeForce 9800M GS/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 9800M
+NVIDIA Corporation GeForce 9800M GS/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 9800M
+NVIDIA Corporation GeForce 9800M GT/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 9800M
+NVIDIA Corporation GeForce 9800M GT/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 9800M
+NVIDIA Corporation GeForce 9800M GTS/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 9800M
+NVIDIA Corporation GeForce 9800M GTS/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 9800M
+NVIDIA Corporation GeForce 9800M GTX/PCI/SSE2 supported 2 1 3.3 NVIDIA GeForce 9800M
+NVIDIA Corporation GeForce 9800M GTX/PCIe/SSE2 supported 2 1 3.3 NVIDIA GeForce 9800M
+NVIDIA Corporation GeForce FX 5100/AGP/SSE2 supported 3 0 0 NVIDIA 510
+NVIDIA Corporation GeForce FX 5200 Ultra/AGP/SSE2 supported 0 0 2.1 NVIDIA GeForce FX 5200
+NVIDIA Corporation GeForce FX 5200 Ultra/AGP/SSE2/3DNOW! supported 0 0 2.1 NVIDIA GeForce FX 5200
+NVIDIA Corporation GeForce FX 5200/AGP/SSE/3DNOW! supported 0 0 2.1 NVIDIA GeForce FX 5200
+NVIDIA Corporation GeForce FX 5200/AGP/SSE2 supported 0 0 2.1 NVIDIA GeForce FX 5200
+NVIDIA Corporation GeForce FX 5200/AGP/SSE2/3DNOW! supported 0 0 2.1 NVIDIA GeForce FX 5200
+NVIDIA Corporation GeForce FX 5200/PCI/SSE2 supported 0 0 2.1 NVIDIA GeForce FX 5200
+NVIDIA Corporation GeForce FX 5200/PCI/SSE2/3DNOW! supported 0 0 2.1 NVIDIA GeForce FX 5200
+NVIDIA Corporation GeForce FX 5200LE/AGP/SSE2 supported 0 0 2.1 NVIDIA GeForce FX 5200
+NVIDIA Corporation GeForce FX 5200LE/AGP/SSE2/3DNOW! supported 0 0 2.1 NVIDIA GeForce FX 5200
+NVIDIA Corporation GeForce FX 5200SE/AGP/SSE2 supported 0 0 2.1 NVIDIA GeForce FX 5200
+NVIDIA Corporation GeForce FX 5500/AGP/SSE2 supported 0 1 2.1 NVIDIA GeForce FX 5500
+NVIDIA Corporation GeForce FX 5500/AGP/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce FX 5500
+NVIDIA Corporation GeForce FX 5500/PCI/SSE2 supported 0 1 2.1 NVIDIA GeForce FX 5500
+NVIDIA Corporation GeForce FX 5500/PCI/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce FX 5500
+NVIDIA Corporation GeForce FX 5600/AGP/SSE2 supported 1 1 2.1 NVIDIA GeForce FX 5600
+NVIDIA Corporation GeForce FX 5600XT/AGP/SSE2 supported 1 1 2.1 NVIDIA GeForce FX 5600
+NVIDIA Corporation GeForce FX 5600XT/AGP/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce FX 5600
+NVIDIA Corporation GeForce FX 5600XT/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce FX 5600
+NVIDIA Corporation GeForce FX 5700/AGP/SSE2 supported 0 1 2.1 NVIDIA GeForce FX 5700
+NVIDIA Corporation GeForce FX 5700/AGP/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce FX 5700
+NVIDIA Corporation GeForce FX 5700LE/AGP/SSE2 supported 0 1 2.1 NVIDIA GeForce FX 5700
+NVIDIA Corporation GeForce FX 5700LE/AGP/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce FX 5700
+NVIDIA Corporation GeForce FX 5700LE/PCI/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce FX 5700
+NVIDIA Corporation GeForce FX 5700VE/AGP/SSE2 supported 0 1 2.1 NVIDIA GeForce FX 5700
+NVIDIA Corporation GeForce FX 5700VE/AGP/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce FX 5700
+NVIDIA Corporation GeForce FX 5900 Ultra/AGP/SSE2 supported 1 1 2.1 NVIDIA GeForce FX 5900
+NVIDIA Corporation GeForce FX 5900/AGP/SSE2 supported 1 1 2.1 NVIDIA GeForce FX 5900
+NVIDIA Corporation GeForce FX 5900XT/AGP/SSE2 supported 1 1 2.1 NVIDIA GeForce FX 5900
+NVIDIA Corporation GeForce FX 5900ZT/AGP/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce FX 5900
+NVIDIA Corporation GeForce FX 5950 Ultra/AGP/SSE2 supported 1 1 2.1 NVIDIA GeForce FX 5900
+NVIDIA Corporation GeForce FX 5950 Ultra/AGP/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce FX 5900
+NVIDIA Corporation GeForce FX Go5200 32M/64M/AGP/SSE2 supported 0 0 1.5 NVIDIA GeForce FX Go5200
+NVIDIA Corporation GeForce FX Go5200/AGP/SSE2 supported 0 0 1.5 NVIDIA GeForce FX Go5200
+NVIDIA Corporation GeForce FX Go5200/AGP/SSE2/3DNOW! supported 0 0 1.5 NVIDIA GeForce FX Go5200
+NVIDIA Corporation GeForce FX Go5200/PCI/SSE2 supported 0 0 1.5 NVIDIA GeForce FX Go5200
+NVIDIA Corporation GeForce FX Go5300/AGP/SSE2 supported 0 0 0 NVIDIA GeForce FX Go5300
+NVIDIA Corporation GeForce FX Go53xx Series/AGP/SSE2 supported 0 0 0 NVIDIA GeForce FX Go5300
+NVIDIA Corporation GeForce FX Go5600/AGP/SSE2 supported 0 1 2.1 NVIDIA GeForce FX Go5600
+NVIDIA Corporation GeForce FX Go5650/AGP/SSE2 supported 0 1 2.1 NVIDIA GeForce FX Go5600
+NVIDIA Corporation GeForce FX Go5700/AGP/SSE2 supported 1 1 1.5 NVIDIA GeForce FX Go5700
+NVIDIA Corporation GeForce FX Go5700/AGP/SSE2/3DNOW! supported 1 1 1.5 NVIDIA GeForce FX Go5700
+NVIDIA Corporation GeForce G 103M/PCI/SSE2 supported 1 1 3.3 NVIDIA G 100M
+NVIDIA Corporation GeForce G 103M/PCIe/SSE2 supported 1 1 3.3 NVIDIA G 100M
+NVIDIA Corporation GeForce G 105M/PCI/SSE2 supported 1 1 3.3 NVIDIA G 100M
+NVIDIA Corporation GeForce G 105M/PCIe/SSE2 supported 1 1 3.3 NVIDIA G 100M
+NVIDIA Corporation GeForce G 110M/PCI/SSE2 supported 1 1 3.3 NVIDIA G 110M
+NVIDIA Corporation GeForce G100/PCI/SSE2 supported 3 1 4.2 NVIDIA G100
+NVIDIA Corporation GeForce G100/PCI/SSE2/3DNOW! supported 3 1 4.2 NVIDIA G100
+NVIDIA Corporation GeForce G100/PCIe/SSE2 supported 3 1 4.2 NVIDIA G100
+NVIDIA Corporation GeForce G100/PCIe/SSE2/3DNOW! supported 3 1 4.2 NVIDIA G100
+NVIDIA Corporation GeForce G102M/PCI/SSE2 supported 1 1 3.3 NVIDIA G 100M
+NVIDIA Corporation GeForce G102M/integrated/SSE2 supported 1 1 3.3 NVIDIA G 100M
+NVIDIA Corporation GeForce G105M/PCI/SSE2 supported 1 1 3.3 NVIDIA G 100M
+NVIDIA Corporation GeForce G105M/PCIe/SSE2 supported 1 1 3.3 NVIDIA G 100M
+NVIDIA Corporation GeForce G200/PCI/SSE2 supported 2 1 3.3 NVIDIA G200
+NVIDIA Corporation GeForce G200/integrated/SSE2 supported 2 1 3.3 NVIDIA G200
+NVIDIA Corporation GeForce G205M/PCI/SSE2 supported 1 0 0 NVIDIA G 200M
+NVIDIA Corporation GeForce G205M/integrated/SSE2 supported 1 0 0 NVIDIA G 200M
+NVIDIA Corporation GeForce G210/PCI/SSE2 supported 3 1 3.3 NVIDIA G210
+NVIDIA Corporation GeForce G210/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA G210
+NVIDIA Corporation GeForce G210/PCIe/SSE2 supported 3 1 3.3 NVIDIA G210
+NVIDIA Corporation GeForce G210/PCIe/SSE2/3DNOW! supported 3 1 3.3 NVIDIA G210
+NVIDIA Corporation GeForce G210M/PCI/SSE2 supported 3 0 3.3 NVIDIA G210M
+NVIDIA Corporation GeForce G210M/PCIe/SSE2 supported 3 0 3.3 NVIDIA G210M
+NVIDIA Corporation GeForce GT 120/PCI/SSE2 supported 2 0 3.3 NVIDIA GT 120
+NVIDIA Corporation GeForce GT 120/PCI/SSE2/3DNOW! supported 2 0 3.3 NVIDIA GT 120
+NVIDIA Corporation GeForce GT 120/PCIe/SSE2 supported 2 0 3.3 NVIDIA GT 120
+NVIDIA Corporation GeForce GT 120/PCIe/SSE2/3DNOW! supported 2 0 3.3 NVIDIA GT 120
+NVIDIA Corporation GeForce GT 120M/PCI/SSE2 supported 2 0 3.3 NVIDIA GT 120
+NVIDIA Corporation GeForce GT 120M/PCIe/SSE2 supported 2 0 3.3 NVIDIA GT 120
+NVIDIA Corporation GeForce GT 130/PCI/SSE2 supported 2 0 3.3 NVIDIA GT 130
+NVIDIA Corporation GeForce GT 130/PCIe/SSE2 supported 2 0 3.3 NVIDIA GT 130
+NVIDIA Corporation GeForce GT 130/PCIe/SSE2/3DNOW! supported 2 0 3.3 NVIDIA GT 130
+NVIDIA Corporation GeForce GT 130M/PCI/SSE2 supported 3 1 3.3 NVIDIA GT 130M
+NVIDIA Corporation GeForce GT 130M/PCIe/SSE2 supported 3 1 3.3 NVIDIA GT 130M
+NVIDIA Corporation GeForce GT 140/PCI/SSE2 supported 2 0 3.3 NVIDIA GT 140
+NVIDIA Corporation GeForce GT 140/PCIe/SSE2 supported 2 0 3.3 NVIDIA GT 140
+NVIDIA Corporation GeForce GT 220/PCI/SSE2 supported 2 1 3.3 NVIDIA GT 220
+NVIDIA Corporation GeForce GT 220/PCI/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GT 220
+NVIDIA Corporation GeForce GT 220/PCIe/SSE2 supported 2 1 3.3 NVIDIA GT 220
+NVIDIA Corporation GeForce GT 220/PCIe/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GT 220
+NVIDIA Corporation GeForce GT 220M/PCI/SSE2 supported 3 1 3.3 NVIDIA GT 220M
+NVIDIA Corporation GeForce GT 220M/PCIe/SSE2 supported 3 1 3.3 NVIDIA GT 220M
+NVIDIA Corporation GeForce GT 230/PCI/SSE2 supported 2 1 3.3 NVIDIA GT 230
+NVIDIA Corporation GeForce GT 230/PCIe/SSE2 supported 2 1 3.3 NVIDIA GT 230
+NVIDIA Corporation GeForce GT 230/PCIe/SSE2/3DNOW! supported 2 1 3.3 NVIDIA GT 230
+NVIDIA Corporation GeForce GT 230M/PCI/SSE2 supported 3 1 3.3 NVIDIA GT 230M
+NVIDIA Corporation GeForce GT 230M/PCIe/SSE2 supported 3 1 3.3 NVIDIA GT 230M
+NVIDIA Corporation GeForce GT 240/PCI/SSE2 supported 4 1 3.3 NVIDIA GT 240
+NVIDIA Corporation GeForce GT 240/PCI/SSE2/3DNOW! supported 4 1 3.3 NVIDIA GT 240
+NVIDIA Corporation GeForce GT 240/PCIe/SSE2 supported 4 1 3.3 NVIDIA GT 240
+NVIDIA Corporation GeForce GT 240/PCIe/SSE2/3DNOW! supported 4 1 3.3 NVIDIA GT 240
+NVIDIA Corporation GeForce GT 240M LE/PCIe/SSE2 supported 3 1 3.3 NVIDIA GT 240M
+NVIDIA Corporation GeForce GT 240M/PCI/SSE2 supported 3 1 3.3 NVIDIA GT 240M
+NVIDIA Corporation GeForce GT 240M/PCI/SSE2/3DNOW! supported 3 1 3.3 NVIDIA GT 240M
+NVIDIA Corporation GeForce GT 240M/PCIe/SSE2 supported 3 1 3.3 NVIDIA GT 240M
+NVIDIA Corporation GeForce GT 320/PCI/SSE2 supported 3 0 3.3 NVIDIA GT 320
+NVIDIA Corporation GeForce GT 320/PCI/SSE2/3DNOW! supported 3 0 3.3 NVIDIA GT 320
+NVIDIA Corporation GeForce GT 320/PCIe/SSE2 supported 3 0 3.3 NVIDIA GT 320
+NVIDIA Corporation GeForce GT 320/PCIe/SSE2/3DNOW! supported 3 0 3.3 NVIDIA GT 320
+NVIDIA Corporation GeForce GT 320M/PCI/SSE2 supported 3 0 3.3 NVIDIA GT 320M
+NVIDIA Corporation GeForce GT 320M/PCIe/SSE2 supported 3 0 3.3 NVIDIA GT 320M
+NVIDIA Corporation GeForce GT 325M/PCI/SSE2 supported 3 0 3.3 NVIDIA GT 320M
+NVIDIA Corporation GeForce GT 325M/PCIe/SSE2 supported 3 0 3.3 NVIDIA GT 320M
+NVIDIA Corporation GeForce GT 330/PCI/SSE2 supported 3 0 3.3 NVIDIA GT 330
+NVIDIA Corporation GeForce GT 330/PCIe/SSE2 supported 3 0 3.3 NVIDIA GT 330
+NVIDIA Corporation GeForce GT 330/PCIe/SSE2/3DNOW! supported 3 0 3.3 NVIDIA GT 330
+NVIDIA Corporation GeForce GT 330M/PCI/SSE2 supported 3 1 3.3 NVIDIA GT 330M
+NVIDIA Corporation GeForce GT 330M/PCIe/SSE2 supported 3 1 3.3 NVIDIA GT 330M
+NVIDIA Corporation GeForce GT 335M/PCI/SSE2 supported 3 1 3.3 NVIDIA GT 330M
+NVIDIA Corporation GeForce GT 335M/PCIe/SSE2 supported 3 1 3.3 NVIDIA GT 330M
+NVIDIA Corporation GeForce GT 340/PCI/SSE2 supported 3 0 0 NVIDIA GT 340
+NVIDIA Corporation GeForce GT 340/PCIe/SSE2 supported 3 0 0 NVIDIA GT 340
+NVIDIA Corporation GeForce GT 415/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 415
+NVIDIA Corporation GeForce GT 415/PCIe/SSE2/3DNOW! supported 3 1 4.3 NVIDIA GT 415
+NVIDIA Corporation GeForce GT 415M/PCI/SSE2 supported 3 0 0 NVIDIA 410M
+NVIDIA Corporation GeForce GT 415M/PCIe/SSE2 supported 3 0 0 NVIDIA 410M
+NVIDIA Corporation GeForce GT 420/PCI/SSE2 supported 3 1 4.3 NVIDIA GT 420
+NVIDIA Corporation GeForce GT 420/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 420
+NVIDIA Corporation GeForce GT 420/PCIe/SSE2/3DNOW! supported 3 1 4.3 NVIDIA GT 420
+NVIDIA Corporation GeForce GT 420M/PCI/SSE2 supported 3 1 4.3 NVIDIA GT 420M
+NVIDIA Corporation GeForce GT 420M/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 420M
+NVIDIA Corporation GeForce GT 425M/PCI/SSE2 supported 3 1 4.3 NVIDIA GT 420M
+NVIDIA Corporation GeForce GT 425M/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 420M
+NVIDIA Corporation GeForce GT 430/PCI/SSE2 supported 3 1 4.3 NVIDIA GT 430
+NVIDIA Corporation GeForce GT 430/PCI/SSE2/3DNOW! supported 3 1 4.3 NVIDIA GT 430
+NVIDIA Corporation GeForce GT 430/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 430
+NVIDIA Corporation GeForce GT 430/PCIe/SSE2/3DNOW! supported 3 1 4.3 NVIDIA GT 430
+NVIDIA Corporation GeForce GT 435M/PCI/SSE2 supported 3 1 4.3 NVIDIA GT 430M
+NVIDIA Corporation GeForce GT 435M/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 430M
+NVIDIA Corporation GeForce GT 440/PCI/SSE2 supported 4 1 4.3 NVIDIA GT 440
+NVIDIA Corporation GeForce GT 440/PCI/SSE2/3DNOW! supported 4 1 4.3 NVIDIA GT 440
+NVIDIA Corporation GeForce GT 440/PCIe/SSE2 supported 4 1 4.3 NVIDIA GT 440
+NVIDIA Corporation GeForce GT 440/PCIe/SSE2/3DNOW! supported 4 1 4.3 NVIDIA GT 440
+NVIDIA Corporation GeForce GT 445M/PCI/SSE2 supported 3 1 4.3 NVIDIA GT 440M
+NVIDIA Corporation GeForce GT 445M/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 440M
+NVIDIA Corporation GeForce GT 520/PCI/SSE2 supported 3 1 4.3 NVIDIA GT 520
+NVIDIA Corporation GeForce GT 520/PCI/SSE2/3DNOW! supported 3 1 4.3 NVIDIA GT 520
+NVIDIA Corporation GeForce GT 520/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 520
+NVIDIA Corporation GeForce GT 520/PCIe/SSE2/3DNOW! supported 3 1 4.3 NVIDIA GT 520
+NVIDIA Corporation GeForce GT 520M/PCI/SSE2 supported 3 1 4.3 NVIDIA GT 520M
+NVIDIA Corporation GeForce GT 520M/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 520M
+NVIDIA Corporation GeForce GT 520MX/PCI/SSE2 supported 3 1 4.3 NVIDIA GT 520M
+NVIDIA Corporation GeForce GT 520MX/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 520M
+NVIDIA Corporation GeForce GT 525M/PCI/SSE2 supported 3 1 4.3 NVIDIA GT 520M
+NVIDIA Corporation GeForce GT 525M/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 520M
+NVIDIA Corporation GeForce GT 530/PCI/SSE2 supported 3 1 4.3 NVIDIA GT 530
+NVIDIA Corporation GeForce GT 530/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 530
+NVIDIA Corporation GeForce GT 530/PCIe/SSE2/3DNOW! supported 3 1 4.3 NVIDIA GT 530
+NVIDIA Corporation GeForce GT 540M/PCI/SSE2 supported 3 1 4.3 NVIDIA GT 540M
+NVIDIA Corporation GeForce GT 540M/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 540M
+NVIDIA Corporation GeForce GT 545/PCI/SSE2 supported 3 1 4.3 NVIDIA GT 540
+NVIDIA Corporation GeForce GT 545/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 540
+NVIDIA Corporation GeForce GT 545/PCIe/SSE2/3DNOW! supported 3 1 4.3 NVIDIA GT 540
+NVIDIA Corporation GeForce GT 550M/PCI/SSE2 supported 3 1 4.3 NVIDIA GT 550M
+NVIDIA Corporation GeForce GT 550M/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 550M
+NVIDIA Corporation GeForce GT 555M/PCI/SSE2 supported 3 1 4.3 NVIDIA GT 550M
+NVIDIA Corporation GeForce GT 555M/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 550M
+NVIDIA Corporation GeForce GT 610/PCIe/SSE2 supported 3 1 4.3 NVIDIA GT 61x
+NVIDIA Corporation GeForce GT 610/PCIe/SSE2/3DNOW! supported 3 1 4.3 NVIDIA GT 61x
+NVIDIA Corporation GeForce GT 620/PCI/SSE2 supported 3 0 4.3 NVIDIA GT 62x
+NVIDIA Corporation GeForce GT 620/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 62x
+NVIDIA Corporation GeForce GT 620/PCIe/SSE2/3DNOW! supported 3 0 4.3 NVIDIA GT 62x
+NVIDIA Corporation GeForce GT 620M/PCI/SSE2 supported 3 0 4.3 NVIDIA GT 620M
+NVIDIA Corporation GeForce GT 620M/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 620M
+NVIDIA Corporation GeForce GT 625/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 62x
+NVIDIA Corporation GeForce GT 625M/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 620M
+NVIDIA Corporation GeForce GT 630/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 63x
+NVIDIA Corporation GeForce GT 630/PCIe/SSE2/3DNOW! supported 3 0 4.3 NVIDIA GT 63x
+NVIDIA Corporation GeForce GT 630M/PCI/SSE2 supported 3 0 4.3 NVIDIA GT 630M
+NVIDIA Corporation GeForce GT 630M/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 630M
+NVIDIA Corporation GeForce GT 635M/PCI/SSE2 supported 3 0 4.3 NVIDIA GT 630M
+NVIDIA Corporation GeForce GT 635M/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 630M
+NVIDIA Corporation GeForce GT 640/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 64x
+NVIDIA Corporation GeForce GT 640/PCIe/SSE2/3DNOW! supported 3 0 4.3 NVIDIA GT 64x
+NVIDIA Corporation GeForce GT 640M LE/PCI/SSE2 supported 3 0 4.3 NVIDIA GT 640M
+NVIDIA Corporation GeForce GT 640M LE/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 640M
+NVIDIA Corporation GeForce GT 640M/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 640M
+NVIDIA Corporation GeForce GT 645/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 64x
+NVIDIA Corporation GeForce GT 645M/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 640M
+NVIDIA Corporation GeForce GT 650M/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 650M
+NVIDIA Corporation GeForce GT 720M/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 720M
+NVIDIA Corporation GeForce GT 730M/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 730M
+NVIDIA Corporation GeForce GT 735M/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 730M
+NVIDIA Corporation GeForce GT 740M/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 740M
+NVIDIA Corporation GeForce GT 750M/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 750M
+NVIDIA Corporation GeForce GT620M/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 620M
+NVIDIA Corporation GeForce GT625M/PCIe/SSE2 supported 3 0 4.3 NVIDIA GT 620M
+NVIDIA Corporation GeForce GTS 150/PCI/SSE2 supported 2 0 0 NVIDIA GTS 150
+NVIDIA Corporation GeForce GTS 160M/PCI/SSE2 supported 2 0 0 NVIDIA GTS 160M
+NVIDIA Corporation GeForce GTS 160M/PCIe/SSE2 supported 2 0 0 NVIDIA GTS 160M
+NVIDIA Corporation GeForce GTS 240/PCI/SSE2 supported 4 1 3.3 NVIDIA GTS 240
+NVIDIA Corporation GeForce GTS 240/PCIe/SSE2 supported 4 1 3.3 NVIDIA GTS 240
+NVIDIA Corporation GeForce GTS 240/PCIe/SSE2/3DNOW! supported 4 1 3.3 NVIDIA GTS 240
+NVIDIA Corporation GeForce GTS 250/PCI/SSE2 supported 4 1 3.3 NVIDIA GTS 250
+NVIDIA Corporation GeForce GTS 250/PCI/SSE2/3DNOW! supported 4 1 3.3 NVIDIA GTS 250
+NVIDIA Corporation GeForce GTS 250/PCIe/SSE2 supported 4 1 3.3 NVIDIA GTS 250
+NVIDIA Corporation GeForce GTS 250/PCIe/SSE2/3DNOW! supported 4 1 3.3 NVIDIA GTS 250
+NVIDIA Corporation GeForce GTS 250M/PCI/SSE2 supported 3 0 3.3 NVIDIA GTS 250M
+NVIDIA Corporation GeForce GTS 250M/PCIe/SSE2 supported 3 0 3.3 NVIDIA GTS 250M
+NVIDIA Corporation GeForce GTS 350M/PCI/SSE2 supported 4 1 3.3 NVIDIA GTS 350M
+NVIDIA Corporation GeForce GTS 350M/PCIe/SSE2 supported 4 1 3.3 NVIDIA GTS 350M
+NVIDIA Corporation GeForce GTS 360M/PCI/SSE2 supported 5 1 3.3 NVIDIA GTS 360M
+NVIDIA Corporation GeForce GTS 360M/PCIe/SSE2 supported 5 1 3.3 NVIDIA GTS 360M
+NVIDIA Corporation GeForce GTS 450/PCI/SSE2 supported 4 1 4.3 NVIDIA GTS 450
+NVIDIA Corporation GeForce GTS 450/PCI/SSE2/3DNOW! supported 4 1 4.3 NVIDIA GTS 450
+NVIDIA Corporation GeForce GTS 450/PCIe/SSE2 supported 4 1 4.3 NVIDIA GTS 450
+NVIDIA Corporation GeForce GTS 450/PCIe/SSE2/3DNOW! supported 4 1 4.3 NVIDIA GTS 450
+NVIDIA Corporation GeForce GTX 260/PCI/SSE2 supported 4 1 3.3 NVIDIA GTX 260
+NVIDIA Corporation GeForce GTX 260/PCI/SSE2/3DNOW! supported 4 1 3.3 NVIDIA GTX 260
+NVIDIA Corporation GeForce GTX 260/PCIe/SSE2 supported 4 1 3.3 NVIDIA GTX 260
+NVIDIA Corporation GeForce GTX 260/PCIe/SSE2/3DNOW! supported 4 1 3.3 NVIDIA GTX 260
+NVIDIA Corporation GeForce GTX 260M/PCI/SSE2 supported 3 0 3.3 NVIDIA GTX 260M
+NVIDIA Corporation GeForce GTX 260M/PCIe/SSE2 supported 3 0 3.3 NVIDIA GTX 260M
+NVIDIA Corporation GeForce GTX 275/PCI/SSE2 supported 4 0 3.3 NVIDIA GTX 270
+NVIDIA Corporation GeForce GTX 275/PCI/SSE2/3DNOW! supported 4 0 3.3 NVIDIA GTX 270
+NVIDIA Corporation GeForce GTX 275/PCIe/SSE2 supported 4 0 3.3 NVIDIA GTX 270
+NVIDIA Corporation GeForce GTX 275/PCIe/SSE2/3DNOW! supported 4 0 3.3 NVIDIA GTX 270
+NVIDIA Corporation GeForce GTX 280/PCI/SSE2 supported 4 1 3.3 NVIDIA GTX 280
+NVIDIA Corporation GeForce GTX 280/PCIe/SSE2 supported 4 1 3.3 NVIDIA GTX 280
+NVIDIA Corporation GeForce GTX 280/PCIe/SSE2/3DNOW! supported 4 1 3.3 NVIDIA GTX 280
+NVIDIA Corporation GeForce GTX 280M/PCI/SSE2 supported 3 0 3.3 NVIDIA GTX 280M
+NVIDIA Corporation GeForce GTX 280M/PCIe/SSE2 supported 3 0 3.3 NVIDIA GTX 280M
+NVIDIA Corporation GeForce GTX 285/PCI/SSE2 supported 4 1 3.3 NVIDIA GTX 280
+NVIDIA Corporation GeForce GTX 285/PCIe/SSE2 supported 4 1 3.3 NVIDIA GTX 280
+NVIDIA Corporation GeForce GTX 285/PCIe/SSE2/3DNOW! supported 4 1 3.3 NVIDIA GTX 280
+NVIDIA Corporation GeForce GTX 285M/PCI/SSE2 supported 3 0 3.3 NVIDIA GTX 280M
+NVIDIA Corporation GeForce GTX 285M/PCIe/SSE2 supported 3 0 3.3 NVIDIA GTX 280M
+NVIDIA Corporation GeForce GTX 295/PCI/SSE2 supported 5 0 3.3 NVIDIA GTX 290
+NVIDIA Corporation GeForce GTX 295/PCIe/SSE2 supported 5 0 3.3 NVIDIA GTX 290
+NVIDIA Corporation GeForce GTX 295/PCIe/SSE2/3DNOW! supported 5 0 3.3 NVIDIA GTX 290
+NVIDIA Corporation GeForce GTX 460 SE/PCI/SSE2 supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA Corporation GeForce GTX 460 SE/PCI/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA Corporation GeForce GTX 460 SE/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA Corporation GeForce GTX 460 SE/PCIe/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA Corporation GeForce GTX 460 v2/PCI/SSE2 supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA Corporation GeForce GTX 460 v2/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA Corporation GeForce GTX 460 v2/PCIe/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA Corporation GeForce GTX 460/PCI/SSE2 supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA Corporation GeForce GTX 460/PCI/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA Corporation GeForce GTX 460/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA Corporation GeForce GTX 460/PCIe/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA Corporation GeForce GTX 460M/PCI/SSE2 supported 4 1 4.3 NVIDIA GTX 460M
+NVIDIA Corporation GeForce GTX 460M/PCIe/SSE2 supported 4 1 4.3 NVIDIA GTX 460M
+NVIDIA Corporation GeForce GTX 465/PCI/SSE2 supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA Corporation GeForce GTX 465/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA Corporation GeForce GTX 465/PCIe/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA Corporation GeForce GTX 470/PCI/SSE2 supported 5 1 4.3 NVIDIA GTX 470
+NVIDIA Corporation GeForce GTX 470/PCI/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 470
+NVIDIA Corporation GeForce GTX 470/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 470
+NVIDIA Corporation GeForce GTX 470/PCIe/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 470
+NVIDIA Corporation GeForce GTX 470M/PCI/SSE2 supported 3 0 4.3 NVIDIA GTX 470M
+NVIDIA Corporation GeForce GTX 480/PCI/SSE2 supported 5 1 4.3 NVIDIA GTX 480
+NVIDIA Corporation GeForce GTX 480/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 480
+NVIDIA Corporation GeForce GTX 480/PCIe/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 480
+NVIDIA Corporation GeForce GTX 480M/PCIe/SSE2 supported 3 1 4.3 NVIDIA GTX 480M
+NVIDIA Corporation GeForce GTX 485M/PCI/SSE2 supported 3 1 4.3 NVIDIA GTX 480M
+NVIDIA Corporation GeForce GTX 485M/PCIe/SSE2 supported 3 1 4.3 NVIDIA GTX 480M
+NVIDIA Corporation GeForce GTX 550 Ti/PCI/SSE2 supported 5 1 4.3 NVIDIA GTX 550
+NVIDIA Corporation GeForce GTX 550 Ti/PCI/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 550
+NVIDIA Corporation GeForce GTX 550 Ti/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 550
+NVIDIA Corporation GeForce GTX 550 Ti/PCIe/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 550
+NVIDIA Corporation GeForce GTX 560 SE/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 560
+NVIDIA Corporation GeForce GTX 560 Ti/PCI/SSE2 supported 5 1 4.3 NVIDIA GTX 560
+NVIDIA Corporation GeForce GTX 560 Ti/PCI/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 560
+NVIDIA Corporation GeForce GTX 560 Ti/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 560
+NVIDIA Corporation GeForce GTX 560 Ti/PCIe/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 560
+NVIDIA Corporation GeForce GTX 560/PCI/SSE2 supported 5 1 4.3 NVIDIA GTX 560
+NVIDIA Corporation GeForce GTX 560/PCI/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 560
+NVIDIA Corporation GeForce GTX 560/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 560
+NVIDIA Corporation GeForce GTX 560/PCIe/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 560
+NVIDIA Corporation GeForce GTX 560M/PCI/SSE2 supported 3 0 4.3 NVIDIA GTX 560M
+NVIDIA Corporation GeForce GTX 560M/PCIe/SSE2 supported 3 0 4.3 NVIDIA GTX 560M
+NVIDIA Corporation GeForce GTX 570/PCI/SSE2 supported 5 1 4.3 NVIDIA GTX 570
+NVIDIA Corporation GeForce GTX 570/PCI/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 570
+NVIDIA Corporation GeForce GTX 570/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 570
+NVIDIA Corporation GeForce GTX 570/PCIe/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 570
+NVIDIA Corporation GeForce GTX 570M/PCI/SSE2 supported 5 0 4.3 NVIDIA GTX 570M
+NVIDIA Corporation GeForce GTX 570M/PCIe/SSE2 supported 5 0 4.3 NVIDIA GTX 570M
+NVIDIA Corporation GeForce GTX 580/PCI/SSE2 supported 5 1 4.3 NVIDIA GTX 580
+NVIDIA Corporation GeForce GTX 580/PCI/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 580
+NVIDIA Corporation GeForce GTX 580/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 580
+NVIDIA Corporation GeForce GTX 580/PCIe/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 580
+NVIDIA Corporation GeForce GTX 580M/PCI/SSE2 supported 5 1 4.3 NVIDIA GTX 580M
+NVIDIA Corporation GeForce GTX 580M/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 580M
+NVIDIA Corporation GeForce GTX 590/PCI/SSE2 supported 5 1 4.3 NVIDIA GTX 590
+NVIDIA Corporation GeForce GTX 590/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 590
+NVIDIA Corporation GeForce GTX 590/PCIe/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 590
+NVIDIA Corporation GeForce GTX 645/PCIe/SSE2 supported 3 1 4.3 NVIDIA GTX 64x
+NVIDIA Corporation GeForce GTX 650 Ti BOOST/PCIe/SSE2 supported 3 1 4.3 NVIDIA GTX 65x
+NVIDIA Corporation GeForce GTX 650 Ti BOOST/PCIe/SSE2/3DNOW! supported 3 1 4.3 NVIDIA GTX 65x
+NVIDIA Corporation GeForce GTX 650 Ti Boost/PCIe/SSE2 supported 3 1 4.3 NVIDIA GTX 65x
+NVIDIA Corporation GeForce GTX 650 Ti Boost/PCIe/SSE2/3DNOW! supported 3 1 4.3 NVIDIA GTX 65x
+NVIDIA Corporation GeForce GTX 650 Ti/PCIe/SSE2 supported 3 1 4.3 NVIDIA GTX 65x
+NVIDIA Corporation GeForce GTX 650 Ti/PCIe/SSE2/3DNOW! supported 3 1 4.3 NVIDIA GTX 65x
+NVIDIA Corporation GeForce GTX 650/PCIe/SSE2 supported 3 1 4.3 NVIDIA GTX 65x
+NVIDIA Corporation GeForce GTX 650/PCIe/SSE2/3DNOW! supported 3 1 4.3 NVIDIA GTX 65x
+NVIDIA Corporation GeForce GTX 660 Ti/PCIe/SSE2 supported 5 0 4.3 NVIDIA GTX 66x
+NVIDIA Corporation GeForce GTX 660 Ti/PCIe/SSE2/3DNOW! supported 5 0 4.3 NVIDIA GTX 66x
+NVIDIA Corporation GeForce GTX 660/PCIe/SSE2 supported 5 0 4.3 NVIDIA GTX 66x
+NVIDIA Corporation GeForce GTX 660/PCIe/SSE2/3DNOW! supported 5 0 4.3 NVIDIA GTX 66x
+NVIDIA Corporation GeForce GTX 660M/PCIe/SSE2 supported 5 0 4.3 NVIDIA GTX 660M
+NVIDIA Corporation GeForce GTX 670/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 67x
+NVIDIA Corporation GeForce GTX 670/PCIe/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 67x
+NVIDIA Corporation GeForce GTX 670M/PCI/SSE2 supported 5 1 4.3 NVIDIA GTX 670M
+NVIDIA Corporation GeForce GTX 670M/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 670M
+NVIDIA Corporation GeForce GTX 670MX/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 670M
+NVIDIA Corporation GeForce GTX 675M/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 670M
+NVIDIA Corporation GeForce GTX 675MX/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 670M
+NVIDIA Corporation GeForce GTX 680/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 68x
+NVIDIA Corporation GeForce GTX 680/PCIe/SSE2/3DNOW! supported 5 1 4.3 NVIDIA GTX 68x
+NVIDIA Corporation GeForce GTX 680M/PCIe/SSE2 supported 5 0 4.3 NVIDIA GTX 680M
+NVIDIA Corporation GeForce GTX 680MX/PCIe/SSE2 supported 5 0 4.3 NVIDIA GTX 680M
+NVIDIA Corporation GeForce GTX 690/PCIe/SSE2 supported 5 1 4.3 NVIDIA GTX 69x
+NVIDIA Corporation GeForce GTX 760/PCIe/SSE2 supported 5 0 4.3 NVIDIA GTX 76x
+NVIDIA Corporation GeForce GTX 760M/PCIe/SSE2 supported 5 0 4.3 NVIDIA GTX 760M
+NVIDIA Corporation GeForce GTX 765M/PCIe/SSE2 supported 5 0 4.3 NVIDIA GTX 760M
+NVIDIA Corporation GeForce GTX 770/PCIe/SSE2 supported 5 0 4.3 NVIDIA GTX 77x
+NVIDIA Corporation GeForce GTX 770/PCIe/SSE2/3DNOW! supported 5 0 4.3 NVIDIA GTX 77x
+NVIDIA Corporation GeForce GTX 770M/PCIe/SSE2 supported 5 0 4.3 NVIDIA GTX 770M
+NVIDIA Corporation GeForce GTX 780/PCIe/SSE2 supported 5 0 4.3 NVIDIA GTX 78x
+NVIDIA Corporation GeForce GTX 780M/PCIe/SSE2 supported 5 0 4.3 NVIDIA GTX 780M
+NVIDIA Corporation GeForce GTX TITAN/PCIe/SSE2 supported 5 0 4.3 NVIDIA GTX TITAN
+NVIDIA Corporation GeForce GTX TITAN/PCIe/SSE2/3DNOW! supported 5 0 4.3 NVIDIA GTX TITAN
+NVIDIA Corporation GeForce GTX Titan/PCIe/SSE2 supported 5 0 4.3 NVIDIA GTX TITAN
+NVIDIA Corporation GeForce Go 6100/PCI/SSE2 supported 0 1 2.1 NVIDIA GeForce Go 6100
+NVIDIA Corporation GeForce Go 6100/PCI/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce Go 6100
+NVIDIA Corporation GeForce Go 6150/PCI/SSE2 supported 0 1 2.1 NVIDIA GeForce Go 6100
+NVIDIA Corporation GeForce Go 6150/PCI/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce Go 6100
+NVIDIA Corporation GeForce Go 6150/integrated/SSE2/3DNOW! supported 0 1 2.1 NVIDIA GeForce Go 6100
+NVIDIA Corporation GeForce Go 6200/PCI/SSE2 supported 0 0 1.5 NVIDIA GeForce Go 6200
+NVIDIA Corporation GeForce Go 6200/PCI/SSE2/3DNOW! supported 0 0 1.5 NVIDIA GeForce Go 6200
+NVIDIA Corporation GeForce Go 6400/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce Go 6400
+NVIDIA Corporation GeForce Go 6400/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce Go 6400
+NVIDIA Corporation GeForce Go 6600 TE/6200 TE/PCI/SSE2 supported 0 1 2.1 NVIDIA GeForce Go 6600
+NVIDIA Corporation GeForce Go 6600/PCI/SSE2 supported 0 1 2.1 NVIDIA GeForce Go 6600
+NVIDIA Corporation GeForce Go 6800 Ultra/PCI/SSE2 supported 0 1 2.1 NVIDIA GeForce Go 6800
+NVIDIA Corporation GeForce Go 6800/PCI/SSE2 supported 0 1 2.1 NVIDIA GeForce Go 6800
+NVIDIA Corporation GeForce Go 6800/PCIe/SSE2 supported 0 1 2.1 NVIDIA GeForce Go 6800
+NVIDIA Corporation GeForce Go 7200/PCI/SSE2 supported 1 0 2.1 NVIDIA GeForce Go 7200
+NVIDIA Corporation GeForce Go 7200/PCI/SSE2/3DNOW! supported 1 0 2.1 NVIDIA GeForce Go 7200
+NVIDIA Corporation GeForce Go 7300/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce Go 7300
+NVIDIA Corporation GeForce Go 7300/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce Go 7300
+NVIDIA Corporation GeForce Go 7300/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce Go 7300
+NVIDIA Corporation GeForce Go 7400/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce Go 7400
+NVIDIA Corporation GeForce Go 7400/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce Go 7400
+NVIDIA Corporation GeForce Go 7400/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce Go 7400
+NVIDIA Corporation GeForce Go 7600 GT/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce Go 7600
+NVIDIA Corporation GeForce Go 7600/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce Go 7600
+NVIDIA Corporation GeForce Go 7600/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce Go 7600
+NVIDIA Corporation GeForce Go 7600/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce Go 7600
+NVIDIA Corporation GeForce Go 7600/PCIe/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce Go 7600
+NVIDIA Corporation GeForce Go 7700/PCI/SSE2 supported 0 1 2.1 NVIDIA GeForce Go 7700
+NVIDIA Corporation GeForce Go 7800 GTX/PCI/SSE2 supported 2 0 0 NVIDIA GeForce Go 7800
+NVIDIA Corporation GeForce Go 7800/PCI/SSE2 supported 2 0 0 NVIDIA GeForce Go 7800
+NVIDIA Corporation GeForce Go 7900 GS/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce Go 7900
+NVIDIA Corporation GeForce Go 7900 GS/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce Go 7900
+NVIDIA Corporation GeForce Go 7900 GS/PCIe/SSE2 supported 1 1 2.1 NVIDIA GeForce Go 7900
+NVIDIA Corporation GeForce Go 7900 GTX/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce Go 7900
+NVIDIA Corporation GeForce Go 7950 GTX/PCI/SSE2 supported 1 1 2.1 NVIDIA GeForce Go 7900
+NVIDIA Corporation GeForce Go 7950 GTX/PCI/SSE2/3DNOW! supported 1 1 2.1 NVIDIA GeForce Go 7900
+NVIDIA Corporation GeForce PCX 5300/PCI/SSE2 supported 0 0 1.5 NVIDIA GeForce PCX
+NVIDIA Corporation GeForce PCX 5750/PCI/SSE2 supported 0 0 1.5 NVIDIA GeForce PCX
+NVIDIA Corporation GeForce2 GTS/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 2
+NVIDIA Corporation GeForce2 MX/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 2
+NVIDIA Corporation GeForce2 MX/AGP/SSE2/3DNOW! supported 0 1 1.5 NVIDIA GeForce 2
+NVIDIA Corporation GeForce2 MX/PCI/SSE2 supported 0 1 1.5 NVIDIA GeForce 2
+NVIDIA Corporation GeForce3/AGP/SSE2 supported 2 1 2.1 NVIDIA GeForce 3
+NVIDIA Corporation GeForce3/AGP/SSE2/3DNOW! supported 2 1 2.1 NVIDIA GeForce 3
+NVIDIA Corporation GeForce4 420 Go 32M/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 420 Go 32M/AGP/SSE2/3DNOW! supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 420 Go 32M/PCI/SSE2/3DNOW! supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 420 Go/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 4200 Go/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 440 Go 64M/AGP/SSE2/3DNOW! supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 440 Go 64M/PCI/SSE2/3DNOW! supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 440 Go/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 448 Go/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 4000/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 4000/AGP/SSE2/3DNOW! supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 4000/PCI/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 4000/PCI/SSE2/3DNOW! supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 420/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 420/PCI/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 440 with AGP8X/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 440 with AGP8X/AGP/SSE2/3DNOW! supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 440 with AGP8X/PCI/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 440/440SE/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 440/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 440/AGP/SSE2/3DNOW! supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 440/PCI/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 440SE with AGP8X/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 440SE with AGP8X/PCI/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 460/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 MX 460/AGP/SSE2/3DNOW! supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 Ti 4200 with AGP8X/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 Ti 4200 with AGP8X/PCI/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 Ti 4200/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 Ti 4400/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 Ti 4600/AGP/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation GeForce4 Ti 4600/PCI/SSE2 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA Corporation ION LE/PCI/SSE2 supported 2 1 3.3 NVIDIA ION b
+NVIDIA Corporation ION LE/integrated/SSE2 supported 2 1 3.3 NVIDIA ION b
+NVIDIA Corporation ION/PCI/SSE2 supported 2 1 3.3 NVIDIA ION b
+NVIDIA Corporation ION/PCIe/SSE2 supported 2 1 3.3 NVIDIA ION b
+NVIDIA Corporation ION/PCIe/SSE2/3DNOW! supported 2 1 3.3 NVIDIA ION b
+NVIDIA Corporation ION/integrated/SSE2 supported 2 1 3.3 NVIDIA ION b
+NVIDIA Corporation MCP61/PCI/SSE2/3DNOW! supported 1 0 2.1 NVIDIA MCP61
+NVIDIA Corporation MCP7A-O/PCI/SSE2 supported 1 0 0 NVIDIA MCP7A
+NVIDIA Corporation MCP7A-P/PCI/SSE2 supported 1 0 0 NVIDIA MCP7A
+NVIDIA Corporation N10P-GV2/PCI/SSE2 supported 1 0 2.1 NVIDIA N10
+NVIDIA Corporation N11M-GE2/PCI/SSE2 supported 2 0 3.1 NVIDIA Corporation N11M
+NVIDIA Corporation N12P-GVR-B-A1/PCI/SSE2 supported 1 1 4.1 NVIDIA Corporation N12P
+NVIDIA Corporation NB9M-GE1/PCI/SSE2 supported 1 0 0 NVIDIA NB9M
+NVIDIA Corporation NB9M-GS/PCI/SSE2 supported 1 0 0 NVIDIA NB9M
+NVIDIA Corporation NV17/AGP/SSE2 supported 0 0 0 NVIDIA NV17
+NVIDIA Corporation NVIDIA GeForce 210 OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 210
+NVIDIA Corporation NVIDIA GeForce 310M OpenGL Engine supported 2 0 3.3 NVIDIA 310M
+NVIDIA Corporation NVIDIA GeForce 320M OpenGL Engine supported 2 0 3.3 NVIDIA 320M
+NVIDIA Corporation NVIDIA GeForce 6600 GT OpenGL Engine supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA Corporation NVIDIA GeForce 7300 GT OpenGL Engine supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA Corporation NVIDIA GeForce 7600 GT OpenGL Engine supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA Corporation NVIDIA GeForce 7950 GT OpenGL Engine supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA Corporation NVIDIA GeForce 8400 GS OpenGL Engine supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA Corporation NVIDIA GeForce 8500 GT OpenGL Engine supported 2 1 3.3 NVIDIA GeForce 8500
+NVIDIA Corporation NVIDIA GeForce 8600 GT OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation NVIDIA GeForce 8600 GTS OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA Corporation NVIDIA GeForce 8600M GT OpenGL Engine supported 2 1 3.3 NVIDIA GeForce 8600M
+NVIDIA Corporation NVIDIA GeForce 8800 GS OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation NVIDIA GeForce 8800 GT OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation NVIDIA GeForce 8800 GTS 512 OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation NVIDIA GeForce 8800 GTS OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation NVIDIA GeForce 8800 GTX OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation NVIDIA GeForce 8800 Ultra OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA Corporation NVIDIA GeForce 9200M GS OpenGL Engine supported 1 0 3.3 NVIDIA GeForce 9200M
+NVIDIA Corporation NVIDIA GeForce 9400 GT OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 9400
+NVIDIA Corporation NVIDIA GeForce 9400 OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 9400
+NVIDIA Corporation NVIDIA GeForce 9400M OpenGL Engine supported 2 1 3.3 NVIDIA GeForce 9400M
+NVIDIA Corporation NVIDIA GeForce 9500 GT OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 9500
+NVIDIA Corporation NVIDIA GeForce 9600 GT OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA Corporation NVIDIA GeForce 9600M GT OpenGL Engine supported 2 1 3.3 NVIDIA GeForce 9600M
+NVIDIA Corporation NVIDIA GeForce 9800 GT OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation NVIDIA GeForce 9800 GTX+ OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA Corporation NVIDIA GeForce GT 120 OpenGL Engine supported 2 0 3.3 NVIDIA GT 120
+NVIDIA Corporation NVIDIA GeForce GT 130 OpenGL Engine supported 2 0 3.3 NVIDIA GT 130
+NVIDIA Corporation NVIDIA GeForce GT 220 OpenGL Engine supported 2 1 3.3 NVIDIA GT 220
+NVIDIA Corporation NVIDIA GeForce GT 240 OpenGL Engine supported 4 1 3.3 NVIDIA GT 240
+NVIDIA Corporation NVIDIA GeForce GT 320M OpenGL Engine supported 3 0 3.3 NVIDIA GT 320M
+NVIDIA Corporation NVIDIA GeForce GT 330M OpenGL Engine supported 3 1 3.3 NVIDIA GT 330M
+NVIDIA Corporation NVIDIA GeForce GT 430 OpenGL Engine supported 3 1 4.3 NVIDIA GT 430
+NVIDIA Corporation NVIDIA GeForce GT 440 OpenGL Engine supported 4 1 4.3 NVIDIA GT 440
+NVIDIA Corporation NVIDIA GeForce GT 520 OpenGL Engine supported 3 1 4.3 NVIDIA GT 520
+NVIDIA Corporation NVIDIA GeForce GT 630 OpenGL Engine supported 3 0 4.3 NVIDIA GT 63x
+NVIDIA Corporation NVIDIA GeForce GT 640 OpenGL Engine supported 3 0 4.3 NVIDIA GT 64x
+NVIDIA Corporation NVIDIA GeForce GT 640M OpenGL Engine supported 3 0 4.3 NVIDIA GT 640M
+NVIDIA Corporation NVIDIA GeForce GT 650M OpenGL Engine supported 3 0 4.3 NVIDIA GT 650M
+NVIDIA Corporation NVIDIA GeForce GTS 250 OpenGL Engine supported 4 1 3.3 NVIDIA GTS 250
+NVIDIA Corporation NVIDIA GeForce GTS 450 OpenGL Engine supported 4 1 4.3 NVIDIA GTS 450
+NVIDIA Corporation NVIDIA GeForce GTX 260 OpenGL Engine supported 4 1 3.3 NVIDIA GTX 260
+NVIDIA Corporation NVIDIA GeForce GTX 280 OpenGL Engine supported 4 1 3.3 NVIDIA GTX 280
+NVIDIA Corporation NVIDIA GeForce GTX 285 OpenGL Engine supported 4 1 3.3 NVIDIA GTX 280
+NVIDIA Corporation NVIDIA GeForce GTX 460 OpenGL Engine supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA Corporation NVIDIA GeForce GTX 470 OpenGL Engine supported 5 1 4.3 NVIDIA GTX 470
+NVIDIA Corporation NVIDIA GeForce GTX 480 OpenGL Engine supported 5 1 4.3 NVIDIA GTX 480
+NVIDIA Corporation NVIDIA GeForce GTX 550 Ti OpenGL Engine supported 5 1 4.3 NVIDIA GTX 550
+NVIDIA Corporation NVIDIA GeForce GTX 560 OpenGL Engine supported 5 1 4.3 NVIDIA GTX 560
+NVIDIA Corporation NVIDIA GeForce GTX 560 Ti OpenGL Engine supported 5 1 4.3 NVIDIA GTX 560
+NVIDIA Corporation NVIDIA GeForce GTX 570 OpenGL Engine supported 5 1 4.3 NVIDIA GTX 570
+NVIDIA Corporation NVIDIA GeForce GTX 580 OpenGL Engine supported 5 1 4.3 NVIDIA GTX 580
+NVIDIA Corporation NVIDIA GeForce GTX 650 OpenGL Engine supported 3 1 4.3 NVIDIA GTX 65x
+NVIDIA Corporation NVIDIA GeForce GTX 650 Ti OpenGL Engine supported 3 1 4.3 NVIDIA GTX 65x
+NVIDIA Corporation NVIDIA GeForce GTX 660 OpenGL Engine supported 5 0 4.3 NVIDIA GTX 66x
+NVIDIA Corporation NVIDIA GeForce GTX 660 Ti OpenGL Engine supported 5 0 4.3 NVIDIA GTX 66x
+NVIDIA Corporation NVIDIA GeForce GTX 660M OpenGL Engine supported 5 0 4.3 NVIDIA GTX 660M
+NVIDIA Corporation NVIDIA GeForce GTX 670 OpenGL Engine supported 5 1 4.3 NVIDIA GTX 67x
+NVIDIA Corporation NVIDIA GeForce GTX 675MX OpenGL Engine supported 5 1 4.3 NVIDIA GTX 670M
+NVIDIA Corporation NVIDIA GeForce GTX 680 OpenGL Engine supported 5 1 4.3 NVIDIA GTX 68x
+NVIDIA Corporation NVIDIA GeForce GTX 680MX OpenGL Engine supported 5 0 4.3 NVIDIA GTX 680M
+NVIDIA Corporation NVIDIA GeForce GTX 775M OpenGL Engine supported 5 0 4.3 NVIDIA GTX 770M
+NVIDIA Corporation NVIDIA GeForce GTX 780M OpenGL Engine supported 5 0 4.3 NVIDIA GTX 780M
+NVIDIA Corporation NVIDIA GeForce Go 7600 OpenGL Engine supported 1 1 2.1 NVIDIA GeForce Go 7600
+NVIDIA Corporation NVIDIA GeForce Pre-Release D14P2-30 OpenGL Engine supported 2 1 3.3 NVIDIA GeForce Pre-Release
+NVIDIA Corporation NVIDIA GeForce Pre-Release GK104 OpenGL Engine supported 2 1 3.3 NVIDIA GeForce Pre-Release
+NVIDIA Corporation NVIDIA GeForce Pre-Release ION OpenGL Engine supported 2 1 3.3 NVIDIA GeForce Pre-Release
+NVIDIA Corporation NVIDIA GeForce Pre-Release Unknown OpenGL Engine supported 2 1 3.3 NVIDIA GeForce Pre-Release
+NVIDIA Corporation NVIDIA NV34MAP OpenGL Engine supported 0 0 0 NVIDIA NV34
+NVIDIA Corporation NVIDIA Quadro 4000 OpenGL Engine supported 3 0 4.2 NVIDIA Quadro 4000
+NVIDIA Corporation NVIDIA Quadro FX 4500 OpenGL Engine supported 3 0 2.1 NVIDIA Quadro FX 4500
+NVIDIA Corporation NVIDIA Quadro FX 4800 OpenGL Engine supported 3 0 3.1 NVIDIA Quadro FX 4800
+NVIDIA Corporation NVIDIA Quadro FX 5600 OpenGL Engine supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation NVIDIA Quadro FX 580 OpenGL Engine supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation NVIDIA Quadro FX 770M OpenGL Engine supported 2 0 3.3 NVIDIA Quadro FX 770M
+NVIDIA Corporation NVS 2100M/PCI/SSE2 supported 2 0 3.3 NVIDIA Quadro NVS 2100M
+NVIDIA Corporation NVS 2100M/PCIe/SSE2 supported 2 0 3.3 NVIDIA Quadro NVS 2100M
+NVIDIA Corporation NVS 300/PCI/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation NVS 300/PCI/SSE2/3DNOW! supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation NVS 300/PCIe/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation NVS 310/PCIe/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation NVS 3100M/PCI/SSE2 supported 2 0 3.3 NVIDIA Quadro NVS 3100M
+NVIDIA Corporation NVS 3100M/PCIe/SSE2 supported 2 0 3.3 NVIDIA Quadro NVS 3100M
+NVIDIA Corporation NVS 315/PCIe/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation NVS 4200M/PCI/SSE2 supported 2 0 4.2 NVIDIA Quadro NVS 4200M
+NVIDIA Corporation NVS 4200M/PCIe/SSE2 supported 2 0 4.2 NVIDIA Quadro NVS 4200M
+NVIDIA Corporation NVS 510/PCIe/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation NVS 5100M/PCI/SSE2 supported 2 0 0 NVIDIA Quadro NVS 5100M
+NVIDIA Corporation NVS 5100M/PCIe/SSE2 supported 2 0 0 NVIDIA Quadro NVS 5100M
+NVIDIA Corporation NVS 5200M/PCI/SSE2 supported 2 0 0 NVIDIA Quadro NVS 5200M
+NVIDIA Corporation NVS 5200M/PCIe/SSE2 supported 2 0 0 NVIDIA Quadro NVS 5200M
+NVIDIA Corporation NVS 5400M/PCIe/SSE2 supported 2 0 0 NVIDIA Quadro NVS 5400M
+NVIDIA Corporation Quadro 1000M/PCI/SSE2 supported 2 0 4.2 NVIDIA Quadro 1000M
+NVIDIA Corporation Quadro 1000M/PCIe/SSE2 supported 2 0 4.2 NVIDIA Quadro 1000M
+NVIDIA Corporation Quadro 1100M/PCIe/SSE2 supported 2 0 3.3 NVIDIA Quadro 1100M
+NVIDIA Corporation Quadro 2000 D/PCI/SSE2 supported 3 0 4.2 NVIDIA Quadro 2000 M/D
+NVIDIA Corporation Quadro 2000/PCI/SSE2 supported 3 0 4.2 NVIDIA Quadro 2000 M/D
+NVIDIA Corporation Quadro 2000/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 2000 M/D
+NVIDIA Corporation Quadro 2000D/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 2000 M/D
+NVIDIA Corporation Quadro 2000M/PCI/SSE2 supported 3 0 4.2 NVIDIA Quadro 2000 M/D
+NVIDIA Corporation Quadro 2000M/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 2000 M/D
+NVIDIA Corporation Quadro 3000M/PCI/SSE2 supported 3 0 4.2 NVIDIA Quadro 3000M
+NVIDIA Corporation Quadro 3000M/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 3000M
+NVIDIA Corporation Quadro 400/PCI/SSE2 supported 2 0 3.3 NVIDIA Quadro 400
+NVIDIA Corporation Quadro 400/PCI/SSE2/3DNOW! supported 2 0 3.3 NVIDIA Quadro 400
+NVIDIA Corporation Quadro 400/PCIe/SSE2 supported 2 0 3.3 NVIDIA Quadro 400
+NVIDIA Corporation Quadro 4000/PCI/SSE2 supported 3 0 4.2 NVIDIA Quadro 4000
+NVIDIA Corporation Quadro 4000/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 4000
+NVIDIA Corporation Quadro 4000M/PCI/SSE2 supported 3 0 4.2 NVIDIA Quadro 4000M
+NVIDIA Corporation Quadro 4000M/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 4000M
+NVIDIA Corporation Quadro 410/PCIe/SSE2 supported 3 0 3.3 NVIDIA 410
+NVIDIA Corporation Quadro 5000/PCI/SSE2 supported 3 0 4.2 NVIDIA Quadro 50x0 M
+NVIDIA Corporation Quadro 5000/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 50x0 M
+NVIDIA Corporation Quadro 5000M/PCI/SSE2 supported 3 0 4.2 NVIDIA Quadro 50x0 M
+NVIDIA Corporation Quadro 5000M/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 50x0 M
+NVIDIA Corporation Quadro 5010M/PCI/SSE2 supported 3 0 4.2 NVIDIA Quadro 50x0 M
+NVIDIA Corporation Quadro 5010M/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 50x0 M
+NVIDIA Corporation Quadro 600/PCI/SSE2 supported 2 0 4.2 NVIDIA Quadro K600
+NVIDIA Corporation Quadro 600/PCIe/SSE2 supported 2 0 4.2 NVIDIA Quadro K600
+NVIDIA Corporation Quadro 600/PCIe/SSE2/3DNOW! supported 2 0 4.2 NVIDIA Quadro K600
+NVIDIA Corporation Quadro 6000/PCIe/SSE2 supported 3 0 0 NVIDIA Quadro 6000
+NVIDIA Corporation Quadro FX 1000/AGP/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1100/AGP/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1300/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1400/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1400/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1400/PCIe/SSE2/3DNOW! supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1500/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1500/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1500/PCIe/SSE2/3DNOW! supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1500M/PCI/SSE2 supported 1 0 2.1 NVIDIA Quadro FX 1500M
+NVIDIA Corporation Quadro FX 1600M/PCI/SSE2 supported 2 0 3.3 NVIDIA Quadro FX 1600M
+NVIDIA Corporation Quadro FX 1600M/PCIe/SSE2 supported 2 0 3.3 NVIDIA Quadro FX 1600M
+NVIDIA Corporation Quadro FX 1700/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1700/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1700/PCIe/SSE2/3DNOW! supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1700M/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1700M/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1800/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1800/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1800M/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 1800M/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 2000/AGP/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 2500M/PCI/SSE2 supported 2 0 2.1 NVIDIA Quadro FX 2500M
+NVIDIA Corporation Quadro FX 2500M/PCIe/SSE2 supported 2 0 2.1 NVIDIA Quadro FX 2500M
+NVIDIA Corporation Quadro FX 2700M/PCI/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 2700M
+NVIDIA Corporation Quadro FX 2700M/PCIe/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 2700M
+NVIDIA Corporation Quadro FX 2800M/PCI/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 2800M
+NVIDIA Corporation Quadro FX 2800M/PCIe/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 2800M
+NVIDIA Corporation Quadro FX 3000/AGP/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 3400/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 3450/4000 SDI/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 3450/4000 SDI/PCI/SSE2/3DNOW! supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 3450/4000 SDI/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 3500/PCI/SSE2 supported 2 0 2.1 NVIDIA Quadro FX 3500
+NVIDIA Corporation Quadro FX 3500/PCIe/SSE2 supported 2 0 2.1 NVIDIA Quadro FX 3500
+NVIDIA Corporation Quadro FX 3500M/PCI/SSE2 supported 2 0 2.1 NVIDIA Quadro FX 3500
+NVIDIA Corporation Quadro FX 350M/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 3600M/PCI/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 3600
+NVIDIA Corporation Quadro FX 3600M/PCIe/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 3600
+NVIDIA Corporation Quadro FX 360M/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 360M/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 370 Low Profile/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 370/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 370/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 370/PCIe/SSE2/3DNOW! supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 3700/PCI/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 3700
+NVIDIA Corporation Quadro FX 3700/PCIe/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 3700
+NVIDIA Corporation Quadro FX 3700M/PCI/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 3700
+NVIDIA Corporation Quadro FX 3700M/PCIe/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 3700
+NVIDIA Corporation Quadro FX 370M/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 370M/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 380 LP/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 380 LP/PCIe/SSE2/3DNOW! supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 380/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 380/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 3800/PCI/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 3800
+NVIDIA Corporation Quadro FX 3800/PCIe/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 3800
+NVIDIA Corporation Quadro FX 3800M/PCI/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 3800
+NVIDIA Corporation Quadro FX 3800M/PCIe/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 3800
+NVIDIA Corporation Quadro FX 380M/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 380M/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 4500/PCI/SSE2 supported 3 0 2.1 NVIDIA Quadro FX 4500
+NVIDIA Corporation Quadro FX 4500/PCIe/SSE2 supported 3 0 2.1 NVIDIA Quadro FX 4500
+NVIDIA Corporation Quadro FX 4600/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 4800/PCI/SSE2 supported 3 0 3.1 NVIDIA Quadro FX 4800
+NVIDIA Corporation Quadro FX 4800/PCIe/SSE2 supported 3 0 3.1 NVIDIA Quadro FX 4800
+NVIDIA Corporation Quadro FX 500/AGP/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 500/FX 600/AGP/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 500/FX 600/AGP/SSE2/3DNOW! supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 500/FX 600/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 540/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 540/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 550/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 550/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 5500/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 560/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 560/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 5600/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 570/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 570/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 570M/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 570M/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 580/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 580/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 5800/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX 770M/PCI/SSE2 supported 2 0 3.3 NVIDIA Quadro FX 770M
+NVIDIA Corporation Quadro FX 770M/PCIe/SSE2 supported 2 0 3.3 NVIDIA Quadro FX 770M
+NVIDIA Corporation Quadro FX 880M/PCI/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 880M
+NVIDIA Corporation Quadro FX 880M/PCIe/SSE2 supported 3 0 3.3 NVIDIA Quadro FX 880M
+NVIDIA Corporation Quadro FX Go1400/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX Go1400/PCIe/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro FX Go700/AGP/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation Quadro K1000/PCIe/SSE2 supported 2 0 4.2 NVIDIA Quadro K1000
+NVIDIA Corporation Quadro K1000M/PCIe/SSE2 supported 2 0 4.2 NVIDIA Quadro 1000M
+NVIDIA Corporation Quadro K2000/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 2000 M/D
+NVIDIA Corporation Quadro K2000D/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 2000 M/D
+NVIDIA Corporation Quadro K2000M/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 2000 M/D
+NVIDIA Corporation Quadro K3000M/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 3000M
+NVIDIA Corporation Quadro K4000/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 4000
+NVIDIA Corporation Quadro K4000M/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 4000M
+NVIDIA Corporation Quadro K5000/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 50x0 M
+NVIDIA Corporation Quadro K5000M/PCIe/SSE2 supported 3 0 4.2 NVIDIA Quadro 50x0 M
+NVIDIA Corporation Quadro K600/PCIe/SSE2 supported 2 0 4.2 NVIDIA Quadro K600
+NVIDIA Corporation Quadro NVS 110M/PCI/SSE2 supported 0 1 3.3 NVIDIA Quadro NVS 1xxM
+NVIDIA Corporation Quadro NVS 130M/PCI/SSE2 supported 0 1 3.3 NVIDIA Quadro NVS 1xxM
+NVIDIA Corporation Quadro NVS 130M/PCIe/SSE2 supported 0 1 3.3 NVIDIA Quadro NVS 1xxM
+NVIDIA Corporation Quadro NVS 135M/PCI/SSE2 supported 0 1 3.3 NVIDIA Quadro NVS 1xxM
+NVIDIA Corporation Quadro NVS 135M/PCIe/SSE2 supported 0 1 3.3 NVIDIA Quadro NVS 1xxM
+NVIDIA Corporation Quadro NVS 140M/PCI/SSE2 supported 0 1 3.3 NVIDIA Quadro NVS 1xxM
+NVIDIA Corporation Quadro NVS 140M/PCIe/SSE2 supported 0 1 3.3 NVIDIA Quadro NVS 1xxM
+NVIDIA Corporation Quadro NVS 150M/PCI/SSE2 supported 0 1 3.3 NVIDIA Quadro NVS 1xxM
+NVIDIA Corporation Quadro NVS 150M/PCIe/SSE2 supported 0 1 3.3 NVIDIA Quadro NVS 1xxM
+NVIDIA Corporation Quadro NVS 160M/PCI/SSE2 supported 0 1 3.3 NVIDIA Quadro NVS 1xxM
+NVIDIA Corporation Quadro NVS 160M/PCIe/SSE2 supported 0 1 3.3 NVIDIA Quadro NVS 1xxM
+NVIDIA Corporation Quadro NVS 210S / GeForce 6150LE/PCI/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 210S / GeForce 6150LE/PCI/SSE2/3DNOW! supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 210S / GeForce 6150LE/integrated/SSE2/3DNOW! supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 210S / NVIDIA GeForce 6150LE/PCI/SSE2/3DNOW! supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 210S/PCI/SSE2/3DNOW! supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 280 PCI-E/PCI/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 280 SD/AGP/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 285/PCI/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 285/PCIe/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 290/PCI/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 290/PCIe/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 290/PCIe/SSE2/3DNOW! supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 295/PCI/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 295/PCIe/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 300M/PCI/SSE2 supported 2 0 0 NVIDIA Quadro NVS 300M
+NVIDIA Corporation Quadro NVS 320M/PCI/SSE2 supported 2 0 0 NVIDIA Quadro NVS 320M
+NVIDIA Corporation Quadro NVS 320M/PCIe/SSE2 supported 2 0 0 NVIDIA Quadro NVS 320M
+NVIDIA Corporation Quadro NVS 420/PCI/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 420/PCIe/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 420/PCIe/SSE2/3DNOW! supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 450/PCIe/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 510M/PCI/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS 55/280 PCI/PCI/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS with AGP8X/AGP/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro NVS/AGP/SSE2 supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Corporation Quadro PCI-E Series/PCI/SSE2 NO MATCH
+NVIDIA Corporation Quadro2 MXR/AGP/SSE2 supported 0 0 1.5 NVIDIA Quadro2
+NVIDIA Corporation Quadro4 380 XGL/AGP/SSE2 supported 0 0 1.5 NVIDIA Quadro4
+NVIDIA Corporation Quadro4 550 XGL/AGP/SSE2 supported 0 0 1.5 NVIDIA Quadro4
+NVIDIA Corporation Quadro4 700 XGL/AGP/SSE2 supported 0 0 1.5 NVIDIA Quadro4
+NVIDIA Corporation Quadro4 980 XGL/AGP/SSE2 supported 0 0 1.5 NVIDIA Quadro4
+NVIDIA Corporation RIVA TNT2/AGP/SSE2 unsupported 0 0 1.5 NVIDIA RIVA TNT
+NVIDIA Corporation RIVA TNT2/AGP/SSE2/3DNOW! unsupported 0 0 1.5 NVIDIA RIVA TNT
+NVIDIA Corporation Stinger/emulated by Quadro FX 500/FX 600/PCI/SSE2 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Corporation nForce 750a SLI/PCI/SSE2 unsupported 0 0 3.3 NVIDIA nForce
+NVIDIA Corporation nForce 750a SLI/integrated/SSE2 unsupported 0 0 3.3 NVIDIA nForce
+NVIDIA Corporation nForce 760i SLI/integrated/SSE2 unsupported 0 0 3.3 NVIDIA nForce
+NVIDIA Corporation nForce 980a/780a SLI/integrated/SSE2 unsupported 0 0 3.3 NVIDIA nForce
+NVIDIA Corporation unknown board/AGP/SSE2 unsupported 0 0 2.1 NVIDIA Generic Unknown
+NVIDIA Corporation unknown board/PCI/SSE2 unsupported 0 0 2.1 NVIDIA Generic Unknown
+NVIDIA Corporation unknown board/PCI/SSE2/3DNOW! unsupported 0 0 2.1 NVIDIA Generic Unknown
+NVIDIA Corporation unknown board/PCIe/SSE2 unsupported 0 0 2.1 NVIDIA Generic Unknown
+NVIDIA D9M supported 1 0 0 NVIDIA D9M
+NVIDIA G 103M supported 1 1 3.3 NVIDIA G 100M
+NVIDIA G 105M supported 1 1 3.3 NVIDIA G 100M
+NVIDIA G 110M supported 1 1 3.3 NVIDIA G 110M
+NVIDIA G 120M supported 1 1 3.3 NVIDIA G 120M
+NVIDIA G 200 supported 2 1 3.3 NVIDIA G200
+NVIDIA G 205M supported 1 0 0 NVIDIA G 200M
+NVIDIA G 210 supported 3 1 3.3 NVIDIA G210
+NVIDIA G 310M supported 2 0 3.3 NVIDIA G 310M
+NVIDIA G 320M supported 3 0 3.3 NVIDIA GT 320M
+NVIDIA G 405 supported 3 0 3.3 NVIDIA 405
+NVIDIA G 410M supported 3 1 4.2 NVIDIA G 410M
+NVIDIA G 610M supported 3 1 4.3 NVIDIA 610M
+NVIDIA G100 supported 3 1 4.2 NVIDIA G100
+NVIDIA G100M supported 1 1 3.3 NVIDIA G 100M
+NVIDIA G102M supported 1 1 3.3 NVIDIA G 100M
+NVIDIA G103M supported 1 1 3.3 NVIDIA G 100M
+NVIDIA G105M supported 1 1 3.3 NVIDIA G 100M
+NVIDIA G200 supported 2 1 3.3 NVIDIA G200
+NVIDIA G210 supported 3 1 3.3 NVIDIA G210
+NVIDIA G210M supported 3 0 3.3 NVIDIA G210M
+NVIDIA G73 supported 1 0 0 NVIDIA G73
+NVIDIA G84 supported 2 0 0 NVIDIA G84
+NVIDIA G92 supported 3 0 0 NVIDIA G92
+NVIDIA G94 supported 3 0 0 NVIDIA G94
+NVIDIA GT 120 supported 2 0 3.3 NVIDIA GT 120
+NVIDIA GT 120M supported 2 0 3.3 NVIDIA GT 120
+NVIDIA GT 130 supported 2 0 3.3 NVIDIA GT 130
+NVIDIA GT 130M supported 3 1 3.3 NVIDIA GT 130M
+NVIDIA GT 140 supported 2 0 3.3 NVIDIA GT 140
+NVIDIA GT 140M supported 3 1 3.3 NVIDIA GT 140M
+NVIDIA GT 150 supported 2 1 3.3 NVIDIA GT 150
+NVIDIA GT 220 supported 2 1 3.3 NVIDIA GT 220
+NVIDIA GT 220M supported 3 1 3.3 NVIDIA GT 220M
+NVIDIA GT 230 supported 2 1 3.3 NVIDIA GT 230
+NVIDIA GT 230M supported 3 1 3.3 NVIDIA GT 230M
+NVIDIA GT 240 supported 4 1 3.3 NVIDIA GT 240
+NVIDIA GT 240M supported 3 1 3.3 NVIDIA GT 240M
+NVIDIA GT 260M supported 3 1 3.3 NVIDIA GT 260M
+NVIDIA GT 320 supported 3 0 3.3 NVIDIA GT 320
+NVIDIA GT 320M supported 3 0 3.3 NVIDIA GT 320M
+NVIDIA GT 325M supported 3 0 3.3 NVIDIA GT 320M
+NVIDIA GT 330 supported 3 0 3.3 NVIDIA GT 330
+NVIDIA GT 330M supported 3 1 3.3 NVIDIA GT 330M
+NVIDIA GT 335M supported 3 1 3.3 NVIDIA GT 330M
+NVIDIA GT 340 supported 3 0 0 NVIDIA GT 340
+NVIDIA GT 340M supported 4 1 3.3 NVIDIA GT 340M
+NVIDIA GT 415M supported 3 0 0 NVIDIA 410M
+NVIDIA GT 420 supported 3 1 4.3 NVIDIA GT 420
+NVIDIA GT 420M supported 3 1 4.3 NVIDIA GT 420M
+NVIDIA GT 425M supported 3 1 4.3 NVIDIA GT 420M
+NVIDIA GT 430 supported 3 1 4.3 NVIDIA GT 430
+NVIDIA GT 430M supported 3 1 4.3 NVIDIA GT 430M
+NVIDIA GT 435M supported 3 1 4.3 NVIDIA GT 430M
+NVIDIA GT 440 supported 4 1 4.3 NVIDIA GT 440
+NVIDIA GT 440M supported 3 1 4.3 NVIDIA GT 440M
+NVIDIA GT 445M supported 3 1 4.3 NVIDIA GT 440M
+NVIDIA GT 450 supported 4 1 4.3 NVIDIA GT 450
+NVIDIA GT 520 supported 3 1 4.3 NVIDIA GT 520
+NVIDIA GT 520M supported 3 1 4.3 NVIDIA GT 520M
+NVIDIA GT 525M supported 3 1 4.3 NVIDIA GT 520M
+NVIDIA GT 530M supported 3 1 4.3 NVIDIA GT 530M
+NVIDIA GT 540 supported 3 1 4.3 NVIDIA GT 540
+NVIDIA GT 540M supported 3 1 4.3 NVIDIA GT 540M
+NVIDIA GT 550 supported 3 1 4.3 NVIDIA GT 550
+NVIDIA GT 550M supported 3 1 4.3 NVIDIA GT 550M
+NVIDIA GT 555M supported 3 1 4.3 NVIDIA GT 550M
+NVIDIA GT 610 supported 3 1 4.3 NVIDIA GT 61x
+NVIDIA GT 620 supported 3 0 4.3 NVIDIA GT 62x
+NVIDIA GT 620M supported 3 0 4.3 NVIDIA GT 620M
+NVIDIA GT 630 supported 3 0 4.3 NVIDIA GT 63x
+NVIDIA GT 630M supported 3 0 4.3 NVIDIA GT 630M
+NVIDIA GT 635M supported 3 0 4.3 NVIDIA GT 630M
+NVIDIA GT 640 supported 3 0 4.3 NVIDIA GT 64x
+NVIDIA GT 640M supported 3 0 4.3 NVIDIA GT 640M
+NVIDIA GT 650 supported 3 1 4.3 NVIDIA GT 65x
+NVIDIA GT 650M supported 3 0 4.3 NVIDIA GT 650M
+NVIDIA GTS 160M supported 2 0 0 NVIDIA GTS 160M
+NVIDIA GTS 240 supported 4 1 3.3 NVIDIA GTS 240
+NVIDIA GTS 250 supported 4 1 3.3 NVIDIA GTS 250
+NVIDIA GTS 350M supported 4 1 3.3 NVIDIA GTS 350M
+NVIDIA GTS 360 supported 4 1 3.3 NVIDIA GTS 360
+NVIDIA GTS 360M supported 5 1 3.3 NVIDIA GTS 360M
+NVIDIA GTS 450 supported 4 1 4.3 NVIDIA GTS 450
+NVIDIA GTX 260 supported 4 1 3.3 NVIDIA GTX 260
+NVIDIA GTX 270 supported 4 0 3.3 NVIDIA GTX 270
+NVIDIA GTX 275 supported 4 0 3.3 NVIDIA GTX 270
+NVIDIA GTX 280 supported 4 1 3.3 NVIDIA GTX 280
+NVIDIA GTX 285 supported 4 1 3.3 NVIDIA GTX 280
+NVIDIA GTX 290 supported 5 0 3.3 NVIDIA GTX 290
+NVIDIA GTX 295 supported 5 0 3.3 NVIDIA GTX 290
+NVIDIA GTX 460 supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA GTX 460M supported 4 1 4.3 NVIDIA GTX 460M
+NVIDIA GTX 465 supported 5 1 4.3 NVIDIA GTX 460
+NVIDIA GTX 470 supported 5 1 4.3 NVIDIA GTX 470
+NVIDIA GTX 470M supported 3 0 4.3 NVIDIA GTX 470M
+NVIDIA GTX 480 supported 5 1 4.3 NVIDIA GTX 480
+NVIDIA GTX 480M supported 3 1 4.3 NVIDIA GTX 480M
+NVIDIA GTX 485M supported 3 1 4.3 NVIDIA GTX 480M
+NVIDIA GTX 550 supported 5 1 4.3 NVIDIA GTX 550
+NVIDIA GTX 560 supported 5 1 4.3 NVIDIA GTX 560
+NVIDIA GTX 560 Ti supported 5 1 4.3 NVIDIA GTX 560
+NVIDIA GTX 570 supported 5 1 4.3 NVIDIA GTX 570
+NVIDIA GTX 580 supported 5 1 4.3 NVIDIA GTX 580
+NVIDIA GTX 580M supported 5 1 4.3 NVIDIA GTX 580M
+NVIDIA GTX 590 supported 5 1 4.3 NVIDIA GTX 590
+NVIDIA GTX 650 supported 3 1 4.3 NVIDIA GTX 65x
+NVIDIA GTX 660 supported 5 0 4.3 NVIDIA GTX 66x
+NVIDIA GTX 670 supported 5 1 4.3 NVIDIA GTX 67x
+NVIDIA GTX 670M supported 5 1 4.3 NVIDIA GTX 670M
+NVIDIA GTX 675M supported 5 1 4.3 NVIDIA GTX 670M
+NVIDIA GTX 680 supported 5 1 4.3 NVIDIA GTX 68x
+NVIDIA GTX 680M supported 5 0 4.3 NVIDIA GTX 680M
+NVIDIA GTX 690 supported 5 1 4.3 NVIDIA GTX 69x
+NVIDIA GTX 770 supported 5 0 4.3 NVIDIA GTX 77x
+NVIDIA GTX TITAN supported 5 0 4.3 NVIDIA GTX TITAN
+NVIDIA GeForce 2 supported 0 1 1.5 NVIDIA GeForce 2
+NVIDIA GeForce 3 supported 2 1 2.1 NVIDIA GeForce 3
+NVIDIA GeForce 4 supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA GeForce 4 Go supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA GeForce 4 MX supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA GeForce 4 Ti supported 0 1 1.5 NVIDIA GeForce 4
+NVIDIA GeForce 6100 supported 3 1 4.2 NVIDIA GeForce 6100
+NVIDIA GeForce 6200 supported 0 1 2.1 NVIDIA GeForce 6200
+NVIDIA GeForce 6500 supported 1 1 2.1 NVIDIA GeForce 6500
+NVIDIA GeForce 6600 supported 2 1 2.1 NVIDIA GeForce 6600
+NVIDIA GeForce 6700 supported 2 1 2.1 NVIDIA GeForce 6700
+NVIDIA GeForce 6800 supported 1 1 2.1 NVIDIA GeForce 6800
+NVIDIA GeForce 7000 supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA GeForce 7000M supported 1 1 2.1 NVIDIA GeForce 7000
+NVIDIA GeForce 7100 supported 1 1 2.1 NVIDIA GeForce 7100
+NVIDIA GeForce 7300 supported 1 1 2.1 NVIDIA GeForce 7300
+NVIDIA GeForce 7500 supported 2 1 2.1 NVIDIA GeForce 7500
+NVIDIA GeForce 7600 supported 2 1 2.1 NVIDIA GeForce 7600
+NVIDIA GeForce 7800 supported 2 1 2.1 NVIDIA GeForce 7800
+NVIDIA GeForce 7900 supported 3 1 2.1 NVIDIA GeForce 7900
+NVIDIA GeForce 8100 supported 1 0 3.3 NVIDIA GeForce 8100
+NVIDIA GeForce 8200 supported 1 0 3.3 NVIDIA GeForce 8200
+NVIDIA GeForce 8200M supported 1 0 3.3 NVIDIA GeForce 8200M
+NVIDIA GeForce 8300 supported 3 1 3.3 NVIDIA GeForce 8300
+NVIDIA GeForce 8400 supported 2 1 3.3 NVIDIA GeForce 8400
+NVIDIA GeForce 8400M supported 1 1 3.3 NVIDIA GeForce 8400M
+NVIDIA GeForce 8500 supported 2 1 3.3 NVIDIA GeForce 8500
+NVIDIA GeForce 8600 supported 3 1 3.3 NVIDIA GeForce 8600
+NVIDIA GeForce 8600M supported 2 1 3.3 NVIDIA GeForce 8600M
+NVIDIA GeForce 8700 supported 3 0 0 NVIDIA GeForce 8700
+NVIDIA GeForce 8700M supported 2 1 3.3 NVIDIA GeForce 8700M
+NVIDIA GeForce 8800 supported 3 1 3.3 NVIDIA GeForce 8800
+NVIDIA GeForce 8800M supported 2 1 3.3 NVIDIA GeForce 8800M
+NVIDIA GeForce 9100 supported 0 0 3.3 NVIDIA GeForce 9100
+NVIDIA GeForce 9100M supported 0 0 3.3 NVIDIA GeForce 9100M
+NVIDIA GeForce 9200 supported 1 0 3.3 NVIDIA GeForce 9200
+NVIDIA GeForce 9200M supported 1 0 3.3 NVIDIA GeForce 9200M
+NVIDIA GeForce 9300 supported 1 1 3.3 NVIDIA GeForce 9300
+NVIDIA GeForce 9300M supported 1 1 3.3 NVIDIA GeForce 9300M
+NVIDIA GeForce 9400 supported 3 1 3.3 NVIDIA GeForce 9400
+NVIDIA GeForce 9400M supported 2 1 3.3 NVIDIA GeForce 9400M
+NVIDIA GeForce 9500 supported 3 1 3.3 NVIDIA GeForce 9500
+NVIDIA GeForce 9500M supported 1 1 3.3 NVIDIA GeForce 9500M
+NVIDIA GeForce 9600 supported 3 1 3.3 NVIDIA GeForce 9600
+NVIDIA GeForce 9600M supported 2 1 3.3 NVIDIA GeForce 9600M
+NVIDIA GeForce 9700M supported 0 1 3.3 NVIDIA GeForce 9700M
+NVIDIA GeForce 9800 supported 3 1 3.3 NVIDIA GeForce 9800
+NVIDIA GeForce 9800M supported 2 1 3.3 NVIDIA GeForce 9800M
+NVIDIA GeForce FX 5200 supported 0 0 2.1 NVIDIA GeForce FX 5200
+NVIDIA GeForce FX 5500 supported 0 1 2.1 NVIDIA GeForce FX 5500
+NVIDIA GeForce FX 5600 supported 1 1 2.1 NVIDIA GeForce FX 5600
+NVIDIA GeForce FX 5700 supported 0 1 2.1 NVIDIA GeForce FX 5700
+NVIDIA GeForce FX 5900 supported 1 1 2.1 NVIDIA GeForce FX 5900
+NVIDIA GeForce FX Go5100 supported 3 0 0 NVIDIA 510
+NVIDIA GeForce FX Go5200 supported 0 0 1.5 NVIDIA GeForce FX Go5200
+NVIDIA GeForce FX Go5600 supported 0 1 2.1 NVIDIA GeForce FX Go5600
+NVIDIA GeForce FX Go5700 supported 1 1 1.5 NVIDIA GeForce FX Go5700
+NVIDIA GeForce Go 6 supported 1 0 0 NVIDIA GeForce Go 6
+NVIDIA GeForce Go 6100 supported 0 1 2.1 NVIDIA GeForce Go 6100
+NVIDIA GeForce Go 6200 supported 0 0 1.5 NVIDIA GeForce Go 6200
+NVIDIA GeForce Go 6400 supported 1 1 2.1 NVIDIA GeForce Go 6400
+NVIDIA GeForce Go 6600 supported 0 1 2.1 NVIDIA GeForce Go 6600
+NVIDIA GeForce Go 6800 supported 0 1 2.1 NVIDIA GeForce Go 6800
+NVIDIA GeForce Go 7200 supported 1 0 2.1 NVIDIA GeForce Go 7200
+NVIDIA GeForce Go 7300 supported 1 1 2.1 NVIDIA GeForce Go 7300
+NVIDIA GeForce Go 7400 supported 1 1 2.1 NVIDIA GeForce Go 7400
+NVIDIA GeForce Go 7600 supported 1 1 2.1 NVIDIA GeForce Go 7600
+NVIDIA GeForce Go 7700 supported 0 1 2.1 NVIDIA GeForce Go 7700
+NVIDIA GeForce Go 7800 supported 2 0 0 NVIDIA GeForce Go 7800
+NVIDIA GeForce Go 7900 supported 1 1 2.1 NVIDIA GeForce Go 7900
+NVIDIA GeForce PCX supported 0 0 1.5 NVIDIA GeForce PCX
+NVIDIA Generic unsupported 0 0 2.1 NVIDIA Generic
+NVIDIA ION supported 2 1 3.3 NVIDIA ION a
+NVIDIA MCP61 supported 1 0 2.1 NVIDIA MCP61
+NVIDIA NV34 supported 0 0 0 NVIDIA NV34
+NVIDIA PCI unsupported 0 0 2.1 NVIDIA PCI
+NVIDIA Quadro 2000 supported 3 0 4.2 NVIDIA Quadro 2000 M/D
+NVIDIA Quadro 2000 M/D supported 3 0 4.2 NVIDIA Quadro 2000 M/D
+NVIDIA Quadro 3000M supported 3 0 4.2 NVIDIA Quadro 3000M
+NVIDIA Quadro 400 supported 2 0 3.3 NVIDIA Quadro 400
+NVIDIA Quadro 4000 supported 3 0 4.2 NVIDIA Quadro 4000
+NVIDIA Quadro 4000M supported 3 0 4.2 NVIDIA Quadro 4000M
+NVIDIA Quadro 50x0 M supported 3 0 4.2 NVIDIA Quadro 50x0 M
+NVIDIA Quadro 600 supported 2 0 4.2 NVIDIA Quadro 600
+NVIDIA Quadro 6000 supported 3 0 0 NVIDIA Quadro 6000
+NVIDIA Quadro FX supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Quadro FX 1500M supported 1 0 2.1 NVIDIA Quadro FX 1500M
+NVIDIA Quadro FX 1800 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Quadro FX 2500M supported 2 0 2.1 NVIDIA Quadro FX 2500M
+NVIDIA Quadro FX 2700M supported 3 0 3.3 NVIDIA Quadro FX 2700M
+NVIDIA Quadro FX 2800M supported 3 0 3.3 NVIDIA Quadro FX 2800M
+NVIDIA Quadro FX 3500 supported 2 0 2.1 NVIDIA Quadro FX 3500
+NVIDIA Quadro FX 3700 supported 3 0 3.3 NVIDIA Quadro FX 3700
+NVIDIA Quadro FX 3800 supported 3 0 3.3 NVIDIA Quadro FX 3800
+NVIDIA Quadro FX 4500 supported 3 0 2.1 NVIDIA Quadro FX 4500
+NVIDIA Quadro FX 4800 supported 3 0 3.1 NVIDIA Quadro FX 4800
+NVIDIA Quadro FX 550 supported 1 0 3.3 NVIDIA Quadro FX
+NVIDIA Quadro FX 770M supported 2 0 3.3 NVIDIA Quadro FX 770M
+NVIDIA Quadro FX 880M supported 3 0 3.3 NVIDIA Quadro FX 880M
+NVIDIA Quadro NVS supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Quadro NVS 1xxM supported 0 0 4.2 NVIDIA Quadro NVS
+NVIDIA Quadro NVS 4200M supported 2 0 4.2 NVIDIA Quadro NVS 4200M
+NVIDIA Quadro2 supported 0 0 1.5 NVIDIA Quadro2
+NVIDIA nForce unsupported 0 0 3.3 NVIDIA nForce
+Oracle VirtualBox Graphics supported 0 1 2.1 Oracle
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon Barts XT Prototype OpenGL Engine supported 3 1 2.1 AMD BARTS (HD 6800)
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 2600 OpenGL Engine supported 2 1 4 ATI Radeon HD 2600
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 2600 PRO OpenGL Engine supported 2 1 4 ATI Radeon HD 2600
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 4670 OpenGL Engine supported 3 1 4 ATI Radeon HD 4600
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 4850 OpenGL Engine supported 3 1 4 ATI Radeon HD 4800
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 5670 OpenGL Engine supported 3 1 4.2 ATI Radeon HD 5600
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 5750 OpenGL Engine supported 3 1 4.2 ATI Radeon HD 5700
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 5770 OpenGL Engine supported 3 1 4.2 ATI Radeon HD 5700
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6630M OpenGL Engine supported 3 1 4.2 ATI Radeon HD 6600
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6750M OpenGL Engine supported 3 1 4.2 ATI Radeon HD 6700
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6770M OpenGL Engine supported 3 1 4.2 ATI Radeon HD 6700
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6970M OpenGL Engine supported 5 1 4.2 ATI Radeon HD 6900
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon X1600 OpenGL Engine supported 2 1 2.1 ATI Radeon X1600
+Parallels and Intel Inc. Parallels using Intel GMA X3100 OpenGL Engine supported 1 1 2.1 Intel X3100
+Parallels and Intel Inc. Parallels using Intel HD Graphics 3000 OpenGL Engine supported 3 1 3.1 Intel HD Graphics 3000
+Parallels and Intel Inc. Parallels using Intel HD Graphics 4000 OpenGL Engine supported 3 1 4.2 Intel HD Graphics 4000
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce 320M OpenGL Engine supported 2 0 3.3 NVIDIA 320M
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce 8800 GS OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 8800
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce 9400 OpenGL Engine supported 3 1 3.3 NVIDIA GeForce 9400
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce 9400M OpenGL Engine supported 2 1 3.3 NVIDIA GeForce 9400M
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce 9600M GT OpenGL Engine supported 2 1 3.3 NVIDIA GeForce 9600M
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GT 130 OpenGL Engine supported 2 0 3.3 NVIDIA GT 130
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GT 330M OpenGL Engine supported 3 1 3.3 NVIDIA GT 330M
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GT 640 OpenGL Engine supported 3 0 4.3 NVIDIA GT 64x
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GT 640M OpenGL Engine supported 3 0 4.3 NVIDIA GT 640M
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GT 650M OpenGL Engine supported 3 0 4.3 NVIDIA GT 650M
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GTX 570 OpenGL Engine supported 5 1 4.3 NVIDIA GTX 570
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GTX 660 OpenGL Engine supported 5 0 4.3 NVIDIA GTX 66x
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GTX 660 Ti OpenGL Engine supported 5 0 4.3 NVIDIA GTX 66x
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GTX 670 OpenGL Engine supported 5 1 4.3 NVIDIA GTX 67x
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GTX 680MX OpenGL Engine supported 5 0 4.3 NVIDIA GTX 680M
+PowerVR SGX545 supported 1 1 3 PowerVR SGX545
+S3 unsupported 0 1 1.4 S3
+S3 Graphics K8M800/MMX/K3D unsupported 0 1 1.4 S3
+S3 Graphics KM400/KN400/MMX/SSE unsupported 0 1 1.4 S3
+S3 Graphics P8M800/MMX/SSE unsupported 0 1 1.4 S3
+S3 Graphics Unknown Device/MMX/SSE unsupported 0 1 1.4 S3
+S3 Graphics VIA/S3G UniChrome IGP/MMX/SSE unsupported 0 1 1.4 S3
+S3 Graphics VIA/S3G UniChrome Pro IGP/MMX/SSE unsupported 0 1 1.4 S3
+S3 Graphics, Incorporated ProSavage/Twister unsupported 0 1 1.4 S3
+S3 Graphics, Incorporated S3 Graphics Chrome9 HC unsupported 0 1 1.4 S3
+S3 Graphics, Incorporated S3 Graphics DeltaChrome unsupported 0 1 1.4 S3
+S3 Graphics, Incorporated VIA Chrome9 HC IGP unsupported 0 1 1.4 S3
+S3 Graphics, Incorporated VIA Chrome9 HC3 IGP unsupported 0 1 1.4 S3
+S3 Graphics, Incorporated VIA Chrome9 HD Pro IGP unsupported 0 1 1.4 S3
+SiS unsupported 0 1 1.5 SiS
+SiS 3D-Analyze v2.3 - http://www.tommti-systems.com unsupported 0 1 1.5 SiS
+SiS 650/M650 VGA unsupported 0 1 1.5 SiS
+SiS 650/M650 VGA / MMX/SSE2 /AGP unsupported 0 1 1.5 SiS
+SiS 661 VGA unsupported 0 1 1.5 SiS
+SiS 662 VGA unsupported 0 1 1.5 SiS
+SiS 760 VGA unsupported 0 1 1.5 SiS
+SiS 761GX VGA unsupported 0 1 1.5 SiS
+SiS Mirage Graphics3 unsupported 0 1 1.4 S3
+SiS Xabre VGA unsupported 0 1 1.5 SiS
+Tungsten Graphics, Inc Mesa DRI Intel(R) 845G unsupported 0 1 1.4 Intel 845G
+Tungsten Graphics, Inc Mesa DRI Intel(R) 852GM/855GM unsupported 0 1 1.4 Intel 855GM
+Tungsten Graphics, Inc Mesa DRI Intel(R) 852GM/855GM x86/MMX/SSE2 unsupported 0 1 1.4 Intel 855GM
+Tungsten Graphics, Inc Mesa DRI Intel(R) 865G unsupported 0 1 1.4 Intel 865G
+Tungsten Graphics, Inc Mesa DRI Intel(R) 865G x86/MMX/SSE2 unsupported 0 1 1.4 Intel 865G
+Tungsten Graphics, Inc Mesa DRI Intel(R) 915G unsupported 0 1 1.4 Intel 915G
+Tungsten Graphics, Inc Mesa DRI Intel(R) 915G x86/MMX/SSE2 unsupported 0 1 1.4 Intel 915G
+Tungsten Graphics, Inc Mesa DRI Intel(R) 915GM unsupported 0 1 1.4 Intel 915GM
+Tungsten Graphics, Inc Mesa DRI Intel(R) 915GM 20061017 x86/MMX/SSE2 unsupported 0 1 1.4 Intel 915GM
+Tungsten Graphics, Inc Mesa DRI Intel(R) 915GM GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 1 1.4 Intel 915GM
+Tungsten Graphics, Inc Mesa DRI Intel(R) 915GM x86/MMX/SSE2 unsupported 0 1 1.4 Intel 915GM
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945G GEM 20091221 2009Q4 x86/MMX/SSE2 supported 0 1 1.4 Intel 945G
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945G GEM 20100330 DEVELOPMENT x86/MMX/SSE2 supported 0 1 1.4 Intel 945G
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945G x86/MMX/SSE2 supported 0 1 1.4 Intel 945G
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945GM GEM 20091221 2009Q4 x86/MMX/SSE2 supported 0 1 1.4 Intel 945GM
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945GM x86/MMX/SSE2 supported 0 1 1.4 Intel 945GM
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945GME supported 0 1 1.4 Intel 945GM
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945GME GEM 20091221 2009Q4 x86/MMX/SSE2 supported 0 1 1.4 Intel 945GM
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945GME x86/MMX/SSE2 supported 0 1 1.4 Intel 945GM
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965GM supported 0 1 2.1 Intel 965
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965GM GEM 20091221 2009Q4 x86/MMX/SSE2 supported 0 1 2.1 Intel 965
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965GM x86/MMX/SSE2 supported 0 1 2.1 Intel 965
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965GME/GLE x86/MMX/SSE2 supported 0 1 2.1 Intel 965
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965Q supported 0 1 2.1 Intel 965
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965Q GEM 20091221 2009Q4 x86/MMX/SSE2 supported 0 1 2.1 Intel 965
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965Q x86/MMX/SSE2 supported 0 1 2.1 Intel 965
+Tungsten Graphics, Inc Mesa DRI Intel(R) G33 GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 1 1 1.4 Intel G33
+Tungsten Graphics, Inc Mesa DRI Intel(R) G33 x86/MMX/SSE2 unsupported 1 1 1.4 Intel G33
+Tungsten Graphics, Inc Mesa DRI Intel(R) G41 GEM 20091221 2009Q4 x86/MMX/SSE2 supported 1 1 2.1 Intel G41
+Tungsten Graphics, Inc Mesa DRI Intel(R) G41 GEM 20100330 DEVELOPMENT x86/MMX/SSE2 supported 1 1 2.1 Intel G41
+Tungsten Graphics, Inc Mesa DRI Intel(R) G41 x86/MMX/SSE2 supported 1 1 2.1 Intel G41
+Tungsten Graphics, Inc Mesa DRI Intel(R) IGD unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) IGD x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) IGD GEM 20091221 2009Q4 supported 1 1 2.1 Intel Q45/Q43
+Tungsten Graphics, Inc Mesa DRI Intel(R) IGD GEM 20091221 2009Q4 x86/MMX/SSE2 supported 1 1 2.1 Intel Q45/Q43
+Tungsten Graphics, Inc Mesa DRI Intel(R) IGD x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) IGDNG_M GEM 20091221 2009Q4 supported 1 1 2.1 Intel Q45/Q43
+Tungsten Graphics, Inc Mesa DRI Intel(R) IGDNG_M GEM 20091221 2009Q4 x86/MMX/SSE2 supported 1 1 2.1 Intel Q45/Q43
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ironlake Desktop unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ironlake Desktop x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ironlake Mobile unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ironlake Mobile GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ironlake Mobile x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ivybridge Desktop unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ivybridge Desktop x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ivybridge Mobile unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ivybridge Mobile x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Q35 GEM 20091221 2009Q4 x86/MMX/SSE2 supported 1 1 2.1 Intel Q45/Q43
+Tungsten Graphics, Inc Mesa DRI Intel(R) Q35 x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Q45/Q43 x86/MMX/SSE2 supported 1 1 2.1 Intel Q45/Q43
+Tungsten Graphics, Inc Mesa DRI Intel(R) Sandybridge Desktop unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Sandybridge Desktop x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Sandybridge Mobile unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Sandybridge Mobile x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Sandybridge Mobile GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Sandybridge Mobile x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Intel(R) Sandybridge Server unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20091221 2009Q4 supported 1 1 2.1 Intel Q45/Q43
+Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20091221 2009Q4 x86/MMX/SSE2 supported 1 1 2.1 Intel Q45/Q43
+Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20100330 DEVELOPMENT x86/MMX unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset x86/MMX/SSE2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc. Mesa DRI R100 (RS200 4437) x86/MMX/SSE2 NO-TCL DRI2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc. Mesa DRI R100 (RV200 4C57) TCL DRI2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc. Mesa DRI R100 (RV200 4C57) x86/MMX/SSE2 TCL DRI2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc. Mesa DRI R200 (RV250 4C66) x86/MMX/SSE2 TCL DRI2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc. Mesa DRI R200 (RV280 5960) x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc. Mesa DRI R200 (RV280 5960) x86/MMX/SSE2 TCL DRI2 unsupported 1 1 3 Mesa
+Tungsten Graphics, Inc. Mesa DRI R200 (RV280 5961) x86/MMX/SSE2 TCL DRI2 unsupported 1 1 3 Mesa
+VMware, Inc. Gallium 0.3 on SVGA3D; build: RELEASE; supported 1 1 2.1 Gallium
+VMware, Inc. Gallium 0.4 on SVGA3D; build: RELEASE; supported 1 1 2.1 Gallium
+VMware, Inc. Gallium 0.4 on i915 (chipset: 945GME) supported 1 1 2.1 Gallium
+VMware, Inc. Gallium 0.4 on llvmpipe supported 1 1 2.1 Gallium
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 0x209) supported 1 1 2.1 Gallium
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 0x300) supported 1 1 2.1 Gallium
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 0x301) supported 1 1 2.1 Gallium
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 0x302) supported 1 1 2.1 Gallium
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 3.2, 128 bits) supported 1 1 2.1 Gallium
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 3.2, 256 bits) supported 1 1 2.1 Gallium
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 3.3, 128 bits) supported 1 1 2.1 Gallium
+X.Org Gallium 0.4 on AMD ARUBA supported 3 1 2.1 AMD ARUBA (HD 6800)
+X.Org Gallium 0.4 on AMD BARTS supported 3 1 2.1 AMD BARTS (HD 6800)
+X.Org Gallium 0.4 on AMD CAICOS supported 3 0 0 AMD CAICOS (HD 6400)
+X.Org Gallium 0.4 on AMD CAPE VERDE supported 1 1 2.1 Gallium
+X.Org Gallium 0.4 on AMD CEDAR supported 2 0 2.1 AMD CEDAR (HD 5450)
+X.Org Gallium 0.4 on AMD CYPRESS supported 3 0 0 AMD CYPRESS (HD 5800)
+X.Org Gallium 0.4 on AMD JUNIPER supported 3 0 0 AMD JUNIPER (HD 5700)
+X.Org Gallium 0.4 on AMD PALM supported 1 1 2.1 Gallium
+X.Org Gallium 0.4 on AMD REDWOOD supported 3 0 1.4 AMD REDWOOD (HD 5500/5600)
+X.Org Gallium 0.4 on AMD RS780 supported 0 1 2.1 AMD RS780 (HD 3200)
+X.Org Gallium 0.4 on AMD RS880 supported 0 1 3.2 AMD RS880 (HD 4200)
+X.Org Gallium 0.4 on AMD RV610 supported 1 0 0 AMD RV610 (HD 2400)
+X.Org Gallium 0.4 on AMD RV620 supported 1 0 0 AMD RV620 (HD 3400)
+X.Org Gallium 0.4 on AMD RV630 supported 2 0 0 AMD RV630 (HD 2600)
+X.Org Gallium 0.4 on AMD RV635 supported 3 0 1.4 AMD RV635 (HD 3600)
+X.Org Gallium 0.4 on AMD RV670 supported 3 0 0 AMD RV670 (HD 3800)
+X.Org Gallium 0.4 on AMD RV710 supported 0 1 1.4 AMD RV710 (HD 4300)
+X.Org Gallium 0.4 on AMD RV730 supported 3 0 1.4 AMD RV730 (HD 4600)
+X.Org Gallium 0.4 on AMD RV740 supported 3 0 0 AMD RV740 (HD 4700)
+X.Org Gallium 0.4 on AMD RV770 supported 3 0 0 AMD RV770 (HD 4800)
+X.Org Gallium 0.4 on AMD SUMO supported 3 1 4.1 AMD SUMO
+X.Org Gallium 0.4 on AMD SUMO2 supported 3 1 4.1 AMD SUMO
+X.Org Gallium 0.4 on AMD TURKS supported 3 0 2.1 AMD TURKS (HD 6500/6600)
+X.Org R300 Project Gallium 0.4 on ATI R350 supported 0 1 2.1 ATI R300 (9700)
+X.Org R300 Project Gallium 0.4 on ATI R580 supported 0 1 2.1 ATI R300 (9700)
+X.Org R300 Project Gallium 0.4 on ATI RC410 supported 0 1 2.1 ATI R300 (9700)
+X.Org R300 Project Gallium 0.4 on ATI RS480 supported 0 1 2.1 ATI R300 (9700)
+X.Org R300 Project Gallium 0.4 on ATI RS482 supported 0 1 2.1 ATI R300 (9700)
+X.Org R300 Project Gallium 0.4 on ATI RS600 supported 0 1 2.1 ATI R300 (9700)
+X.Org R300 Project Gallium 0.4 on ATI RS690 supported 0 1 2.1 ATI R300 (9700)
+X.Org R300 Project Gallium 0.4 on ATI RV350 supported 0 1 2.1 ATI R300 (9700)
+X.Org R300 Project Gallium 0.4 on ATI RV370 supported 0 1 2.1 ATI R300 (9700)
+X.Org R300 Project Gallium 0.4 on ATI RV380 supported 0 1 2.1 ATI R300 (9700)
+X.Org R300 Project Gallium 0.4 on ATI RV410 supported 0 1 2.1 ATI R300 (9700)
+X.Org R300 Project Gallium 0.4 on ATI RV515 supported 0 1 2.1 ATI R300 (9700)
+X.Org R300 Project Gallium 0.4 on ATI RV530 supported 0 1 2.1 ATI R300 (9700)
+X.Org R300 Project Gallium 0.4 on ATI RV570 supported 0 1 2.1 ATI R300 (9700)
+XGI Volari V3 unsupported 0 0 0 XGI
+http://TitaniumGL.tk NVIDIA GeForce GTX 690/3999M VRAM/TitaniumGL/4 THREADs/3D GRAPHICS ACCELERATION supported 5 1 4.3 NVIDIA GTX 69x
+nouveau Gallium 0.4 on NV34 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV42 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV44 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV46 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV49 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV4A supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV4B supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV4C supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV4E supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV50 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV63 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV67 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV84 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV86 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV92 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV94 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV96 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NV98 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVA0 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVA3 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVA5 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVA8 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVAA supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVAC supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVAF supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVC0 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVC1 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVC3 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVC4 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVCE supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVCF supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVD9 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVE4 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVE6 supported 1 1 2.1 Gallium
+nouveau Gallium 0.4 on NVE7 supported 1 1 2.1 Gallium
diff --git a/indra/newview/tests/gpus_seen.txt b/indra/newview/tests/gpus_seen.txt
new file mode 100755
index 0000000000..a417cb3761
--- /dev/null
+++ b/indra/newview/tests/gpus_seen.txt
@@ -0,0 +1,4225 @@
+AMD BARTS (HD 6800)
+AMD BARTS (HD 6800)
+AMD CAICOS (HD 6400)
+AMD CAICOS (HD 6400)
+AMD CAYMAN (HD 6900)
+AMD CEDAR (HD 5450)
+AMD CEDAR (HD 5450)
+AMD JUNIPER (HD 5700)
+AMD PARK
+AMD REDWOOD (HD 5500/5600)
+AMD RS780 (HD 3200)
+AMD RS880 (HD 4200)
+AMD RS880 (HD 4200)
+AMD RV610 (HD 2400)
+AMD RV620 (HD 3400)
+AMD RV630 (HD 2600)
+AMD RV635 (HD 3600)
+AMD RV670 (HD 3800)
+AMD RV710 (HD 4300)
+AMD RV730 (HD 4600)
+AMD RV770 (HD 4800)
+AMD RV790 (HD 4800)
+AMD TURKS (HD 6500/6600)
+ATI
+ATI 760G/Radeon 3000
+ATI ASUS AH24xx
+ATI ASUS AH34xx
+ATI ASUS AH36xx
+ATI ASUS AH46xx
+ATI ASUS AX3xx
+ATI ASUS AX5xx
+ATI ASUS EAH38xx
+ATI ASUS EAH43xx
+ATI ASUS EAH45xx
+ATI ASUS EAH48xx
+ATI ASUS EAH54xx
+ATI ASUS EAH57xx
+ATI ASUS EAH58xx
+ATI ASUS EAH64xx
+ATI ASUS EAH65xx
+ATI ASUS EAH66xx
+ATI ASUS EAH67xx
+ATI ASUS EAH68xx
+ATI ASUS EAH69xx
+ATI ASUS EAH6xxx
+ATI ASUS EAH77xx
+ATI ASUS HD7700
+ATI ASUS Radeon X1xxx
+ATI All-in-Wonder HD
+ATI All-in-Wonder PCI-E
+ATI Display Adapter
+ATI FireGL
+ATI FireGL 5200
+ATI FireGL 5xxx
+ATI FireMV
+ATI FirePro 2000
+ATI FirePro 4000
+ATI FirePro M
+ATI FirePro M3900
+ATI FirePro M5800
+ATI FirePro M7740
+ATI FirePro M7820
+ATI Geforce 9500 GT
+ATI Geforce 9600 GT
+ATI Geforce 9800 GT
+ATI IGP 340M
+ATI Mobility Radeon
+ATI Mobility Radeon 4100
+ATI Mobility Radeon 4100
+ATI Mobility Radeon 7xxx
+ATI Mobility Radeon 9600
+ATI Mobility Radeon 9700
+ATI Mobility Radeon 9800
+ATI Mobility Radeon HD 2300
+ATI Mobility Radeon HD 2300
+ATI Mobility Radeon HD 2400
+ATI Mobility Radeon HD 2400
+ATI Mobility Radeon HD 2600
+ATI Mobility Radeon HD 2600
+ATI Mobility Radeon HD 2700
+ATI Mobility Radeon HD 3400
+ATI Mobility Radeon HD 3400
+ATI Mobility Radeon HD 3600
+ATI Mobility Radeon HD 3600
+ATI Mobility Radeon HD 3800
+ATI Mobility Radeon HD 4200
+ATI Mobility Radeon HD 4200
+ATI Mobility Radeon HD 4300
+ATI Mobility Radeon HD 4500
+ATI Mobility Radeon HD 4600
+ATI Mobility Radeon HD 4800
+ATI Mobility Radeon HD 5100
+ATI Mobility Radeon HD 5100
+ATI Mobility Radeon HD 5300
+ATI Mobility Radeon HD 530v
+ATI Mobility Radeon HD 5400
+ATI Mobility Radeon HD 5400
+ATI Mobility Radeon HD 540v
+ATI Mobility Radeon HD 545v
+ATI Mobility Radeon HD 5500
+ATI Mobility Radeon HD 550v
+ATI Mobility Radeon HD 5600
+ATI Mobility Radeon HD 5600
+ATI Mobility Radeon HD 560v
+ATI Mobility Radeon HD 565v
+ATI Mobility Radeon HD 5700
+ATI Mobility Radeon HD 6300
+ATI Mobility Radeon HD 6300
+ATI Mobility Radeon HD 6500
+ATI Mobility Radeon HD 6500M
+ATI Mobility Radeon X1xxx
+ATI Mobility Radeon X2xxx
+ATI Mobility Radeon X3xx
+ATI Mobility Radeon X6xx
+ATI Mobility Radeon X7xx
+ATI Mobility Radeon Xxxx
+ATI Mobility Radeon Xxxx
+ATI R300 (9700)
+ATI RV410 (X700)
+ATI RV530
+ATI Radeon
+ATI Radeon 2100
+ATI Radeon 3000
+ATI Radeon 3100
+ATI Radeon 3100
+ATI Radeon 5xxx
+ATI Radeon 7000
+ATI Radeon 7xxx
+ATI Radeon 8xxx
+ATI Radeon 9000
+ATI Radeon 9100
+ATI Radeon 9200
+ATI Radeon 9500
+ATI Radeon 9600
+ATI Radeon 9700
+ATI Radeon 9800
+ATI Radeon HD 2300
+ATI Radeon HD 2300
+ATI Radeon HD 2400
+ATI Radeon HD 2400
+ATI Radeon HD 2600
+ATI Radeon HD 2900
+ATI Radeon HD 3000
+ATI Radeon HD 3100
+ATI Radeon HD 3200
+ATI Radeon HD 3200
+ATI Radeon HD 3300
+ATI Radeon HD 3400
+ATI Radeon HD 3400
+ATI Radeon HD 3400
+ATI Radeon HD 3500
+ATI Radeon HD 3600
+ATI Radeon HD 3700
+ATI Radeon HD 3800
+ATI Radeon HD 4200
+ATI Radeon HD 4300
+ATI Radeon HD 4300
+ATI Radeon HD 4400
+ATI Radeon HD 4500
+ATI Radeon HD 4500
+ATI Radeon HD 4600
+ATI Radeon HD 4700
+ATI Radeon HD 4800
+ATI Radeon HD 4800
+ATI Radeon HD 5400
+ATI Radeon HD 5400
+ATI Radeon HD 5500
+ATI Radeon HD 5500
+ATI Radeon HD 5600
+ATI Radeon HD 5700
+ATI Radeon HD 5700
+ATI Radeon HD 5800
+ATI Radeon HD 5900
+ATI Radeon HD 6200
+ATI Radeon HD 6200
+ATI Radeon HD 6300
+ATI Radeon HD 6300
+ATI Radeon HD 6300
+ATI Radeon HD 6300M
+ATI Radeon HD 6400
+ATI Radeon HD 64xx
+ATI Radeon HD 64xx
+ATI Radeon HD 6500
+ATI Radeon HD 65xx
+ATI Radeon HD 65xx
+ATI Radeon HD 6600
+ATI Radeon HD 66xx
+ATI Radeon HD 6700
+ATI Radeon HD 6700
+ATI Radeon HD 6700M
+ATI Radeon HD 6800
+ATI Radeon HD 6900
+ATI Radeon HD 6900
+ATI Radeon HD 7200
+ATI Radeon HD 7300
+ATI Radeon HD 7300
+ATI Radeon HD 7400
+ATI Radeon HD 7400
+ATI Radeon HD 7500
+ATI Radeon HD 7600
+ATI Radeon HD 7700
+ATI Radeon HD 7800
+ATI Radeon HD 7900
+ATI Radeon X1000
+ATI Radeon X1200
+ATI Radeon X1300
+ATI Radeon X13xx
+ATI Radeon X1400
+ATI Radeon X1500
+ATI Radeon X15xx
+ATI Radeon X1600
+ATI Radeon X16xx
+ATI Radeon X17xx
+ATI Radeon X1800
+ATI Radeon X18xx
+ATI Radeon X1900
+ATI Radeon X1900
+ATI Radeon X19xx
+ATI Radeon X1xxx
+ATI Radeon X1xxx
+ATI Radeon X1xxx
+ATI Radeon X1xxx
+ATI Radeon X2xxx
+ATI Radeon X2xxx
+ATI Radeon X300
+ATI Radeon X500
+ATI Radeon X500
+ATI Radeon X500
+ATI Radeon X600
+ATI Radeon X700
+ATI Radeon X800
+ATI Radeon Xpress
+ATI Radeon Xpress
+ATI Rage 128
+ATI Technologies
+ATI Technologies Inc.
+ATI Technologies Inc. (DNA-AMD GFX) AMD Radeon HD 6290 Graphics
+ATI Technologies Inc. (DNA-ATi 5.1.7.5x32) ATI Mobility Radeon HD 2
+ATI Technologies Inc. (Vista) ATI Mobility Radeon HD 5730
+ATI Technologies Inc. (Vista) ATI Mobility Radeon HD 5870
+ATI Technologies Inc. 128MB ATI RADEON X600 SE
+ATI Technologies Inc. 128MB ATI RADEON X600 SE x86/SSE2
+ATI Technologies Inc. 128MB ATI Radeon X1300
+ATI Technologies Inc. 128MB ATI Radeon X1300 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. 128MB ATI Radeon X1300 x86/SSE2
+ATI Technologies Inc. 256MB ATI RADEON X600
+ATI Technologies Inc. 256MB ATI Radeon X1300PRO
+ATI Technologies Inc. 256MB ATI Radeon X1300PRO x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. 256MB ATI Radeon X1300PRO x86/SSE2
+ATI Technologies Inc. 3DP (ATI RADEON XPRESS 200M)
+ATI Technologies Inc. 3DP Edition v10.04 (Mobility Radeon X1600) x86/SSE2
+ATI Technologies Inc. 7900 MOD - AMD Radeon HD 7400M Series
+ATI Technologies Inc. 7900 MOD - AMD Radeon HD 7640G
+ATI Technologies Inc. ALL-IN-WONDER 9600 SERIES
+ATI Technologies Inc. AMD (ATI) FirePro M5950 (FireGL) Mobility Pro Graphics
+ATI Technologies Inc. AMD (ATI) FirePro M4000 (FireGL V) Mobility Pro Graphics
+ATI Technologies Inc. AMD (ATI) FirePro M5950 (FireGL) Mobility Pro Graphics
+ATI Technologies Inc. AMD (ATI) FirePro M6000 (FireGL V) Mobility Pro Graphics
+ATI Technologies Inc. AMD (ATI) FirePro M8900 (FireGL) Mobility Pro
+ATI Technologies Inc. AMD (ATI) FirePro M8900 (FireGL) Mobility Pro Graphics
+ATI Technologies Inc. AMD (ATI) FirePro M8900 (FireGL) Mobility Pro Graphics
+ATI Technologies Inc. AMD 760G
+ATI Technologies Inc. AMD 760G
+ATI Technologies Inc. AMD 760G (Microsoft Corporation WDDM 1.1)
+ATI Technologies Inc. AMD FirePro 2270
+ATI Technologies Inc. AMD FirePro 2460
+ATI Technologies Inc. AMD FirePro M2000
+ATI Technologies Inc. AMD FirePro M3900
+ATI Technologies Inc. AMD FirePro M4000
+ATI Technologies Inc. AMD FirePro M5950
+ATI Technologies Inc. AMD FirePro M5950 Mobility Professional Graphics
+ATI Technologies Inc. AMD FirePro M5950 Mobility Professional Graphics
+ATI Technologies Inc. AMD FirePro V3900
+ATI Technologies Inc. AMD FirePro V3900 (ATI FireGL)
+ATI Technologies Inc. AMD FirePro V4900
+ATI Technologies Inc. AMD FirePro V4900 (ATI FireGL)
+ATI Technologies Inc. AMD FirePro V4900 (FireGL V)
+ATI Technologies Inc. AMD FirePro V4900 (FireGL V) Graphics Adapter
+ATI Technologies Inc. AMD FirePro V5900
+ATI Technologies Inc. AMD FirePro V5900 (ATI FireGL)
+ATI Technologies Inc. AMD FirePro V5900 (FireGL V)
+ATI Technologies Inc. AMD FirePro V5900 (FireGL V) Graphics Adapter
+ATI Technologies Inc. AMD FirePro V7900
+ATI Technologies Inc. AMD FirePro V7900 (ATI FireGL)
+ATI Technologies Inc. AMD FirePro V7900 (FireGL V)
+ATI Technologies Inc. AMD FirePro V7900 (FireGL V) Graphics Adapter
+ATI Technologies Inc. AMD FirePro W5000 (FireGL V)
+ATI Technologies Inc. AMD FirePro W9000 (FireGL V)
+ATI Technologies Inc. AMD M860G with ATI Mobility Radeon 4100
+ATI Technologies Inc. AMD M860G with ATI Mobility Radeon 4100
+ATI Technologies Inc. AMD M880G with ATI Mobility Radeon HD 4200
+ATI Technologies Inc. AMD M880G with ATI Mobility Radeon HD 4200
+ATI Technologies Inc. AMD M880G with ATI Mobility Radeon HD 4200
+ATI Technologies Inc. AMD M880G with ATI Mobility Radeon HD 4225
+ATI Technologies Inc. AMD M880G with ATI Mobility Radeon HD 4250
+ATI Technologies Inc. AMD M880G with ATI Mobility Radeon HD 4250
+ATI Technologies Inc. AMD RADEON HD 6350
+ATI Technologies Inc. AMD RADEON HD 6350
+ATI Technologies Inc. AMD RADEON HD 6450
+ATI Technologies Inc. AMD RADEON HD 6450
+ATI Technologies Inc. AMD RADEON HD 6450A
+ATI Technologies Inc. AMD RADEON HD 6670
+ATI Technologies Inc. AMD RADEON HD 6670
+ATI Technologies Inc. AMD RADEON HD 7450
+ATI Technologies Inc. AMD RADEON HD6370D Graphics
+ATI Technologies Inc. AMD RADEON HD6370D Graphics
+ATI Technologies Inc. AMD RADEON HD6410D Graphics
+ATI Technologies Inc. AMD RADEON HD6410D Graphics
+ATI Technologies Inc. AMD RADEON HD6530D Graphics
+ATI Technologies Inc. AMD RADEON HD6550D Graphics
+ATI Technologies Inc. AMD Radeon
+ATI Technologies Inc. AMD Radeon
+ATI Technologies Inc. AMD Radeon (TM) HD 8500M/8700M
+ATI Technologies Inc. AMD Radeon (TM) HD 8500M/8700M
+ATI Technologies Inc. AMD Radeon 6600M and 6700M Series
+ATI Technologies Inc. AMD Radeon 6600M and 6700M Series
+ATI Technologies Inc. AMD Radeon 6600M and 6700M Series (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 5450
+ATI Technologies Inc. AMD Radeon HD 5500 Series
+ATI Technologies Inc. AMD Radeon HD 5500 Series
+ATI Technologies Inc. AMD Radeon HD 5500 Series (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 6200 series Graphics
+ATI Technologies Inc. AMD Radeon HD 6200 series Graphics
+ATI Technologies Inc. AMD Radeon HD 6250
+ATI Technologies Inc. AMD Radeon HD 6250 Graphics
+ATI Technologies Inc. AMD Radeon HD 6250 Graphics
+ATI Technologies Inc. AMD Radeon HD 6250M
+ATI Technologies Inc. AMD Radeon HD 6250M
+ATI Technologies Inc. AMD Radeon HD 6290
+ATI Technologies Inc. AMD Radeon HD 6290 Graphics
+ATI Technologies Inc. AMD Radeon HD 6290 Graphics
+ATI Technologies Inc. AMD Radeon HD 6290M
+ATI Technologies Inc. AMD Radeon HD 6290M
+ATI Technologies Inc. AMD Radeon HD 6300 series Graphics
+ATI Technologies Inc. AMD Radeon HD 6300 series Graphics
+ATI Technologies Inc. AMD Radeon HD 6300M Series
+ATI Technologies Inc. AMD Radeon HD 6300M Series
+ATI Technologies Inc. AMD Radeon HD 6310
+ATI Technologies Inc. AMD Radeon HD 6310
+ATI Technologies Inc. AMD Radeon HD 6310 Graphics
+ATI Technologies Inc. AMD Radeon HD 6310 Graphics
+ATI Technologies Inc. AMD Radeon HD 6310 Graphics
+ATI Technologies Inc. AMD Radeon HD 6310 Graphics
+ATI Technologies Inc. AMD Radeon HD 6310 Graphics (Engineering Sample - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 6310 Graphics (Microsoft Corporation - WDDM v1.3)
+ATI Technologies Inc. AMD Radeon HD 6310 Graphics (Microsoft Corporation- WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 6310M
+ATI Technologies Inc. AMD Radeon HD 6310M
+ATI Technologies Inc. AMD Radeon HD 6320
+ATI Technologies Inc. AMD Radeon HD 6320 Graphics
+ATI Technologies Inc. AMD Radeon HD 6320 Graphic
+ATI Technologies Inc. AMD Radeon HD 6320 Graphics
+ATI Technologies Inc. AMD Radeon HD 6320 Graphics
+ATI Technologies Inc. AMD Radeon HD 6320 Graphics (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 6320 series Graphics
+ATI Technologies Inc. AMD Radeon HD 6320 series Graphics
+ATI Technologies Inc. AMD Radeon HD 6320M
+ATI Technologies Inc. AMD Radeon HD 6330M
+ATI Technologies Inc. AMD Radeon HD 6350
+ATI Technologies Inc. AMD Radeon HD 6350
+ATI Technologies Inc. AMD Radeon HD 6370D
+ATI Technologies Inc. AMD Radeon HD 6370M
+ATI Technologies Inc. AMD Radeon HD 6370M
+ATI Technologies Inc. AMD Radeon HD 6380G
+ATI Technologies Inc. AMD Radeon HD 6400 Series
+ATI Technologies Inc. AMD Radeon HD 6400M Series
+ATI Technologies Inc. AMD Radeon HD 6410D
+ATI Technologies Inc. AMD Radeon HD 6410D
+ATI Technologies Inc. AMD Radeon HD 6410D Graphics
+ATI Technologies Inc. AMD Radeon HD 6410D Graphics
+ATI Technologies Inc. AMD Radeon HD 6450
+ATI Technologies Inc. AMD Radeon HD 6450
+ATI Technologies Inc. AMD Radeon HD 6450 (Microsoft Corporation - WDDM v1.2)
+ATI Technologies Inc. AMD Radeon HD 6450 Graphics
+ATI Technologies Inc. AMD Radeon HD 6450A
+ATI Technologies Inc. AMD Radeon HD 6450A Graphics
+ATI Technologies Inc. AMD Radeon HD 6450M
+ATI Technologies Inc. AMD Radeon HD 6450M
+ATI Technologies Inc. AMD Radeon HD 6470M
+ATI Technologies Inc. AMD Radeon HD 6470M
+ATI Technologies Inc. AMD Radeon HD 6470M/7400M Series
+ATI Technologies Inc. AMD Radeon HD 6480G
+ATI Technologies Inc. AMD Radeon HD 6480M
+ATI Technologies Inc. AMD Radeon HD 6490M
+ATI Technologies Inc. AMD Radeon HD 6500 Series
+ATI Technologies Inc. AMD Radeon HD 6500 Series
+ATI Technologies Inc. AMD Radeon HD 6500 series graphics
+ATI Technologies Inc. AMD Radeon HD 6500M Series
+ATI Technologies Inc. AMD Radeon HD 6500M/5600/5700 Series
+ATI Technologies Inc. AMD Radeon HD 6500M/5600/5700 Series
+ATI Technologies Inc. AMD Radeon HD 6500M/5600/5700 Series
+ATI Technologies Inc. AMD Radeon HD 6510 Series
+ATI Technologies Inc. AMD Radeon HD 6510 Series
+ATI Technologies Inc. AMD Radeon HD 6520G
+ATI Technologies Inc. AMD Radeon HD 6520G
+ATI Technologies Inc. AMD Radeon HD 6530D
+ATI Technologies Inc. AMD Radeon HD 6530D
+ATI Technologies Inc. AMD Radeon HD 6530D Graphics
+ATI Technologies Inc. AMD Radeon HD 6530D Graphics
+ATI Technologies Inc. AMD Radeon HD 6530M
+ATI Technologies Inc. AMD Radeon HD 6550A
+ATI Technologies Inc. AMD Radeon HD 6550A
+ATI Technologies Inc. AMD Radeon HD 6550D
+ATI Technologies Inc. AMD Radeon HD 6550D
+ATI Technologies Inc. AMD Radeon HD 6550D Graphics
+ATI Technologies Inc. AMD Radeon HD 6550D Graphics
+ATI Technologies Inc. AMD Radeon HD 6550M
+ATI Technologies Inc. AMD Radeon HD 6550M
+ATI Technologies Inc. AMD Radeon HD 6570
+ATI Technologies Inc. AMD Radeon HD 6570
+ATI Technologies Inc. AMD Radeon HD 6570 (Microsoft Corporation - WDDM v1.2)
+ATI Technologies Inc. AMD Radeon HD 6570 (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 6570M
+ATI Technologies Inc. AMD Radeon HD 6570M/5700 Series
+ATI Technologies Inc. AMD Radeon HD 6570M/5700 Series
+ATI Technologies Inc. AMD Radeon HD 6570M/5730
+ATI Technologies Inc. AMD Radeon HD 6600 Series
+ATI Technologies Inc. AMD Radeon HD 6600 Series
+ATI Technologies Inc. AMD Radeon HD 6600M Series
+ATI Technologies Inc. AMD Radeon HD 6610M Graphics
+ATI Technologies Inc. AMD Radeon HD 6620G
+ATI Technologies Inc. AMD Radeon HD 6620G
+ATI Technologies Inc. AMD Radeon HD 6625M Graphics
+ATI Technologies Inc. AMD Radeon HD 6630M
+ATI Technologies Inc. AMD Radeon HD 6630M
+ATI Technologies Inc. AMD Radeon HD 6650A Graphics
+ATI Technologies Inc. AMD Radeon HD 6650M
+ATI Technologies Inc. AMD Radeon HD 6650M
+ATI Technologies Inc. AMD Radeon HD 6670
+ATI Technologies Inc. AMD Radeon HD 6670
+ATI Technologies Inc. AMD Radeon HD 6670 (Microsoft Corporation - WDDM v1.2)
+ATI Technologies Inc. AMD Radeon HD 6670 (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 6700 Series
+ATI Technologies Inc. AMD Radeon HD 6700 Series
+ATI Technologies Inc. AMD Radeon HD 6700 series
+ATI Technologies Inc. AMD Radeon HD 6700M Series
+ATI Technologies Inc. AMD Radeon HD 6700M Series (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 6700M/7700M/7900M Series
+ATI Technologies Inc. AMD Radeon HD 6730M
+ATI Technologies Inc. AMD Radeon HD 6750
+ATI Technologies Inc. AMD Radeon HD 6750M
+ATI Technologies Inc. AMD Radeon HD 6750M
+ATI Technologies Inc. AMD Radeon HD 6770
+ATI Technologies Inc. AMD Radeon HD 6770M
+ATI Technologies Inc. AMD Radeon HD 6770M
+ATI Technologies Inc. AMD Radeon HD 6770M OpenGL Engine
+ATI Technologies Inc. AMD Radeon HD 6800 Series
+ATI Technologies Inc. AMD Radeon HD 6800 Series
+ATI Technologies Inc. AMD Radeon HD 6800 Series
+ATI Technologies Inc. AMD Radeon HD 6800 Series (Engineering Sample - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 6800 Series (Microsoft Corporation - WDDM v1.2)
+ATI Technologies Inc. AMD Radeon HD 6800 Series (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 6800M Series
+ATI Technologies Inc. AMD Radeon HD 6800M Series
+ATI Technologies Inc. AMD Radeon HD 6850
+ATI Technologies Inc. AMD Radeon HD 6850
+ATI Technologies Inc. AMD Radeon HD 6850 X2
+ATI Technologies Inc. AMD Radeon HD 6850M
+ATI Technologies Inc. AMD Radeon HD 6850M
+ATI Technologies Inc. AMD Radeon HD 6870
+ATI Technologies Inc. AMD Radeon HD 6870M
+ATI Technologies Inc. AMD Radeon HD 6870M
+ATI Technologies Inc. AMD Radeon HD 6900 Series
+ATI Technologies Inc. AMD Radeon HD 6900 Series
+ATI Technologies Inc. AMD Radeon HD 6900 Series
+ATI Technologies Inc. AMD Radeon HD 6900 Series
+ATI Technologies Inc. AMD Radeon HD 6900 Series (Microsoft Corporation - WDDM v1.2)
+ATI Technologies Inc. AMD Radeon HD 6900 Series (Microsoft Corporation - WDDM v1.2)
+ATI Technologies Inc. AMD Radeon HD 6900M Series
+ATI Technologies Inc. AMD Radeon HD 6900M Series
+ATI Technologies Inc. AMD Radeon HD 6970
+ATI Technologies Inc. AMD Radeon HD 6970
+ATI Technologies Inc. AMD Radeon HD 6970M
+ATI Technologies Inc. AMD Radeon HD 6970M
+ATI Technologies Inc. AMD Radeon HD 6990
+ATI Technologies Inc. AMD Radeon HD 6990
+ATI Technologies Inc. AMD Radeon HD 6990M
+ATI Technologies Inc. AMD Radeon HD 6990M
+ATI Technologies Inc. AMD Radeon HD 6990M
+ATI Technologies Inc. AMD Radeon HD 7000 series
+ATI Technologies Inc. AMD Radeon HD 7000 series
+ATI Technologies Inc. AMD Radeon HD 7290 Graphics
+ATI Technologies Inc. AMD Radeon HD 7300 Series (Microsoft Corporation - WDDM v1.2)
+ATI Technologies Inc. AMD Radeon HD 7300 Series Graphics
+ATI Technologies Inc. AMD Radeon HD 7300 Series Graphics
+ATI Technologies Inc. AMD Radeon HD 7310
+ATI Technologies Inc. AMD Radeon HD 7310
+ATI Technologies Inc. AMD Radeon HD 7310 Graphics
+ATI Technologies Inc. AMD Radeon HD 7310 Graphics
+ATI Technologies Inc. AMD Radeon HD 7310 Graphics
+ATI Technologies Inc. AMD Radeon HD 7310 Graphics (Microsoft Corporation - WDDM v1.2)
+ATI Technologies Inc. AMD Radeon HD 7310G
+ATI Technologies Inc. AMD Radeon HD 7310M
+ATI Technologies Inc. AMD Radeon HD 7310M
+ATI Technologies Inc. AMD Radeon HD 7340
+ATI Technologies Inc. AMD Radeon HD 7340
+ATI Technologies Inc. AMD Radeon HD 7340 Graphics
+ATI Technologies Inc. AMD Radeon HD 7340 Graphics
+ATI Technologies Inc. AMD Radeon HD 7340G
+ATI Technologies Inc. AMD Radeon HD 7340G
+ATI Technologies Inc. AMD Radeon HD 7340M
+ATI Technologies Inc. AMD Radeon HD 7340M
+ATI Technologies Inc. AMD Radeon HD 7350
+ATI Technologies Inc. AMD Radeon HD 7350
+ATI Technologies Inc. AMD Radeon HD 7350 Graphics
+ATI Technologies Inc. AMD Radeon HD 7370M
+ATI Technologies Inc. AMD Radeon HD 7400 Series
+ATI Technologies Inc. AMD Radeon HD 7400 Series (Microsoft Corporation - WDDM v1.2)
+ATI Technologies Inc. AMD Radeon HD 7400G
+ATI Technologies Inc. AMD Radeon HD 7400G
+ATI Technologies Inc. AMD Radeon HD 7400M Series
+ATI Technologies Inc. AMD Radeon HD 7400M Series
+ATI Technologies Inc. AMD Radeon HD 7400M Series (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 7410M
+ATI Technologies Inc. AMD Radeon HD 7420G
+ATI Technologies Inc. AMD Radeon HD 7420G
+ATI Technologies Inc. AMD Radeon HD 7450
+ATI Technologies Inc. AMD Radeon HD 7450
+ATI Technologies Inc. AMD Radeon HD 7450
+ATI Technologies Inc. AMD Radeon HD 7450 Graphics
+ATI Technologies Inc. AMD Radeon HD 7450A Graphics
+ATI Technologies Inc. AMD Radeon HD 7450A Graphics
+ATI Technologies Inc. AMD Radeon HD 7450M
+ATI Technologies Inc. AMD Radeon HD 7470
+ATI Technologies Inc. AMD Radeon HD 7470
+ATI Technologies Inc. AMD Radeon HD 7470
+ATI Technologies Inc. AMD Radeon HD 7470 Series
+ATI Technologies Inc. AMD Radeon HD 7470 Series
+ATI Technologies Inc. AMD Radeon HD 7470M
+ATI Technologies Inc. AMD Radeon HD 7470M
+ATI Technologies Inc. AMD Radeon HD 7480D
+ATI Technologies Inc. AMD Radeon HD 7480D
+ATI Technologies Inc. AMD Radeon HD 7500 Series
+ATI Technologies Inc. AMD Radeon HD 7500 Series (Microsoft Corporation - WDDM v1.2)
+ATI Technologies Inc. AMD Radeon HD 7500 Series (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 7500/7600 Series
+ATI Technologies Inc. AMD Radeon HD 7500G
+ATI Technologies Inc. AMD Radeon HD 7500G
+ATI Technologies Inc. AMD Radeon HD 7500G + 7500M/7600M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7500M/7600M Series
+ATI Technologies Inc. AMD Radeon HD 7510
+ATI Technologies Inc. AMD Radeon HD 7510
+ATI Technologies Inc. AMD Radeon HD 7520G
+ATI Technologies Inc. AMD Radeon HD 7520G
+ATI Technologies Inc. AMD Radeon HD 7520G + 6400M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7520G + 7470M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7520G + 7470M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7520G + 7500/7600 Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7520G + 7600M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7520G + 7610M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7520G + 7670M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7520G + 7670M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7540D
+ATI Technologies Inc. AMD Radeon HD 7540D
+ATI Technologies Inc. AMD Radeon HD 7540D + 7450 Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7550M
+ATI Technologies Inc. AMD Radeon HD 7550M
+ATI Technologies Inc. AMD Radeon HD 7550M/7650M Graphics
+ATI Technologies Inc. AMD Radeon HD 7550M/7650M Graphics
+ATI Technologies Inc. AMD Radeon HD 7560D
+ATI Technologies Inc. AMD Radeon HD 7560D
+ATI Technologies Inc. AMD Radeon HD 7560D (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 7560D + 6570 Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7560D + 6670 Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7560D + 7560D Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7560D + 7600 Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7560D + 7670 Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7570
+ATI Technologies Inc. AMD Radeon HD 7570
+ATI Technologies Inc. AMD Radeon HD 7570 Graphics
+ATI Technologies Inc. AMD Radeon HD 7570 Series
+ATI Technologies Inc. AMD Radeon HD 7570M
+ATI Technologies Inc. AMD Radeon HD 7570M/HD 7670M Graphics
+ATI Technologies Inc. AMD Radeon HD 7580D
+ATI Technologies Inc. AMD Radeon HD 7600 Series (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 7600G
+ATI Technologies Inc. AMD Radeon HD 7600G + 7500M/7600M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7600G + 7550M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7600M + 7600M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7600M Series
+ATI Technologies Inc. AMD Radeon HD 7600M Series
+ATI Technologies Inc. AMD Radeon HD 7610M
+ATI Technologies Inc. AMD Radeon HD 7610M
+ATI Technologies Inc. AMD Radeon HD 7620G
+ATI Technologies Inc. AMD Radeon HD 7640G
+ATI Technologies Inc. AMD Radeon HD 7640G
+ATI Technologies Inc. AMD Radeon HD 7640G + 6400M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7640G + 7450M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7640G + 7470M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7640G + 7470M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7640G + 7500/7600 Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7640G + 7500M/7600M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7640G + 7600M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7640G + 7610M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7640G + 7670M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7650A
+ATI Technologies Inc. AMD Radeon HD 7650A Graphics
+ATI Technologies Inc. AMD Radeon HD 7650M
+ATI Technologies Inc. AMD Radeon HD 7650M
+ATI Technologies Inc. AMD Radeon HD 7650M Series
+ATI Technologies Inc. AMD Radeon HD 7660D
+ATI Technologies Inc. AMD Radeon HD 7660D
+ATI Technologies Inc. AMD Radeon HD 7660D + 6570 Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7660D + 6670 Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7660D + 7670 Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7660D + 7700 Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7660G
+ATI Technologies Inc. AMD Radeon HD 7660G
+ATI Technologies Inc. AMD Radeon HD 7660G + 6400M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7660G + 7400M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7660G + 7470M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7660G + 7500/7600 Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7660G + 7600M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7660G + 7610M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7660G + 7670M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7660G + 7670M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7660G + 7700M Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 7670
+ATI Technologies Inc. AMD Radeon HD 7670
+ATI Technologies Inc. AMD Radeon HD 7670M
+ATI Technologies Inc. AMD Radeon HD 7670M
+ATI Technologies Inc. AMD Radeon HD 7690M
+ATI Technologies Inc. AMD Radeon HD 7700 Series
+ATI Technologies Inc. AMD Radeon HD 7700 Series
+ATI Technologies Inc. AMD Radeon HD 7700 Series
+ATI Technologies Inc. AMD Radeon HD 7700 Series (Microsoft Corporation - WDDM v1.3)
+ATI Technologies Inc. AMD Radeon HD 7700M Series
+ATI Technologies Inc. AMD Radeon HD 7730M
+ATI Technologies Inc. AMD Radeon HD 7770
+ATI Technologies Inc. AMD Radeon HD 7770
+ATI Technologies Inc. AMD Radeon HD 7770 GHz Edition
+ATI Technologies Inc. AMD Radeon HD 7800 Series
+ATI Technologies Inc. AMD Radeon HD 7800 Series
+ATI Technologies Inc. AMD Radeon HD 7800 Series
+ATI Technologies Inc. AMD Radeon HD 7800 Series
+ATI Technologies Inc. AMD Radeon HD 7800 Series (Engineering Sample - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 7800 Series (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon HD 7800 Series (Microsoft Corporation - WDDM v1.3)
+ATI Technologies Inc. AMD Radeon HD 7800 Series (Microsoft Corporation - WDDM v1.3)
+ATI Technologies Inc. AMD Radeon HD 7800M Series
+ATI Technologies Inc. AMD Radeon HD 7800M Series
+ATI Technologies Inc. AMD Radeon HD 7870
+ATI Technologies Inc. AMD Radeon HD 7870
+ATI Technologies Inc. AMD Radeon HD 7870M
+ATI Technologies Inc. AMD Radeon HD 7870M
+ATI Technologies Inc. AMD Radeon HD 7900 Series
+ATI Technologies Inc. AMD Radeon HD 7900 Series
+ATI Technologies Inc. AMD Radeon HD 7900 Series
+ATI Technologies Inc. AMD Radeon HD 7900 Series
+ATI Technologies Inc. AMD Radeon HD 7900 Series (Microsoft Corporation - WDDM v1.3)
+ATI Technologies Inc. AMD Radeon HD 7950
+ATI Technologies Inc. AMD Radeon HD 7950
+ATI Technologies Inc. AMD Radeon HD 7950
+ATI Technologies Inc. AMD Radeon HD 7970
+ATI Technologies Inc. AMD Radeon HD 7970
+ATI Technologies Inc. AMD Radeon HD 7970M
+ATI Technologies Inc. AMD Radeon HD 7970M
+ATI Technologies Inc. AMD Radeon HD 7970M
+ATI Technologies Inc. AMD Radeon HD 8210
+ATI Technologies Inc. AMD Radeon HD 8240
+ATI Technologies Inc. AMD Radeon HD 8250
+ATI Technologies Inc. AMD Radeon HD 8280G
+ATI Technologies Inc. AMD Radeon HD 8330
+ATI Technologies Inc. AMD Radeon HD 8330
+ATI Technologies Inc. AMD Radeon HD 8350
+ATI Technologies Inc. AMD Radeon HD 8350
+ATI Technologies Inc. AMD Radeon HD 8350G
+ATI Technologies Inc. AMD Radeon HD 8400
+ATI Technologies Inc. AMD Radeon HD 8450
+ATI Technologies Inc. AMD Radeon HD 8450G
+ATI Technologies Inc. AMD Radeon HD 8470
+ATI Technologies Inc. AMD Radeon HD 8470
+ATI Technologies Inc. AMD Radeon HD 8470D
+ATI Technologies Inc. AMD Radeon HD 8550G
+ATI Technologies Inc. AMD Radeon HD 8550G
+ATI Technologies Inc. AMD Radeon HD 8570
+ATI Technologies Inc. AMD Radeon HD 8570
+ATI Technologies Inc. AMD Radeon HD 8570D
+ATI Technologies Inc. AMD Radeon HD 8570D
+ATI Technologies Inc. AMD Radeon HD 8610G
+ATI Technologies Inc. AMD Radeon HD 8650G
+ATI Technologies Inc. AMD Radeon HD 8650G
+ATI Technologies Inc. AMD Radeon HD 8670D
+ATI Technologies Inc. AMD Radeon HD 8670D
+ATI Technologies Inc. AMD Radeon HD 8670D
+ATI Technologies Inc. AMD Radeon HD 8670D + 6670 Dual Graphics
+ATI Technologies Inc. AMD Radeon HD 8700M Series
+ATI Technologies Inc. AMD Radeon HD 8700M Series
+ATI Technologies Inc. AMD Radeon HD 8730M
+ATI Technologies Inc. AMD Radeon HD 8730M
+ATI Technologies Inc. AMD Radeon HD 8730M
+ATI Technologies Inc. AMD Radeon HD 8750M
+ATI Technologies Inc. AMD Radeon HD 8760
+ATI Technologies Inc. AMD Radeon HD 8760
+ATI Technologies Inc. AMD Radeon HD 8760
+ATI Technologies Inc. AMD Radeon HD 8800M Series
+ATI Technologies Inc. AMD Radeon HD 8800M Series
+ATI Technologies Inc. AMD Radeon HD 8900 Series (OEM)
+ATI Technologies Inc. AMD Radeon HD 8950
+ATI Technologies Inc. AMD Radeon HD 8950
+ATI Technologies Inc. AMD Radeon HD HD7850M
+ATI Technologies Inc. AMD Radeon HD HD7850M
+ATI Technologies Inc. AMD Radeon HD6370D Graphics
+ATI Technologies Inc. AMD Radeon HD6370D Graphics
+ATI Technologies Inc. AMD Radeon HD7610M
+ATI Technologies Inc. AMD Radeon HD7610M
+ATI Technologies Inc. AMD Radeon HD7700 Series
+ATI Technologies Inc. AMD Radeon HD7700 Series
+ATI Technologies Inc. AMD Radeon HD7700 Series
+ATI Technologies Inc. AMD Radeon HD7770
+ATI Technologies Inc. AMD Radeon HD7770
+ATI Technologies Inc. AMD Radeon HD7770 GHz Edition
+ATI Technologies Inc. AMD Radeon HD7770 GHz Edition
+ATI Technologies Inc. AMD Radeon HD8350
+ATI Technologies Inc. AMD Radeon(TM) HD 6380G
+ATI Technologies Inc. AMD Radeon(TM) HD 6380G
+ATI Technologies Inc. AMD Radeon(TM) HD 6470M
+ATI Technologies Inc. AMD Radeon(TM) HD 6470M
+ATI Technologies Inc. AMD Radeon(TM) HD 6480G
+ATI Technologies Inc. AMD Radeon(TM) HD 6480G
+ATI Technologies Inc. AMD Radeon(TM) HD 6480G (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. AMD Radeon(TM) HD 6520G
+ATI Technologies Inc. AMD Radeon(TM) HD 6520G
+ATI Technologies Inc. AMD Radeon(TM) HD 6620G
+ATI Technologies Inc. AMD Radeon(TM) HD 6620G
+ATI Technologies Inc. AMD Radeon(TM) HD 6630M
+ATI Technologies Inc. AMD Radeon(TM) HD 6650M
+ATI Technologies Inc. AMD Radeon(TM) HD 7450
+ATI Technologies Inc. AMD Radeon(TM) HD 7450A Graphics
+ATI Technologies Inc. AMD Radeon(TM) HD 7650A Graphics
+ATI Technologies Inc. AMD Radeon(TM) HD 7670A Graphics
+ATI Technologies Inc. AMD Radeon(TM) HD 7670M
+ATI Technologies Inc. AMD Radeon(TM) HD 8350
+ATI Technologies Inc. AMD Radeon(TM) HD8490
+ATI Technologies Inc. AMD Radeon. HD 7350
+ATI Technologies Inc. AMD Radeon. HD 7670M
+ATI Technologies Inc. AMD Radeon. HD 7730M
+ATI Technologies Inc. AMD Radeon. HD 7730M
+ATI Technologies Inc. ASUS AH3450 Series
+ATI Technologies Inc. ASUS AH3450 Series
+ATI Technologies Inc. ASUS AH3650 Series
+ATI Technologies Inc. ASUS AH4650 Series
+ATI Technologies Inc. ASUS ARES
+ATI Technologies Inc. ASUS ARES2
+ATI Technologies Inc. ASUS EAH2400 Series
+ATI Technologies Inc. ASUS EAH2600 Series
+ATI Technologies Inc. ASUS EAH3450 Series
+ATI Technologies Inc. ASUS EAH3650 Series
+ATI Technologies Inc. ASUS EAH3850 Series
+ATI Technologies Inc. ASUS EAH3870 Series
+ATI Technologies Inc. ASUS EAH4350 series
+ATI Technologies Inc. ASUS EAH4350 series
+ATI Technologies Inc. ASUS EAH4550 series
+ATI Technologies Inc. ASUS EAH4650 series
+ATI Technologies Inc. ASUS EAH4670 series
+ATI Technologies Inc. ASUS EAH4770 Series
+ATI Technologies Inc. ASUS EAH4770 series
+ATI Technologies Inc. ASUS EAH4850 series
+ATI Technologies Inc. ASUS EAH4870 series
+ATI Technologies Inc. ASUS EAH4870x2
+ATI Technologies Inc. ASUS EAH4890
+ATI Technologies Inc. ASUS EAH5450 Series
+ATI Technologies Inc. ASUS EAH5450 Series
+ATI Technologies Inc. ASUS EAH5550 Series
+ATI Technologies Inc. ASUS EAH5550 Series
+ATI Technologies Inc. ASUS EAH5570 series
+ATI Technologies Inc. ASUS EAH5570 series
+ATI Technologies Inc. ASUS EAH5670 Series
+ATI Technologies Inc. ASUS EAH5750 Series
+ATI Technologies Inc. ASUS EAH5750 Series
+ATI Technologies Inc. ASUS EAH5770 Series
+ATI Technologies Inc. ASUS EAH5770 Series
+ATI Technologies Inc. ASUS EAH5830 Series
+ATI Technologies Inc. ASUS EAH5830 Series
+ATI Technologies Inc. ASUS EAH5850 Series
+ATI Technologies Inc. ASUS EAH5850 Series
+ATI Technologies Inc. ASUS EAH5870 Series
+ATI Technologies Inc. ASUS EAH5870 Series
+ATI Technologies Inc. ASUS EAH6450 Series
+ATI Technologies Inc. ASUS EAH6450 Series
+ATI Technologies Inc. ASUS EAH6570 Series
+ATI Technologies Inc. ASUS EAH6570 Series
+ATI Technologies Inc. ASUS EAH6670 Series
+ATI Technologies Inc. ASUS EAH6670 Series
+ATI Technologies Inc. ASUS EAH6750 Series
+ATI Technologies Inc. ASUS EAH6750 Series
+ATI Technologies Inc. ASUS EAH6770 Series
+ATI Technologies Inc. ASUS EAH6770 Series
+ATI Technologies Inc. ASUS EAH6850 Series
+ATI Technologies Inc. ASUS EAH6850 Series
+ATI Technologies Inc. ASUS EAH6870 Series
+ATI Technologies Inc. ASUS EAH6870 Series
+ATI Technologies Inc. ASUS EAH6950 Series
+ATI Technologies Inc. ASUS EAH6950 Series
+ATI Technologies Inc. ASUS EAH6970 Series
+ATI Technologies Inc. ASUS EAH6970 Series
+ATI Technologies Inc. ASUS Extreme AX300 Series
+ATI Technologies Inc. ASUS Extreme AX300SE/T
+ATI Technologies Inc. ASUS Extreme AX550 Series
+ATI Technologies Inc. ASUS Extreme AX550 Series x86/SSE2
+ATI Technologies Inc. ASUS Extreme AX600 Series
+ATI Technologies Inc. ASUS HD 7350
+ATI Technologies Inc. ASUS HD7470 Series
+ATI Technologies Inc. ASUS HD7670 Series
+ATI Technologies Inc. ASUS HD7670 Series
+ATI Technologies Inc. ASUS HD7750 Series
+ATI Technologies Inc. ASUS HD7750 Series
+ATI Technologies Inc. ASUS HD7770 Series
+ATI Technologies Inc. ASUS HD7770 Series
+ATI Technologies Inc. ASUS HD7790 Series
+ATI Technologies Inc. ASUS HD7850 Series
+ATI Technologies Inc. ASUS HD7850 Series
+ATI Technologies Inc. ASUS HD7850 Series
+ATI Technologies Inc. ASUS HD7870 Series
+ATI Technologies Inc. ASUS HD7870 Series
+ATI Technologies Inc. ASUS HD7870 Series
+ATI Technologies Inc. ASUS HD7870 Series
+ATI Technologies Inc. ASUS HD7950 Series
+ATI Technologies Inc. ASUS HD7950 Series
+ATI Technologies Inc. ASUS HD7950 Series
+ATI Technologies Inc. ASUS HD7970 Series
+ATI Technologies Inc. ASUS HD7970 Series
+ATI Technologies Inc. ASUS HD7970 Series
+ATI Technologies Inc. ASUS X1300 Series
+ATI Technologies Inc. ASUS X1300 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ASUS X1300 Series x86/SSE2
+ATI Technologies Inc. ASUS X1300 x86/SSE2
+ATI Technologies Inc. ASUS X1550 Series
+ATI Technologies Inc. ASUS X1550 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ASUS X1550 Series x86/SSE2
+ATI Technologies Inc. ASUS X1600 Series
+ATI Technologies Inc. ASUS X1600 Series x86
+ATI Technologies Inc. ASUS X1600 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ASUS X1600 Series x86/SSE2
+ATI Technologies Inc. ASUS X1650 Series
+ATI Technologies Inc. ASUS X1650 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ASUS X1650 Series x86/SSE2
+ATI Technologies Inc. ASUS X1950 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Radeon HD 5000 Series
+ATI Technologies Inc. ATI Radeon HD 6350
+ATI Technologies Inc. ATI All-in-Wonder HD
+ATI Technologies Inc. ATI Display Adapter
+ATI Technologies Inc. ATI FireGL V3100
+ATI Technologies Inc. ATI FireGL V3200 Pentium 4 (SSE2)
+ATI Technologies Inc. ATI FireGL V3300
+ATI Technologies Inc. ATI FireGL V3350
+ATI Technologies Inc. ATI FireGL V3350 Pentium 4 (SSE2)
+ATI Technologies Inc. ATI FireGL V3400 (Microsoft Corporation - WDDM)
+ATI Technologies Inc. ATI FireGL V3400 Pentium 4 (SSE2)
+ATI Technologies Inc. ATI FireGL V3600
+ATI Technologies Inc. ATI FireGL V5200 (Microsoft Corporation - WDDM)
+ATI Technologies Inc. ATI FireGL V5200 Pentium 4 (SSE2)
+ATI Technologies Inc. ATI FireGL V5600
+ATI Technologies Inc. ATI FireGL V7200
+ATI Technologies Inc. ATI FireGL V7200 Pentium 4 (SSE2)
+ATI Technologies Inc. ATI FireGL V7600
+ATI Technologies Inc. ATI FireGL V7700
+ATI Technologies Inc. ATI FireMV 2250
+ATI Technologies Inc. ATI FireMV 2250 x86/SSE2
+ATI Technologies Inc. ATI FirePro 2260
+ATI Technologies Inc. ATI FirePro 2260
+ATI Technologies Inc. ATI FirePro 2450
+ATI Technologies Inc. ATI FirePro 3800 (FireGL) Graphics Adapter
+ATI Technologies Inc. ATI FirePro M5800
+ATI Technologies Inc. ATI FirePro M7740
+ATI Technologies Inc. ATI FirePro M7820
+ATI Technologies Inc. ATI FirePro M7820
+ATI Technologies Inc. ATI FirePro M7820 (FireGL)
+ATI Technologies Inc. ATI FirePro V3700 (FireGL)
+ATI Technologies Inc. ATI FirePro V3800
+ATI Technologies Inc. ATI FirePro V3800 (FireGL V)
+ATI Technologies Inc. ATI FirePro V3800 (FireGL V) Graphics Adapter
+ATI Technologies Inc. ATI FirePro V3800 (FireGL)
+ATI Technologies Inc. ATI FirePro V4800
+ATI Technologies Inc. ATI FirePro V4800 (FireGL V)
+ATI Technologies Inc. ATI FirePro V4800 (FireGL)
+ATI Technologies Inc. ATI FirePro V5700 (FireGL)
+ATI Technologies Inc. ATI FirePro V5800 (FireGL V)
+ATI Technologies Inc. ATI FirePro V5800 (FireGL)
+ATI Technologies Inc. ATI FirePro V7800 (FireGL V)
+ATI Technologies Inc. ATI FirePro V7800 (FireGL)
+ATI Technologies Inc. ATI FirePro V8700 (FireGL)
+ATI Technologies Inc. ATI FirePro V9800 (FireGL V)
+ATI Technologies Inc. ATI MOBILITY FIRE GL T2/T2e
+ATI Technologies Inc. ATI MOBILITY FireGL V3200
+ATI Technologies Inc. ATI MOBILITY FireGL V5000 Pentium 4 (SSE2)
+ATI Technologies Inc. ATI MOBILITY FireGL V5200
+ATI Technologies Inc. ATI MOBILITY FireGL V5200 Pentium 4 (SSE2)
+ATI Technologies Inc. ATI MOBILITY FireGL V5250
+ATI Technologies Inc. ATI MOBILITY RADEON 9600 Series
+ATI Technologies Inc. ATI MOBILITY RADEON 9600/9700
+ATI Technologies Inc. ATI MOBILITY RADEON 9600/9700
+ATI Technologies Inc. ATI MOBILITY RADEON 9600/9700 Series
+ATI Technologies Inc. ATI MOBILITY RADEON 9600/9700 Series
+ATI Technologies Inc. ATI MOBILITY RADEON 9600/9700 Series (Omega 3
+ATI Technologies Inc. ATI MOBILITY RADEON HD 2300
+ATI Technologies Inc. ATI MOBILITY RADEON HD 2400
+ATI Technologies Inc. ATI MOBILITY RADEON HD 2600
+ATI Technologies Inc. ATI MOBILITY RADEON HD 3430
+ATI Technologies Inc. ATI MOBILITY RADEON HD 3450
+ATI Technologies Inc. ATI MOBILITY RADEON HD 3650
+ATI Technologies Inc. ATI MOBILITY RADEON HD 4530 / 4570
+ATI Technologies Inc. ATI MOBILITY RADEON X1300
+ATI Technologies Inc. ATI MOBILITY RADEON X1350
+ATI Technologies Inc. ATI MOBILITY RADEON X1400
+ATI Technologies Inc. ATI MOBILITY RADEON X1600
+ATI Technologies Inc. ATI MOBILITY RADEON X1700
+ATI Technologies Inc. ATI MOBILITY RADEON X1800
+ATI Technologies Inc. ATI MOBILITY RADEON X1900
+ATI Technologies Inc. ATI MOBILITY RADEON X2300
+ATI Technologies Inc. ATI MOBILITY RADEON X2300 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI MOBILITY RADEON X300
+ATI Technologies Inc. ATI MOBILITY RADEON X300 x86/SSE2
+ATI Technologies Inc. ATI MOBILITY RADEON X600
+ATI Technologies Inc. ATI MOBILITY RADEON X600 SE
+ATI Technologies Inc. ATI MOBILITY RADEON X700
+ATI Technologies Inc. ATI MOBILITY RADEON XPRESS 200
+ATI Technologies Inc. ATI MOBILITY RADEON XPRESS 200 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI MOBILITY Radeon HD 4650
+ATI Technologies Inc. ATI Mobility FireGL V5700
+ATI Technologies Inc. ATI Mobility FireGL V5725
+ATI Technologies Inc. ATI Mobility FireGL V5725
+ATI Technologies Inc. ATI Mobility Radeon 4100
+ATI Technologies Inc. ATI Mobility Radeon Graphics
+ATI Technologies Inc. ATI Mobility Radeon HD 2300
+ATI Technologies Inc. ATI Mobility Radeon HD 2300 x86/SSE2
+ATI Technologies Inc. ATI Mobility Radeon HD 2400
+ATI Technologies Inc. ATI Mobility Radeon HD 2400
+ATI Technologies Inc. ATI Mobility Radeon HD 2400 (Omega 3.8.442)
+ATI Technologies Inc. ATI Mobility Radeon HD 2400 XT
+ATI Technologies Inc. ATI Mobility Radeon HD 2600
+ATI Technologies Inc. ATI Mobility Radeon HD 2600
+ATI Technologies Inc. ATI Mobility Radeon HD 2600 XT
+ATI Technologies Inc. ATI Mobility Radeon HD 2600 XT (Microsoft Corporation WDDM 1.1)
+ATI Technologies Inc. ATI Mobility Radeon HD 2700
+ATI Technologies Inc. ATI Mobility Radeon HD 3400 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 3400 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 3400 Series (Microsoft Corporation WDDM 1.1)
+ATI Technologies Inc. ATI Mobility Radeon HD 3400 Series (Microsoft Corporation- WDDM v1.1)
+ATI Technologies Inc. ATI Mobility Radeon HD 3410
+ATI Technologies Inc. ATI Mobility Radeon HD 3430
+ATI Technologies Inc. ATI Mobility Radeon HD 3430
+ATI Technologies Inc. ATI Mobility Radeon HD 3430 (Microsoft Corporation- WDDM v1.1)
+ATI Technologies Inc. ATI Mobility Radeon HD 3450
+ATI Technologies Inc. ATI Mobility Radeon HD 3470
+ATI Technologies Inc. ATI Mobility Radeon HD 3470
+ATI Technologies Inc. ATI Mobility Radeon HD 3470 Hybrid X2
+ATI Technologies Inc. ATI Mobility Radeon HD 3470 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 3650
+ATI Technologies Inc. ATI Mobility Radeon HD 3650
+ATI Technologies Inc. ATI Mobility Radeon HD 3670
+ATI Technologies Inc. ATI Mobility Radeon HD 3850
+ATI Technologies Inc. ATI Mobility Radeon HD 3870
+ATI Technologies Inc. ATI Mobility Radeon HD 3870 X2
+ATI Technologies Inc. ATI Mobility Radeon HD 4200
+ATI Technologies Inc. ATI Mobility Radeon HD 4200
+ATI Technologies Inc. ATI Mobility Radeon HD 4200
+ATI Technologies Inc. ATI Mobility Radeon HD 4200 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4200 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4200 Series (Microsoft Corporation - WDDM v1.1)
+ATI Technologies Inc. ATI Mobility Radeon HD 4225
+ATI Technologies Inc. ATI Mobility Radeon HD 4225 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4250
+ATI Technologies Inc. ATI Mobility Radeon HD 4250
+ATI Technologies Inc. ATI Mobility Radeon HD 4250 Graphics
+ATI Technologies Inc. ATI Mobility Radeon HD 4250 Graphics
+ATI Technologies Inc. ATI Mobility Radeon HD 4250 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4270
+ATI Technologies Inc. ATI Mobility Radeon HD 4270 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4300 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4300 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4300/4500 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4330
+ATI Technologies Inc. ATI Mobility Radeon HD 4330
+ATI Technologies Inc. ATI Mobility Radeon HD 4330 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4350
+ATI Technologies Inc. ATI Mobility Radeon HD 4350 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4500 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4500 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4500 Series (Microsoft Corporation - WDDM v1.1)
+ATI Technologies Inc. ATI Mobility Radeon HD 4500 Series (Microsoft Corporation WDDM 1.1)
+ATI Technologies Inc. ATI Mobility Radeon HD 4500/5100 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4500/5100 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4530
+ATI Technologies Inc. ATI Mobility Radeon HD 4530 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4530 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4550
+ATI Technologies Inc. ATI Mobility Radeon HD 4570
+ATI Technologies Inc. ATI Mobility Radeon HD 4570
+ATI Technologies Inc. ATI Mobility Radeon HD 4600 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4650
+ATI Technologies Inc. ATI Mobility Radeon HD 4650
+ATI Technologies Inc. ATI Mobility Radeon HD 4650 (Microsoft Corporation - WDDM v1.1)
+ATI Technologies Inc. ATI Mobility Radeon HD 4650 (Microsoft Corporation- WDDM v1.1)
+ATI Technologies Inc. ATI Mobility Radeon HD 4650 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4670
+ATI Technologies Inc. ATI Mobility Radeon HD 4670 (Microsoft Corporation - WDDM v1.1)
+ATI Technologies Inc. ATI Mobility Radeon HD 4830
+ATI Technologies Inc. ATI Mobility Radeon HD 4830 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 4850
+ATI Technologies Inc. ATI Mobility Radeon HD 4870
+ATI Technologies Inc. ATI Mobility Radeon HD 5000
+ATI Technologies Inc. ATI Mobility Radeon HD 5000
+ATI Technologies Inc. ATI Mobility Radeon HD 5000 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 5000 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 5000 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 5000 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 5000 Series (Engineering Sample - WDDM v1.20)
+ATI Technologies Inc. ATI Mobility Radeon HD 5000 Series (Microsoft Corporation - WDDM v1.2)
+ATI Technologies Inc. ATI Mobility Radeon HD 5000 Series (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. ATI Mobility Radeon HD 5000 Series (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. ATI Mobility Radeon HD 5100
+ATI Technologies Inc. ATI Mobility Radeon HD 5145
+ATI Technologies Inc. ATI Mobility Radeon HD 5145
+ATI Technologies Inc. ATI Mobility Radeon HD 5165
+ATI Technologies Inc. ATI Mobility Radeon HD 5165
+ATI Technologies Inc. ATI Mobility Radeon HD 530v
+ATI Technologies Inc. ATI Mobility Radeon HD 530v
+ATI Technologies Inc. ATI Mobility Radeon HD 5400
+ATI Technologies Inc. ATI Mobility Radeon HD 5400 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 5400 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 540v
+ATI Technologies Inc. ATI Mobility Radeon HD 5430
+ATI Technologies Inc. ATI Mobility Radeon HD 5450
+ATI Technologies Inc. ATI Mobility Radeon HD 5450 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 545v
+ATI Technologies Inc. ATI Mobility Radeon HD 545v
+ATI Technologies Inc. ATI Mobility Radeon HD 5470
+ATI Technologies Inc. ATI Mobility Radeon HD 5470
+ATI Technologies Inc. ATI Mobility Radeon HD 550v
+ATI Technologies Inc. ATI Mobility Radeon HD 5570
+ATI Technologies Inc. ATI Mobility Radeon HD 5600/5700 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 560v
+ATI Technologies Inc. ATI Mobility Radeon HD 5650
+ATI Technologies Inc. ATI Mobility Radeon HD 5650
+ATI Technologies Inc. ATI Mobility Radeon HD 565v
+ATI Technologies Inc. ATI Mobility Radeon HD 5700 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 5730
+ATI Technologies Inc. ATI Mobility Radeon HD 5800 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 5800 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 5800 Series (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. ATI Mobility Radeon HD 5830 Series
+ATI Technologies Inc. ATI Mobility Radeon HD 5850
+ATI Technologies Inc. ATI Mobility Radeon HD 5850
+ATI Technologies Inc. ATI Mobility Radeon HD 5870
+ATI Technologies Inc. ATI Mobility Radeon HD 6370
+ATI Technologies Inc. ATI Mobility Radeon HD 6370
+ATI Technologies Inc. ATI Mobility Radeon HD 6550
+ATI Technologies Inc. ATI Mobility Radeon HD 6550
+ATI Technologies Inc. ATI Mobility Radeon HD 6550
+ATI Technologies Inc. ATI Mobility Radeon HD 6570
+ATI Technologies Inc. ATI Mobility Radeon HD 6570
+ATI Technologies Inc. ATI Mobility Radeon X1300
+ATI Technologies Inc. ATI Mobility Radeon X1300 (Omega 3.8.252) x86/SSE2
+ATI Technologies Inc. ATI Mobility Radeon X1300 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Mobility Radeon X1300 x86/SSE2
+ATI Technologies Inc. ATI Mobility Radeon X1350
+ATI Technologies Inc. ATI Mobility Radeon X1350 x86/SSE2
+ATI Technologies Inc. ATI Mobility Radeon X1400
+ATI Technologies Inc. ATI Mobility Radeon X1400 (Omega 3.8.442)
+ATI Technologies Inc. ATI Mobility Radeon X1400 x86
+ATI Technologies Inc. ATI Mobility Radeon X1400 x86/SSE2
+ATI Technologies Inc. ATI Mobility Radeon X1450 x86/SSE2
+ATI Technologies Inc. ATI Mobility Radeon X1600
+ATI Technologies Inc. ATI Mobility Radeon X1600 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Mobility Radeon X1600 x86/SSE2
+ATI Technologies Inc. ATI Mobility Radeon X1700
+ATI Technologies Inc. ATI Mobility Radeon X1700 x86
+ATI Technologies Inc. ATI Mobility Radeon X1700 x86/SSE2
+ATI Technologies Inc. ATI Mobility Radeon X1800 x86/SSE2
+ATI Technologies Inc. ATI Mobility Radeon X1900
+ATI Technologies Inc. ATI Mobility Radeon X2300
+ATI Technologies Inc. ATI Mobility Radeon X2300
+ATI Technologies Inc. ATI Mobility Radeon X2300 x86/MMX/3DNow!
+ATI Technologies Inc. ATI Mobility Radeon X2300 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Mobility Radeon X2300 x86/SSE2
+ATI Technologies Inc. ATI Mobility Radeon X2500
+ATI Technologies Inc. ATI Mobility Radeon. HD 530v
+ATI Technologies Inc. ATI Mobility Radeon. HD 5470
+ATI Technologies Inc. ATI RADEON 9600 Series
+ATI Technologies Inc. ATI RADEON 9600/X1050 Series
+ATI Technologies Inc. ATI RADEON E4690
+ATI Technologies Inc. ATI RADEON HD 3200 Graphics
+ATI Technologies Inc. ATI RADEON XPRESS 1100
+ATI Technologies Inc. ATI RADEON XPRESS 1100 Series
+ATI Technologies Inc. ATI RADEON XPRESS 1100 Series
+ATI Technologies Inc. ATI RADEON XPRESS 1100 x86/SSE2
+ATI Technologies Inc. ATI RADEON XPRESS 1200 Series
+ATI Technologies Inc. ATI RADEON XPRESS 200
+ATI Technologies Inc. ATI RADEON XPRESS 200 Series
+ATI Technologies Inc. ATI RADEON XPRESS 200 Series
+ATI Technologies Inc. ATI RADEON XPRESS 200 Series x86/SSE2
+ATI Technologies Inc. ATI RADEON XPRESS 200 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI RADEON XPRESS 200M SERIES
+ATI Technologies Inc. ATI RADEON XPRESS 200M Series
+ATI Technologies Inc. ATI RADEON XPRESS 200M Series (Microsoft Corporation)
+ATI Technologies Inc. ATI RADEON XPRESS 200M Series (Omega 3.8.421) x86/SSE2
+ATI Technologies Inc. ATI RADEON XPRESS 200M Series x86/SSE2
+ATI Technologies Inc. ATI Radeon 2100
+ATI Technologies Inc. ATI Radeon 2100 (Microsoft Corporation - WDDM)
+ATI Technologies Inc. ATI Radeon 2100 (Microsoft Corporation - WDDM)
+ATI Technologies Inc. ATI Radeon 2100 Graphics
+ATI Technologies Inc. ATI Radeon 3000
+ATI Technologies Inc. ATI Radeon 3000 Graphics
+ATI Technologies Inc. ATI Radeon 3000 Graphics
+ATI Technologies Inc. ATI Radeon 3000 Graphics
+ATI Technologies Inc. ATI Radeon 3000 Graphics (Engineering Sample - WDDM v1.1)
+ATI Technologies Inc. ATI Radeon 3000 Series Graphics
+ATI Technologies Inc. ATI Radeon 3100 Graphics
+ATI Technologies Inc. ATI Radeon 3100 Graphics
+ATI Technologies Inc. ATI Radeon 3100 Graphics (Microsoft Corporation WDDM 1.1)
+ATI Technologies Inc. ATI Radeon 3100 Series Graphics
+ATI Technologies Inc. ATI Radeon 9550 / X1050
+ATI Technologies Inc. ATI Radeon 9550 / X1050 Series
+ATI Technologies Inc. ATI Radeon 9550 / X1050 Series x86/SSE2
+ATI Technologies Inc. ATI Radeon 9550 / X1050 Series(Microsoft Corporation - WDDM)
+ATI Technologies Inc. ATI Radeon 9600 / X1050 Series
+ATI Technologies Inc. ATI Radeon 9600 / X1050 Series x86/SSE2
+ATI Technologies Inc. ATI Radeon 9600/9550/X1050 Series
+ATI Technologies Inc. ATI Radeon BA Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon BA Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon Barts PRO Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon Barts PRO Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon Barts PRO Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon Barts XT Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon Barts XT Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon Caicos PRO Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon Caicos Unknown Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon Cedar PRO Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon Graphics Processor
+ATI Technologies Inc. ATI Radeon HD 2350
+ATI Technologies Inc. ATI Radeon HD 2400
+ATI Technologies Inc. ATI Radeon HD 2400 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 2400 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 2400 PCI
+ATI Technologies Inc. ATI Radeon HD 2400 PRO
+ATI Technologies Inc. ATI Radeon HD 2400 PRO AGP
+ATI Technologies Inc. ATI Radeon HD 2400 Pro
+ATI Technologies Inc. ATI Radeon HD 2400 Series
+ATI Technologies Inc. ATI Radeon HD 2400 Series AGP
+ATI Technologies Inc. ATI Radeon HD 2400 XT
+ATI Technologies Inc. ATI Radeon HD 2400 XT OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 2400 XT OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 2400 XT OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 2600 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 2600 PRO
+ATI Technologies Inc. ATI Radeon HD 2600 PRO OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 2600 PRO OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 2600 Pro
+ATI Technologies Inc. ATI Radeon HD 2600 Pro AGP
+ATI Technologies Inc. ATI Radeon HD 2600 Series
+ATI Technologies Inc. ATI Radeon HD 2600 Series AGP
+ATI Technologies Inc. ATI Radeon HD 2600 XT
+ATI Technologies Inc. ATI Radeon HD 2600/3600 Series
+ATI Technologies Inc. ATI Radeon HD 2900 GT
+ATI Technologies Inc. ATI Radeon HD 2900 PRO
+ATI Technologies Inc. ATI Radeon HD 2900 XT
+ATI Technologies Inc. ATI Radeon HD 3200 Graphics
+ATI Technologies Inc. ATI Radeon HD 3200 Graphics
+ATI Technologies Inc. ATI Radeon HD 3200 Graphics (Microsoft Corporation - WDDM v1.1)
+ATI Technologies Inc. ATI Radeon HD 3200 Graphics (Microsoft Corporation WDDM 1.1)
+ATI Technologies Inc. ATI Radeon HD 3300 Graphics
+ATI Technologies Inc. ATI Radeon HD 3400 Series
+ATI Technologies Inc. ATI Radeon HD 3400 Series
+ATI Technologies Inc. ATI Radeon HD 3450
+ATI Technologies Inc. ATI Radeon HD 3450
+ATI Technologies Inc. ATI Radeon HD 3450 - Dell Optiplex
+ATI Technologies Inc. ATI Radeon HD 3450 AGP
+ATI Technologies Inc. ATI Radeon HD 3470
+ATI Technologies Inc. ATI Radeon HD 3470 - Dell Optiplex
+ATI Technologies Inc. ATI Radeon HD 3600 Series
+ATI Technologies Inc. ATI Radeon HD 3600 Series
+ATI Technologies Inc. ATI Radeon HD 3600 Series (Microsoft Corporation - WDDM v1.1)
+ATI Technologies Inc. ATI Radeon HD 3600 Series (Microsoft Corporation WDDM 1.1)
+ATI Technologies Inc. ATI Radeon HD 3650
+ATI Technologies Inc. ATI Radeon HD 3650 AGP
+ATI Technologies Inc. ATI Radeon HD 3800 Series
+ATI Technologies Inc. ATI Radeon HD 3850
+ATI Technologies Inc. ATI Radeon HD 3850 (Microsoft Corporation - WDDM v1.1)
+ATI Technologies Inc. ATI Radeon HD 3850 AGP
+ATI Technologies Inc. ATI Radeon HD 3870
+ATI Technologies Inc. ATI Radeon HD 3870 (Engineering Sample - WDDM v1.1)
+ATI Technologies Inc. ATI Radeon HD 3870 (Microsoft Corporation - WDDM v1.1)
+ATI Technologies Inc. ATI Radeon HD 3870 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 3870 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 3870 X2
+ATI Technologies Inc. ATI Radeon HD 4200
+ATI Technologies Inc. ATI Radeon HD 4200
+ATI Technologies Inc. ATI Radeon HD 4200 (Microsoft Corporation - WDDM v1.1)
+ATI Technologies Inc. ATI Radeon HD 4250
+ATI Technologies Inc. ATI Radeon HD 4250
+ATI Technologies Inc. ATI Radeon HD 4250 (Engineering Sample - WDDM v1.1)
+ATI Technologies Inc. ATI Radeon HD 4250 (Microsoft Corporation - WDDM v1.1)
+ATI Technologies Inc. ATI Radeon HD 4250 Graphics
+ATI Technologies Inc. ATI Radeon HD 4250 Graphics
+ATI Technologies Inc. ATI Radeon HD 4270
+ATI Technologies Inc. ATI Radeon HD 4270
+ATI Technologies Inc. ATI Radeon HD 4290
+ATI Technologies Inc. ATI Radeon HD 4300 Series
+ATI Technologies Inc. ATI Radeon HD 4300 Series
+ATI Technologies Inc. ATI Radeon HD 4300/4500 Series
+ATI Technologies Inc. ATI Radeon HD 4300/4500 Series
+ATI Technologies Inc. ATI Radeon HD 4300/4500 Series (Microsoft Corporation - WDDM v1.1)
+ATI Technologies Inc. ATI Radeon HD 4300/4500 Series (Microsoft Corporation- WDDM v1.1)
+ATI Technologies Inc. ATI Radeon HD 4350
+ATI Technologies Inc. ATI Radeon HD 4350
+ATI Technologies Inc. ATI Radeon HD 4350 (Microsoft Corporation WDDM 1.1)
+ATI Technologies Inc. ATI Radeon HD 4450
+ATI Technologies Inc. ATI Radeon HD 4500 Series
+ATI Technologies Inc. ATI Radeon HD 4520
+ATI Technologies Inc. ATI Radeon HD 4550
+ATI Technologies Inc. ATI Radeon HD 4550
+ATI Technologies Inc. ATI Radeon HD 4550 (Microsoft Corporation - WDDM v1.1)
+ATI Technologies Inc. ATI Radeon HD 4570
+ATI Technologies Inc. ATI Radeon HD 4580
+ATI Technologies Inc. ATI Radeon HD 4590
+ATI Technologies Inc. ATI Radeon HD 4600 Series
+ATI Technologies Inc. ATI Radeon HD 4600 Series
+ATI Technologies Inc. ATI Radeon HD 4600 Series (Engineering Sample - WDDM v1.1)
+ATI Technologies Inc. ATI Radeon HD 4600 Series (Microsoft Corporation - WDDM v1.1)
+ATI Technologies Inc. ATI Radeon HD 4600-serie (Microsoft Corporation - WDDM v1.1)
+ATI Technologies Inc. ATI Radeon HD 4650
+ATI Technologies Inc. ATI Radeon HD 4650
+ATI Technologies Inc. ATI Radeon HD 4650 (Microsoft Corporation WDDM 1.1)
+ATI Technologies Inc. ATI Radeon HD 4670
+ATI Technologies Inc. ATI Radeon HD 4670
+ATI Technologies Inc. ATI Radeon HD 4670 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 4670 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 4670 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 4700
+ATI Technologies Inc. ATI Radeon HD 4700 Series
+ATI Technologies Inc. ATI Radeon HD 4700 Series
+ATI Technologies Inc. ATI Radeon HD 4720
+ATI Technologies Inc. ATI Radeon HD 4730
+ATI Technologies Inc. ATI Radeon HD 4730 Series
+ATI Technologies Inc. ATI Radeon HD 4770
+ATI Technologies Inc. ATI Radeon HD 4770
+ATI Technologies Inc. ATI Radeon HD 4800
+ATI Technologies Inc. ATI Radeon HD 4800 Series
+ATI Technologies Inc. ATI Radeon HD 4800 Series
+ATI Technologies Inc. ATI Radeon HD 4800 Series (Microsoft Corporation - WDDM v1.1)
+ATI Technologies Inc. ATI Radeon HD 4810 series
+ATI Technologies Inc. ATI Radeon HD 4830
+ATI Technologies Inc. ATI Radeon HD 4850
+ATI Technologies Inc. ATI Radeon HD 4850 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 4850 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 4850 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 4850 PRO OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 4850 Series
+ATI Technologies Inc. ATI Radeon HD 4850 X2
+ATI Technologies Inc. ATI Radeon HD 4870
+ATI Technologies Inc. ATI Radeon HD 4870 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 4870 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 4870 Series
+ATI Technologies Inc. ATI Radeon HD 4870 X2
+ATI Technologies Inc. ATI Radeon HD 5400 Series
+ATI Technologies Inc. ATI Radeon HD 5400 Series
+ATI Technologies Inc. ATI Radeon HD 5450
+ATI Technologies Inc. ATI Radeon HD 5450
+ATI Technologies Inc. ATI Radeon HD 5450
+ATI Technologies Inc. ATI Radeon HD 5450 (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. ATI Radeon HD 5470
+ATI Technologies Inc. ATI Radeon HD 5500
+ATI Technologies Inc. ATI Radeon HD 5500 Series
+ATI Technologies Inc. ATI Radeon HD 5500 Series
+ATI Technologies Inc. ATI Radeon HD 5530
+ATI Technologies Inc. ATI Radeon HD 5570
+ATI Technologies Inc. ATI Radeon HD 5570
+ATI Technologies Inc. ATI Radeon HD 5600 Series
+ATI Technologies Inc. ATI Radeon HD 5600 Series
+ATI Technologies Inc. ATI Radeon HD 5600/5700
+ATI Technologies Inc. ATI Radeon HD 5630
+ATI Technologies Inc. ATI Radeon HD 5670
+ATI Technologies Inc. ATI Radeon HD 5670
+ATI Technologies Inc. ATI Radeon HD 5670 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 5670 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 5670 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 5700 Series
+ATI Technologies Inc. ATI Radeon HD 5700 Series
+ATI Technologies Inc. ATI Radeon HD 5700 Series (Microsoft Corporation - WDDM v1.2)
+ATI Technologies Inc. ATI Radeon HD 5700 Series (Microsoft Corporation - WDDM v1.20)
+ATI Technologies Inc. ATI Radeon HD 5750
+ATI Technologies Inc. ATI Radeon HD 5750 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 5750 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 5750 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 5750 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 5750 Series
+ATI Technologies Inc. ATI Radeon HD 5770
+ATI Technologies Inc. ATI Radeon HD 5770
+ATI Technologies Inc. ATI Radeon HD 5770 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 5770 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 5770 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 5770 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 5800 Series
+ATI Technologies Inc. ATI Radeon HD 5800 Series
+ATI Technologies Inc. ATI Radeon HD 5800 Series
+ATI Technologies Inc. ATI Radeon HD 5850
+ATI Technologies Inc. ATI Radeon HD 5850
+ATI Technologies Inc. ATI Radeon HD 5870
+ATI Technologies Inc. ATI Radeon HD 5870 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 5870 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 5870 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 5900 Series
+ATI Technologies Inc. ATI Radeon HD 5900 Series
+ATI Technologies Inc. ATI Radeon HD 5970
+ATI Technologies Inc. ATI Radeon HD 6230
+ATI Technologies Inc. ATI Radeon HD 6230
+ATI Technologies Inc. ATI Radeon HD 6290
+ATI Technologies Inc. ATI Radeon HD 6350
+ATI Technologies Inc. ATI Radeon HD 6390
+ATI Technologies Inc. ATI Radeon HD 6490
+ATI Technologies Inc. ATI Radeon HD 6490M OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 6490M OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 6490M OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 6510
+ATI Technologies Inc. ATI Radeon HD 6510
+ATI Technologies Inc. ATI Radeon HD 6570M
+ATI Technologies Inc. ATI Radeon HD 6630M OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 6630M OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 6630M OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 6750M OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 6750M OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 6750M OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 6770
+ATI Technologies Inc. ATI Radeon HD 6770
+ATI Technologies Inc. ATI Radeon HD 6770M OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 6770M OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 6770M OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 6970M OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 6970M OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 6970M OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 7350
+ATI Technologies Inc. ATI Radeon HD 7350
+ATI Technologies Inc. ATI Radeon HD 7950 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 7950 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD 7950 OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD Pitcairn XT Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD Tahiti XT Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD Tahiti XT Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD Verde XT Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon HD3750
+ATI Technologies Inc. ATI Radeon HD4300/HD4500 series
+ATI Technologies Inc. ATI Radeon HD4300/HD4500 series
+ATI Technologies Inc. ATI Radeon HD4650
+ATI Technologies Inc. ATI Radeon HD4670
+ATI Technologies Inc. ATI Radeon HD4670
+ATI Technologies Inc. ATI Radeon RV730 Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon RV790 Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon RV790 Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon RV790 Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon Redwood XT Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon Turks PRO Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon Turks XT Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon Turks XT Prototype OpenGL Engine
+ATI Technologies Inc. ATI Radeon X1050
+ATI Technologies Inc. ATI Radeon X1050 Series
+ATI Technologies Inc. ATI Radeon X1050 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Radeon X1050 x86/SSE2
+ATI Technologies Inc. ATI Radeon X1200
+ATI Technologies Inc. ATI Radeon X1200
+ATI Technologies Inc. ATI Radeon X1200 Series
+ATI Technologies Inc. ATI Radeon X1200 Series
+ATI Technologies Inc. ATI Radeon X1200 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. ATI Radeon X1200 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Radeon X1200 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Radeon X1250
+ATI Technologies Inc. ATI Radeon X1250
+ATI Technologies Inc. ATI Radeon X1250
+ATI Technologies Inc. ATI Radeon X1250 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Radeon X1270
+ATI Technologies Inc. ATI Radeon X1270 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Radeon X1300 / X1550 Series
+ATI Technologies Inc. ATI Radeon X1300/X1550 Series
+ATI Technologies Inc. ATI Radeon X1550
+ATI Technologies Inc. ATI Radeon X1550 Series
+ATI Technologies Inc. ATI Radeon X1550 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Radeon X1550 Series x86/SSE2
+ATI Technologies Inc. ATI Radeon X1550 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Radeon X1550 x86/SSE2
+ATI Technologies Inc. ATI Radeon X1600 OpenGL Engine
+ATI Technologies Inc. ATI Radeon X1600 OpenGL Engine
+ATI Technologies Inc. ATI Radeon X1600 OpenGL Engine
+ATI Technologies Inc. ATI Radeon X1900 OpenGL Engine
+ATI Technologies Inc. ATI Radeon X1950 GT
+ATI Technologies Inc. ATI Radeon X1950 GT x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Radeon X1950 GT x86/SSE2
+ATI Technologies Inc. ATI Radeon X300/X550/X1050 Series
+ATI Technologies Inc. ATI Radeon X300/X550/X1050 Series
+ATI Technologies Inc. ATI Radeon X600/X550/X1050 Series
+ATI Technologies Inc. ATI Radeon Xpress 1100
+ATI Technologies Inc. ATI Radeon Xpress 1100 x86/SSE2
+ATI Technologies Inc. ATI Radeon Xpress 1150
+ATI Technologies Inc. ATI Radeon Xpress 1150 Series
+ATI Technologies Inc. ATI Radeon Xpress 1150 Series
+ATI Technologies Inc. ATI Radeon Xpress 1150 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Radeon Xpress 1200 Series
+ATI Technologies Inc. ATI Radeon Xpress 1200 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. ATI Radeon Xpress 1200 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Radeon Xpress 1200 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Radeon Xpress 1200 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Radeon Xpress 1250
+ATI Technologies Inc. ATI Radeon Xpress 1250 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Radeon Xpress 1250 x86/SSE2
+ATI Technologies Inc. ATI Radeon Xpress 1270 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ATI Radeon Xpress Series
+ATI Technologies Inc. ATI Radeon Xpress Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. All-in-Wonder 2006 PCI-E Edition
+ATI Technologies Inc. All-in-Wonder 2006 PCI-E Edition x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. Diamond Radeon X1550
+ATI Technologies Inc. Diamond Radeon X1550 Series
+ATI Technologies Inc. Diamond Radeon X1550 Series x86/SSE2
+ATI Technologies Inc. Diamond Radeon X1550 x86/SSE2
+ATI Technologies Inc. Diamond X1600 PRO 512MB PCI-E x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. FireGL V3100 Pentium 4 (SSE2)
+ATI Technologies Inc. FireGL V3200 Pentium 4 (SSE2)
+ATI Technologies Inc. FireGL X1-128
+ATI Technologies Inc. FireMV 2400 PCI DDR x86
+ATI Technologies Inc. FireMV 2400 PCI DDR x86/SSE2
+ATI Technologies Inc. FirePro M3900 Mobility Professional Graphics
+ATI Technologies Inc. GIGABYTE RADEON 9600 PRO
+ATI Technologies Inc. GIGABYTE Radeon X1300 Pro
+ATI Technologies Inc. GIGABYTE Radeon X1300 Series
+ATI Technologies Inc. GIGABYTE Radeon X1600 PRO
+ATI Technologies Inc. GeCube RADEON 9600XT
+ATI Technologies Inc. GeCube RADEON X550 x86/SSE2
+ATI Technologies Inc. GeCube RADEON X700 Series
+ATI Technologies Inc. GeCube Radeon X1550
+ATI Technologies Inc. GeCube Radeon X1550 Series
+ATI Technologies Inc. GeCube Radeon X1550 Series
+ATI Technologies Inc. GeForce 9600 GT x86/SSE2
+ATI Technologies Inc. GigaByte Radeon X1050
+ATI Technologies Inc. Gigabyte RADEON X300
+ATI Technologies Inc. Gigabyte RADEON X300
+ATI Technologies Inc. Gigabyte RADEON X300 SE
+ATI Technologies Inc. Gigabyte RADEON X300 x86/SSE2
+ATI Technologies Inc. HD3730
+ATI Technologies Inc. HIGHTECH EXCALIBUR RADEON 9550SE Series
+ATI Technologies Inc. HIGHTECH EXCALIBUR RADEON 9550SE Series x86/SSE2
+ATI Technologies Inc. HIGHTECH RADEON 9600XT
+ATI Technologies Inc. HIS Radeon X1550 x86/SSE2
+ATI Technologies Inc. M52 x86
+ATI Technologies Inc. M72-M
+ATI Technologies Inc. MEDION RADEON 9600 TX
+ATI Technologies Inc. MEDION RADEON X740XL x86/SSE2
+ATI Technologies Inc. MOBILITY FIREGL T2 Pentium 4 (SSE2)
+ATI Technologies Inc. MOBILITY RADEON 7000 IGP DDR x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON 7500 DDR x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON 9000 DDR x86
+ATI Technologies Inc. MOBILITY RADEON 9000 DDR x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON 9000 IGPRADEON 9100 IGP DDR x86
+ATI Technologies Inc. MOBILITY RADEON 9000 IGPRADEON 9100 IGP DDR x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON 9000/9100 IGP Series DDR x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON 9000/9100 PRO IGP Series DDR x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON 9200 DDR x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON 9600 x86
+ATI Technologies Inc. MOBILITY RADEON 9600 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. MOBILITY RADEON 9600 x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON 9700 x86
+ATI Technologies Inc. MOBILITY RADEON 9700 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. MOBILITY RADEON 9700 x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON 9800 x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON X300 x86
+ATI Technologies Inc. MOBILITY RADEON X300 x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON X300 x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON X600 SE x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON X600 x86
+ATI Technologies Inc. MOBILITY RADEON X600 x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON X700 SE x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON X700 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. MOBILITY RADEON X700 x86/SSE2
+ATI Technologies Inc. MOBILITY RADEON Xpress 200 Series SW TCL x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. MOBILITY/RADEON 9000 DDR x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. MOBILITY/RADEON 9000 DDR x86/SSE2
+ATI Technologies Inc. MOBILITY/RADEON 9250/9200 Series DDR x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. MOBILITY/RADEON 9250/9200 Series DDR x86/SSE2
+ATI Technologies Inc. MSI RX9550SE x86/MMX/3DNow!/SSE
+ATI Technologies Inc. MSI Radeon X1550
+ATI Technologies Inc. Mobility Radeon X2300 HD
+ATI Technologies Inc. Mobility Radeon X2300 HD x86/SSE2
+ATI Technologies Inc. RADEON 7000 DDR x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON 7000 DDR x86/SSE2
+ATI Technologies Inc. RADEON 7000 SDR x86
+ATI Technologies Inc. RADEON 7000 SW TCL x86/SSE2
+ATI Technologies Inc. RADEON 7200 DDR x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON 7200 DDR x86/SSE2
+ATI Technologies Inc. RADEON 7200 SDR x86/SSE2
+ATI Technologies Inc. RADEON 7500 DDR x86/SSE2
+ATI Technologies Inc. RADEON 8500 DDR x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON 8500 DDR x86/SSE2
+ATI Technologies Inc. RADEON 9000 DDR x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON 9000 DDR x86/SSE2
+ATI Technologies Inc. RADEON 9000 PRO DDR x86/SSE2
+ATI Technologies Inc. RADEON 9000 XT IGPRADEON 9100 XT IGP DDR x86/SSE2
+ATI Technologies Inc. RADEON 9100 DDR x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON 9100 DDR x86/SSE2
+ATI Technologies Inc. RADEON 9100 IGP DDR x86
+ATI Technologies Inc. RADEON 9100 IGP DDR x86/SSE2
+ATI Technologies Inc. RADEON 9200 DDR x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON 9200 DDR x86/SSE2
+ATI Technologies Inc. RADEON 9200 LE DDR x86/SSE2
+ATI Technologies Inc. RADEON 9200 PRO DDR x86/SSE2
+ATI Technologies Inc. RADEON 9200 Series DDR x86
+ATI Technologies Inc. RADEON 9200 Series DDR x86/MMX/3DNow!
+ATI Technologies Inc. RADEON 9200 Series DDR x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON 9200 Series DDR x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON 9200 Series DDR x86/SSE2
+ATI Technologies Inc. RADEON 9200 Series DDR x86/SSE2
+ATI Technologies Inc. RADEON 9200SE DDR x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON 9200SE DDR x86/SSE2
+ATI Technologies Inc. RADEON 9200SE DDR x86/SSE2
+ATI Technologies Inc. RADEON 9250/9000 Series DDR x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON 9250/9200 Series DDR x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON 9250/9200 Series DDR x86/SSE2
+ATI Technologies Inc. RADEON 9500
+ATI Technologies Inc. RADEON 9500 PRO / 9700
+ATI Technologies Inc. RADEON 9550
+ATI Technologies Inc. RADEON 9550 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON 9550 x86/SSE2
+ATI Technologies Inc. RADEON 9600 SERIES
+ATI Technologies Inc. RADEON 9600 TX
+ATI Technologies Inc. RADEON 9600 TX x86/SSE2
+ATI Technologies Inc. RADEON 9600 XT x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON 9600 XT x86/SSE2
+ATI Technologies Inc. RADEON 9600 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON 9600 x86/SSE2
+ATI Technologies Inc. RADEON 9600SE x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON 9600SE x86/SSE2
+ATI Technologies Inc. RADEON 9700 PRO
+ATI Technologies Inc. RADEON 9800 PRO
+ATI Technologies Inc. RADEON 9800 PRO (Microsoft Corporation - WDDM)
+ATI Technologies Inc. RADEON 9800 PRO - Secondary
+ATI Technologies Inc. RADEON 9800 Pro x86/SSE2
+ATI Technologies Inc. RADEON 9800 SERIES
+ATI Technologies Inc. RADEON 9800 XT
+ATI Technologies Inc. RADEON 9800 XT x86/SSE2
+ATI Technologies Inc. RADEON 9800 x86/SSE2
+ATI Technologies Inc. RADEON IGP 340M DDR x86/SSE2
+ATI Technologies Inc. RADEON Radeon X300/X550/X1050 Series x86/SSE2
+ATI Technologies Inc. RADEON X1600 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON X1600 Series x86/SSE2
+ATI Technologies Inc. RADEON X300 SE 128MB HyperMemory x86/SSE2
+ATI Technologies Inc. RADEON X300 SE x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON X300 Series
+ATI Technologies Inc. RADEON X300 Series x86/SSE2
+ATI Technologies Inc. RADEON X300 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON X300 x86/SSE2
+ATI Technologies Inc. RADEON X300/X550 Series x86
+ATI Technologies Inc. RADEON X300/X550 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON X300/X550 Series x86/SSE2
+ATI Technologies Inc. RADEON X300/X550 Series x86/SSE2
+ATI Technologies Inc. RADEON X550 x86/MMX/3DNow!
+ATI Technologies Inc. RADEON X550 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON X550 x86/SSE2
+ATI Technologies Inc. RADEON X550XT
+ATI Technologies Inc. RADEON X600 256MB HyperMemory x86/SSE2
+ATI Technologies Inc. RADEON X600 PRO x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON X600 PRO x86/SSE2
+ATI Technologies Inc. RADEON X600 SE x86/SSE2
+ATI Technologies Inc. RADEON X600 Series
+ATI Technologies Inc. RADEON X600 x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON X600 x86/SSE2
+ATI Technologies Inc. RADEON X600/X550 Series
+ATI Technologies Inc. RADEON X600/X550 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. RADEON X600/X550 Series Secondary
+ATI Technologies Inc. RADEON X600/X550 Series x86/SSE2
+ATI Technologies Inc. RADEON X700 PRO x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON X700 PRO x86/SSE2
+ATI Technologies Inc. RADEON X700 SE
+ATI Technologies Inc. RADEON X700 SE x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON X700 SE x86/SSE2
+ATI Technologies Inc. RADEON X700 Series
+ATI Technologies Inc. RADEON X700 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON X700 Series x86/SSE2
+ATI Technologies Inc. RADEON X700 x86/SSE2
+ATI Technologies Inc. RADEON X700/X550 Series x86/SSE2
+ATI Technologies Inc. RADEON X800 GT x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON X800 GTO
+ATI Technologies Inc. RADEON X800 GTO x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON X800 GTO x86/SSE2
+ATI Technologies Inc. RADEON X800 PRO/GTO
+ATI Technologies Inc. RADEON X800 SE x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON X800 SE x86/SSE2
+ATI Technologies Inc. RADEON X800 Series
+ATI Technologies Inc. RADEON X800 Series
+ATI Technologies Inc. RADEON X800 XL x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON X800 XL x86/SSE2
+ATI Technologies Inc. RADEON X800 XT
+ATI Technologies Inc. RADEON X800 XT (Microsoft Corporation - WDDM)
+ATI Technologies Inc. RADEON X800 XT x86/SSE2
+ATI Technologies Inc. RADEON X800/X850 Series
+ATI Technologies Inc. RADEON X800GT
+ATI Technologies Inc. RADEON X850 Series
+ATI Technologies Inc. RADEON X850 XT Platinum Edition (Microsoft Corporation - WDDM)
+ATI Technologies Inc. RADEON X850 XT Platinum Edition x86/SSE2
+ATI Technologies Inc. RADEON X850 XT x86/SSE2
+ATI Technologies Inc. RADEON XPRESS 200 Series SW TCL x86
+ATI Technologies Inc. RADEON XPRESS 200 Series SW TCL x86/MMX/3DNow!
+ATI Technologies Inc. RADEON XPRESS 200 Series SW TCL x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON XPRESS 200 Series SW TCL x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON XPRESS 200 Series SW TCL x86/SSE2
+ATI Technologies Inc. RADEON XPRESS 200 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON XPRESS 200 Series x86/SSE2
+ATI Technologies Inc. RADEON XPRESS 200M Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86
+ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86/MMX/3DNow!
+ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86/SSE2
+ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86/SSE2
+ATI Technologies Inc. RADEON XPRESS 200M Series x86/MMX/3DNow!
+ATI Technologies Inc. RADEON XPRESS 200M Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON XPRESS 200M Series x86/SSE2
+ATI Technologies Inc. RADEON XPRESS Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON XPRESS Series x86/SSE2
+ATI Technologies Inc. RADEON Xpress 200 Series SW TCL x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. RADEON Xpress 200G Series SW TCL x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. ROBSON CE
+ATI Technologies Inc. ROBSON LE
+ATI Technologies Inc. RS780M
+ATI Technologies Inc. RS880
+ATI Technologies Inc. RS880
+ATI Technologies Inc. RV250 DDR x86/SSE2
+ATI Technologies Inc. Radeon X1300XT/X1600 Pro Series
+ATI Technologies Inc. Radeon X1300XT/X1600Pro/X1650 Series
+ATI Technologies Inc. Radeon X1300XT/X1600Pro/X1650 Series
+ATI Technologies Inc. Radeon (TM) HD 7670M
+ATI Technologies Inc. Radeon (TM) HD 7670M
+ATI Technologies Inc. Radeon (TM) HD 6370M
+ATI Technologies Inc. Radeon (TM) HD 6470M
+ATI Technologies Inc. Radeon (TM) HD 6470M
+ATI Technologies Inc. Radeon (TM) HD 6490M
+ATI Technologies Inc. Radeon (TM) HD 6490M
+ATI Technologies Inc. Radeon (TM) HD 6490M
+ATI Technologies Inc. Radeon (TM) HD 6630M
+ATI Technologies Inc. Radeon (TM) HD 6750M
+ATI Technologies Inc. Radeon (TM) HD 6750M
+ATI Technologies Inc. Radeon (TM) HD 6770M
+ATI Technologies Inc. Radeon (TM) HD 6770M
+ATI Technologies Inc. Radeon (TM) HD 6770M
+ATI Technologies Inc. Radeon (TM) HD 6850M
+ATI Technologies Inc. Radeon (TM) HD 6850M
+ATI Technologies Inc. Radeon (TM) HD 7450M
+ATI Technologies Inc. Radeon (TM) HD 7470M
+ATI Technologies Inc. Radeon (TM) HD 7670M
+ATI Technologies Inc. Radeon (TM) HD 7670M
+ATI Technologies Inc. Radeon (TM) HD 7670M
+ATI Technologies Inc. Radeon (TM) HD 7690M XT
+ATI Technologies Inc. Radeon (TM) HD 7690M XT
+ATI Technologies Inc. Radeon (TM) HD 7690M XT
+ATI Technologies Inc. Radeon (TM) HD 7750M
+ATI Technologies Inc. Radeon (TM) HD 7750M
+ATI Technologies Inc. Radeon (TM) HD 7850M
+ATI Technologies Inc. Radeon (TM) HD 7850M
+ATI Technologies Inc. Radeon (TM) HD 8750M
+ATI Technologies Inc. Radeon (TM) HD 8750M
+ATI Technologies Inc. Radeon 7000 DDR x86/SSE2
+ATI Technologies Inc. Radeon 7500 DDR x86
+ATI Technologies Inc. Radeon 7500 DDR x86/SSE2
+ATI Technologies Inc. Radeon 9100 DDR x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. Radeon 9200 DDR x86/SSE2
+ATI Technologies Inc. Radeon HD 2600 PRO (Omega 3.8.442)
+ATI Technologies Inc. Radeon HD 6470M
+ATI Technologies Inc. Radeon HD 6470M
+ATI Technologies Inc. Radeon HD 6490M
+ATI Technologies Inc. Radeon HD 6800 Series
+ATI Technologies Inc. Radeon HD 6800 Series
+ATI Technologies Inc. Radeon Radeon X300/X550/X1050 Series x86/SSE2
+ATI Technologies Inc. Radeon X1050
+ATI Technologies Inc. Radeon X1050 Series (Omega 3.8.442)
+ATI Technologies Inc. Radeon X1200 Series (Omega 3.8.442)
+ATI Technologies Inc. Radeon X1300 / X1550 Series
+ATI Technologies Inc. Radeon X1300 / X1550 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. Radeon X1300 / X1550 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. Radeon X1300 / X1600 Series
+ATI Technologies Inc. Radeon X1300 Series
+ATI Technologies Inc. Radeon X1300 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. Radeon X1300 Series x86/SSE2
+ATI Technologies Inc. Radeon X1300 Series x86/SSE2
+ATI Technologies Inc. Radeon X1300/X1550 Series
+ATI Technologies Inc. Radeon X1300/X1550 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. Radeon X1300/X1550 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. Radeon X1300/X1550 Series (Omega 3.8.442)
+ATI Technologies Inc. Radeon X1300/X1550 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. Radeon X1300/X1550 Series x86/SSE2
+ATI Technologies Inc. Radeon X1550 64-bit (Microsoft Corporation - WDDM)
+ATI Technologies Inc. Radeon X1550 64-bit x86/SSE2
+ATI Technologies Inc. Radeon X1550 Series
+ATI Technologies Inc. Radeon X1550 Series
+ATI Technologies Inc. Radeon X1550 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. Radeon X1550 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. Radeon X1550 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. Radeon X1550 Series x86/SSE2
+ATI Technologies Inc. Radeon X1600
+ATI Technologies Inc. Radeon X1600 Pro / X1300XT
+ATI Technologies Inc. Radeon X1600 Pro / X1300XT x86/SSE2
+ATI Technologies Inc. Radeon X1600 Series
+ATI Technologies Inc. Radeon X1600 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. Radeon X1600 Series (Omega 3.8.442)
+ATI Technologies Inc. Radeon X1600 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. Radeon X1600 Series x86/SSE2
+ATI Technologies Inc. Radeon X1600 x86/SSE2
+ATI Technologies Inc. Radeon X1600/1650 Series
+ATI Technologies Inc. Radeon X1600/X1650 Series
+ATI Technologies Inc. Radeon X1600/X1650 Series x86/SSE2
+ATI Technologies Inc. Radeon X1650 GTO
+ATI Technologies Inc. Radeon X1650 SE
+ATI Technologies Inc. Radeon X1650 SE x86/SSE2
+ATI Technologies Inc. Radeon X1650 Series
+ATI Technologies Inc. Radeon X1650 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. Radeon X1650 Series
+ATI Technologies Inc. Radeon X1650 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. Radeon X1650 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. Radeon X1650 Series (Omega 3.8.442)
+ATI Technologies Inc. Radeon X1650 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. Radeon X1650 Series x86/SSE2
+ATI Technologies Inc. Radeon X1650 Series x86/SSE2
+ATI Technologies Inc. Radeon X1650/X1700 Series (Omega 3.8.442)
+ATI Technologies Inc. Radeon X1700 FSC
+ATI Technologies Inc. Radeon X1800 CrossFire Edition
+ATI Technologies Inc. Radeon X1800 Series
+ATI Technologies Inc. Radeon X1800 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. Radeon X1900 CrossFire Edition
+ATI Technologies Inc. Radeon X1900 GT
+ATI Technologies Inc. Radeon X1900 GT x86/SSE2
+ATI Technologies Inc. Radeon X1900 Series
+ATI Technologies Inc. Radeon X1900 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. Radeon X1900 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. Radeon X1900 Series x86/SSE2
+ATI Technologies Inc. Radeon X1950 CrossFire Edition
+ATI Technologies Inc. Radeon X1950 Pro
+ATI Technologies Inc. Radeon X1950 Pro (Omega 3.8.442)
+ATI Technologies Inc. Radeon X1950 Pro x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. Radeon X1950 Pro x86/SSE2
+ATI Technologies Inc. Radeon X1950 Series
+ATI Technologies Inc. Radeon X1950 Series
+ATI Technologies Inc. Radeon X1950 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. Radeon X1950 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. Radeon X1950 Series x86/MMX/3DNow!/SSE2
+ATI Technologies Inc. Radeon X1950 Series x86/SSE2
+ATI Technologies Inc. Radeon X300/X550/X1050 Series
+ATI Technologies Inc. Radeon X300/X550/X1050 Series
+ATI Technologies Inc. Radeon X300/X550/X1050 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. Radeon X300/X550/X1050 Series (Microsoft Corporation - WDDM)
+ATI Technologies Inc. Radeon X300/X550/X1050 Series (Omega 3.8.442)
+ATI Technologies Inc. Radeon X300/X550/X1050 Series x86/SSE2
+ATI Technologies Inc. Radeon X550/X700 Series
+ATI Technologies Inc. Radeon X550XTX
+ATI Technologies Inc. Radeon Xpress 200 Series (Omega 3.8.442) x86/SSE2
+ATI Technologies Inc. Radeon Xpress 200M Series (Omega 3.8.442)
+ATI Technologies Inc. SAPPHIRE RADEON 9600 ATLANTIS
+ATI Technologies Inc. SAPPHIRE RADEON X300SE
+ATI Technologies Inc. SAPPHIRE Radeon X1550
+ATI Technologies Inc. SAPPHIRE Radeon X1550 Series
+ATI Technologies Inc. SAPPHIRE Radeon X1550 Series x86/SSE2
+ATI Technologies Inc. SUMO 9640
+ATI Technologies Inc. SUMO 964A
+ATI Technologies Inc. Sapphire RADEON X1600 PRO
+ATI Technologies Inc. Sapphire RADEON X1600 PRO x86/SSE2
+ATI Technologies Inc. Sapphire RADEON X1600 XT
+ATI Technologies Inc. Tul Corporation, RADEON X1300 Series
+ATI Technologies Inc. Tul Corporation, RADEON X300SE
+ATI Technologies Inc. VisionTek Radeon 4350
+ATI Technologies Inc. VisionTek Radeon 4350
+ATI Technologies Inc. VisionTek Radeon HD 2400 PCI
+ATI Technologies Inc. VisionTek Radeon HD 2600 XT AGP
+ATI Technologies Inc. VisionTek Radeon HD 5450
+ATI Technologies Inc. VisionTek Radeon HD2400 Pro AGP
+ATI Technologies Inc. VisionTek Radeon HD2400 Pro PCI
+ATI Technologies Inc. VisionTek Radeon X1300
+ATI Technologies Inc. VisionTek Radeon X1300 Series
+ATI Technologies Inc. VisionTek Radeon X1300 XGE
+ATI Technologies Inc. VisionTek Radeon X1550 Series
+ATI Technologies Inc. WRESTLER 9802
+ATI Technologies Inc. XFX Radeon HD 4570
+Advanced Micro Devices, Inc. Mesa DRI R600 (RS880 9712) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2
+Alex Mohr GL Hijacker!
+Brian Paul Mesa X11
+Gallium
+Humper
+Humper Chromium
+Humper Chromium
+Imagination Technologies 3D-Analyze v2.3 - http://www.tommti-systems.com
+Imagination Technologies PowerVR SGX545
+Imagination Technologies PowerVR SGX545
+Intel
+Intel 3D-Analyze v2.3 - http://www.tommti-systems.com
+Intel 4 Series Internal
+Intel 845G
+Intel 855GM
+Intel 865G
+Intel 915G
+Intel 915GM
+Intel 945G
+Intel 945GM
+Intel 950
+Intel 965
+Intel 965
+Intel 965
+Intel Bear Lake
+Intel Broadwater
+Intel Brookdale
+Intel Cantiga
+Intel Corporation Intel(R) Graphics Media Accelerator 3600 Series
+Intel Corporation Intel(R) Graphics Media Accelerator 3600 Series
+Intel Eaglelake
+Intel G33
+Intel G41
+Intel G45
+Intel Graphics Media HD
+Intel Graphics Media HD
+Intel HD Graphics
+Intel HD Graphics
+Intel HD Graphics
+Intel HD Graphics
+Intel HD Graphics 2000
+Intel HD Graphics 2000
+Intel HD Graphics 3000
+Intel HD Graphics 3000
+Intel HD Graphics 4000
+Intel HD Graphics 4000
+Intel Inc. Intel GMA 950 OpenGL Engine
+Intel Inc. Intel GMA 950 OpenGL Engine
+Intel Inc. Intel GMA X3100 OpenGL Engine
+Intel Inc. Intel GMA X3100 OpenGL Engine
+Intel Inc. Intel GMA X3100 OpenGL Engine
+Intel Inc. Intel HD Graphics 3000 OpenGL Engine
+Intel Inc. Intel HD Graphics 3000 OpenGL Engine
+Intel Inc. Intel HD Graphics 3000 OpenGL Engine
+Intel Inc. Intel HD Graphics 4000 OpenGL Engine
+Intel Inc. Intel HD Graphics 4000 OpenGL Engine
+Intel Inc. Intel HD Graphics 4000 OpenGL Engine
+Intel Inc. Intel HD Graphics 4000 OpenGL Engine
+Intel Inc. Intel HD Graphics 5000 OpenGL Engine
+Intel Inc. Intel HD Graphics 5000 OpenGL Engine
+Intel Inc. Intel HD Graphics 5000 OpenGL Engine
+Intel Inc. Intel HD Graphics OpenGL Engine
+Intel Intel 845G
+Intel Intel 845G
+Intel Intel 855GM
+Intel Intel 855GM
+Intel Intel 865G
+Intel Intel 865G
+Intel Intel 915G
+Intel Intel 915G
+Intel Intel 915GM
+Intel Intel 915GM
+Intel Intel 945G
+Intel Intel 945G
+Intel Intel 945GM
+Intel Intel 945GM
+Intel Intel 965/963 Graphics Media Accelerator
+Intel Intel 965/963 Graphics Media Accelerator
+Intel Intel Bear Lake B
+Intel Intel Bear Lake B
+Intel Intel Broadwater G
+Intel Intel Brookdale-G
+Intel Intel Cantiga
+Intel Intel Cantiga
+Intel Intel Eaglelake
+Intel Intel Eaglelake
+Intel Intel Grantsdale-G
+Intel Intel Grantsdale-G
+Intel Intel Iris Pro Graphics 5200
+Intel Intel Montara-GM
+Intel Intel Pineview Platform
+Intel Intel Pineview Platform
+Intel Intel Springdale-G
+Intel Intel(R) HD Graphics Family
+Intel Intel(R) 4 Series Internal Chipset
+Intel Intel(R) 4 Series Internal Chipset
+Intel Intel(R) B43 Express Chipset
+Intel Intel(R) B43 Express Chipset
+Intel Intel(R) G41 Express Chipset
+Intel Intel(R) G41 Express Chipset
+Intel Intel(R) G41 Express Chipset
+Intel Intel(R) G41 Express Chipset (Microsoft Corporation - WDDM 1.1)
+Intel Intel(R) G41 Express Chipset v2
+Intel Intel(R) G45/G43 Express Chipset
+Intel Intel(R) G45/G43 Express Chipset
+Intel Intel(R) G45/G43 Express Chipset
+Intel Intel(R) G45/G43/G41 Express Chipset
+Intel Intel(R) Graphics Media Accelerator HD
+Intel Intel(R) Graphics Media Accelerator HD
+Intel Intel(R) Graphics Media Accelerator HD
+Intel Intel(R) HD Graphics
+Intel Intel(R) HD Graphics
+Intel Intel(R) HD Graphics
+Intel Intel(R) HD Graphics 100
+Intel Intel(R) HD Graphics 2000
+Intel Intel(R) HD Graphics 2000
+Intel Intel(R) HD Graphics 2500
+Intel Intel(R) HD Graphics 2500
+Intel Intel(R) HD Graphics 3000
+Intel Intel(R) HD Graphics 3000
+Intel Intel(R) HD Graphics 3000
+Intel Intel(R) HD Graphics 4000
+Intel Intel(R) HD Graphics 4000
+Intel Intel(R) HD Graphics 4000
+Intel Intel(R) HD Graphics 4000
+Intel Intel(R) HD Graphics 4400
+Intel Intel(R) HD Graphics 4600
+Intel Intel(R) HD Graphics 4600
+Intel Intel(R) HD Graphics 5000
+Intel Intel(R) HD Graphics BR-1004-01Y1
+Intel Intel(R) HD Graphics Family
+Intel Intel(R) HD Graphics Family
+Intel Intel(R) HD Graphics P3000
+Intel Intel(R) HD Graphics P4000
+Intel Intel(R) Q45/Q43 Express Chipset
+Intel Intel(R) Q45/Q43 Express Chipset
+Intel Iris OpenGL Graphics Engine
+Intel Mobile 4 Series
+Intel Mobile Intel(R) 4 Series Express Chipset Family
+Intel Mobile Intel(R) 4 Series Express Chipset Family
+Intel Mobile Intel(R) 4 Series Express Chipset Family v2
+Intel Mobile Intel(R) 45 Express Chipset Family (Microsoft Corporation - WDDM 1.1)
+Intel Mobile Intel(R) HD Graphics
+Intel Mobile Intel(R) HD Graphics
+Intel Montara
+Intel Open Source Technology Center Mesa DRI Intel(R) 852GM/855GM x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) 915G
+Intel Open Source Technology Center Mesa DRI Intel(R) 915G x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) 915GM x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) 945G
+Intel Open Source Technology Center Mesa DRI Intel(R) 945G x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) 945GM
+Intel Open Source Technology Center Mesa DRI Intel(R) 945GM x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) 945GME x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) 965G x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) 965GM
+Intel Open Source Technology Center Mesa DRI Intel(R) 965GM x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) 965GME/GLE
+Intel Open Source Technology Center Mesa DRI Intel(R) 965Q
+Intel Open Source Technology Center Mesa DRI Intel(R) 965Q x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) G33 x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) G41 x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) G45/G43
+Intel Open Source Technology Center Mesa DRI Intel(R) G45/G43 x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) IGD
+Intel Open Source Technology Center Mesa DRI Intel(R) IGD x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) Ironlake Desktop x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) Ironlake Mobile
+Intel Open Source Technology Center Mesa DRI Intel(R) Ironlake Mobile x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) Ivybridge Desktop
+Intel Open Source Technology Center Mesa DRI Intel(R) Ivybridge Desktop x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) Ivybridge Mobile
+Intel Open Source Technology Center Mesa DRI Intel(R) Ivybridge Mobile x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) Q35
+Intel Open Source Technology Center Mesa DRI Intel(R) Q35 x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) Q45/Q43
+Intel Open Source Technology Center Mesa DRI Intel(R) Q45/Q43 x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) Sandybridge Desktop
+Intel Open Source Technology Center Mesa DRI Intel(R) Sandybridge Desktop x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) Sandybridge Mobile
+Intel Open Source Technology Center Mesa DRI Intel(R) Sandybridge Mobile x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Intel(R) Sandybridge Mobile x86/MMX/SSE2
+Intel Open Source Technology Center Mesa DRI Mobile Intelå¨ GM45 Express Chipset
+Intel Open Source Technology Center Mesa DRI Mobile Intelå¨ GM45 Express Chipset x86/MMX/SSE2
+Intel Pineview
+Intel Q45/Q43
+Intel Royal BNA Driver
+Intel Springdale
+Intel X3100
+Intel X3100
+Matrox Graphics Inc. Matrox ICD for M-Series
+Matrox Graphics Inc. Matrox G400
+Matrox Graphics Inc. Matrox ICD for Parhelia
+Mesa
+Mesa
+Mesa Project Software Rasterizer
+Mesa project: www.mesa3d.org Mesa GLX Indirect
+NVIDIA 205
+NVIDIA 210
+NVIDIA 210
+NVIDIA 310
+NVIDIA 310
+NVIDIA 310
+NVIDIA 310M
+NVIDIA 310M
+NVIDIA 315
+NVIDIA 315M
+NVIDIA 315M
+NVIDIA 320M
+NVIDIA 320M
+NVIDIA 405
+NVIDIA 410
+NVIDIA 510
+NVIDIA 610M
+NVIDIA Corporation /PCI/SSE2
+NVIDIA Corporation 3D-Analyze v2.3 - http://www.tommti-systems.com
+NVIDIA Corporation C51/PCI/SSE2/3DNOW!
+NVIDIA Corporation C51G/PCI/SSE2/3DNOW!
+NVIDIA Corporation D10P1-25/PCI/SSE2/3DNOW!
+NVIDIA Corporation D14P1-30/PCIe/SSE2
+NVIDIA Corporation D9M-20/PCI/SSE2
+NVIDIA Corporation D9M-20/PCI/SSE2/3DNOW!
+NVIDIA Corporation G72/PCI/SSE2/3DNOW!
+NVIDIA Corporation G73/AGP/SSE2/3DNOW!
+NVIDIA Corporation G73/PCI/SSE2/3DNOW!
+NVIDIA Corporation G84-50/PCI/SSE2
+NVIDIA Corporation G92-100/PCI/SSE2/3DNOW!
+NVIDIA Corporation GK106/PCIe/SSE2
+NVIDIA Corporation GRID K2/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 555/PCI/SSE2
+NVIDIA Corporation GeForce GTX 555/PCI/SSE2
+NVIDIA Corporation GeForce GTX 555/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 555/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 555/PCIe/SSE2
+NVIDIA Corporation GeForce 205/PCI/SSE2
+NVIDIA Corporation GeForce 210/PCI/SSE2
+NVIDIA Corporation GeForce 210/PCI/SSE2
+NVIDIA Corporation GeForce 210/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 210/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 210/PCIe/SSE2
+NVIDIA Corporation GeForce 210/PCIe/SSE2
+NVIDIA Corporation GeForce 210/PCIe/SSE2
+NVIDIA Corporation GeForce 210/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 210/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 310/PCI/SSE2
+NVIDIA Corporation GeForce 310/PCI/SSE2
+NVIDIA Corporation GeForce 310/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 310/PCIe/SSE2
+NVIDIA Corporation GeForce 310/PCIe/SSE2
+NVIDIA Corporation GeForce 310/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 310M/PCI/SSE2
+NVIDIA Corporation GeForce 310M/PCI/SSE2
+NVIDIA Corporation GeForce 310M/PCIe/SSE2
+NVIDIA Corporation GeForce 310M/PCIe/SSE2
+NVIDIA Corporation GeForce 310M/PCIe/SSE2
+NVIDIA Corporation GeForce 315/PCI/SSE2
+NVIDIA Corporation GeForce 315/PCI/SSE2
+NVIDIA Corporation GeForce 315/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 315/PCIe/SSE2
+NVIDIA Corporation GeForce 315/PCIe/SSE2
+NVIDIA Corporation GeForce 315/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 315M/PCI/SSE2
+NVIDIA Corporation GeForce 315M/PCI/SSE2
+NVIDIA Corporation GeForce 315M/PCI/SSE2
+NVIDIA Corporation GeForce 315M/PCIe/SSE2
+NVIDIA Corporation GeForce 315M/PCIe/SSE2
+NVIDIA Corporation GeForce 320M/PCI/SSE2
+NVIDIA Corporation GeForce 320M/PCI/SSE2
+NVIDIA Corporation GeForce 320M/integrated/SSE2
+NVIDIA Corporation GeForce 405/PCI/SSE2
+NVIDIA Corporation GeForce 405/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 405/PCIe/SSE2
+NVIDIA Corporation GeForce 405/PCIe/SSE2
+NVIDIA Corporation GeForce 405/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 410M/PCI/SSE2
+NVIDIA Corporation GeForce 410M/PCI/SSE2
+NVIDIA Corporation GeForce 410M/PCIe/SSE2
+NVIDIA Corporation GeForce 410M/PCIe/SSE2
+NVIDIA Corporation GeForce 505/PCIe/SSE2
+NVIDIA Corporation GeForce 510/PCI/SSE2
+NVIDIA Corporation GeForce 510/PCI/SSE2
+NVIDIA Corporation GeForce 510/PCIe/SSE2
+NVIDIA Corporation GeForce 510/PCIe/SSE2
+NVIDIA Corporation GeForce 510/PCIe/SSE2
+NVIDIA Corporation GeForce 605/PCI/SSE2
+NVIDIA Corporation GeForce 605/PCIe/SSE2
+NVIDIA Corporation GeForce 605/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 610/PCIe/SSE2
+NVIDIA Corporation GeForce 6100 nForce 400/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6100 nForce 400/integrated/SSE2
+NVIDIA Corporation GeForce 6100 nForce 400/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6100 nForce 405/PCI/SSE2
+NVIDIA Corporation GeForce 6100 nForce 405/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6100 nForce 405/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6100 nForce 405/integrated/SSE2
+NVIDIA Corporation GeForce 6100 nForce 405/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6100 nForce 405/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6100 nForce 420/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6100 nForce 430/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6100 nForce 430/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6100/PCI/SSE2
+NVIDIA Corporation GeForce 6100/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6100/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6100/integrated/SSE2
+NVIDIA Corporation GeForce 6100/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 610M/PCI/SSE2
+NVIDIA Corporation GeForce 610M/PCIe/SSE2
+NVIDIA Corporation GeForce 610M/PCIe/SSE2
+NVIDIA Corporation GeForce 610M/PCIe/SSE2
+NVIDIA Corporation GeForce 615/PCIe/SSE2
+NVIDIA Corporation GeForce 6150 LE/PCI/SSE2
+NVIDIA Corporation GeForce 6150 LE/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6150 LE/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6150 LE/integrated/SSE2
+NVIDIA Corporation GeForce 6150 LE/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6150 LE/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6150 SE/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6150/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6150/integrated/SSE2
+NVIDIA Corporation GeForce 6150/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6150SE nForce 430/PCI/SSE2
+NVIDIA Corporation GeForce 6150SE nForce 430/PCI/SSE2
+NVIDIA Corporation GeForce 6150SE nForce 430/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6150SE nForce 430/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6150SE nForce 430/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6150SE nForce 430/integrated/SSE2
+NVIDIA Corporation GeForce 6150SE nForce 430/integrated/SSE2
+NVIDIA Corporation GeForce 6150SE nForce 430/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6150SE nForce 430/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6150SE/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6200 A-LE/AGP/SSE2
+NVIDIA Corporation GeForce 6200 A-LE/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6200 A-LE/PCI/SSE2
+NVIDIA Corporation GeForce 6200 A-LE/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6200 LE/PCI/SSE2
+NVIDIA Corporation GeForce 6200 LE/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6200 LE/PCIe/SSE2
+NVIDIA Corporation GeForce 6200 LE/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6200 TurboCache(TM)/PCI/SSE2
+NVIDIA Corporation GeForce 6200 TurboCache(TM)/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6200 TurboCache(TM)/PCIe/SSE2
+NVIDIA Corporation GeForce 6200 TurboCache(TM)/PCIe/SSE2
+NVIDIA Corporation GeForce 6200 TurboCache(TM)/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6200/AGP/SSE2
+NVIDIA Corporation GeForce 6200/AGP/SSE2
+NVIDIA Corporation GeForce 6200/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6200/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6200/PCI/SSE2
+NVIDIA Corporation GeForce 6200/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6200/PCIe/SSE2
+NVIDIA Corporation GeForce 6200/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6200SE TurboCache(TM)/PCI/SSE2
+NVIDIA Corporation GeForce 6200SE TurboCache(TM)/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6200SE TurboCache(TM)/PCIe/SSE2
+NVIDIA Corporation GeForce 6200SE TurboCache(TM)/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6500/PCI/SSE2
+NVIDIA Corporation GeForce 6500/PCI/SSE2
+NVIDIA Corporation GeForce 6500/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6500/PCIe/SSE2
+NVIDIA Corporation GeForce 6500/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6600 GT/AGP/SSE2
+NVIDIA Corporation GeForce 6600 GT/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6600 GT/PCI/SSE2
+NVIDIA Corporation GeForce 6600 GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6600 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 6600 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 6600 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6600 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6600 LE/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6600 LE/PCI/SSE2
+NVIDIA Corporation GeForce 6600 LE/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6600 LE/PCIe/SSE2
+NVIDIA Corporation GeForce 6600 LE/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6600/AGP/SSE2
+NVIDIA Corporation GeForce 6600/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6600/PCI/SSE2
+NVIDIA Corporation GeForce 6600/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6600/PCIe/SSE2
+NVIDIA Corporation GeForce 6600/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6610 XL/PCI/SSE2
+NVIDIA Corporation GeForce 6610 XL/PCIe/SSE2
+NVIDIA Corporation GeForce 6700 XL/PCI/SSE2
+NVIDIA Corporation GeForce 6700 XL/PCIe/SSE2
+NVIDIA Corporation GeForce 6800 GS/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6800 GS/PCI/SSE2
+NVIDIA Corporation GeForce 6800 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 6800 GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6800 GT/AGP/SSE2
+NVIDIA Corporation GeForce 6800 GT/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6800 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 6800 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6800 LE/AGP/SSE2
+NVIDIA Corporation GeForce 6800 LE/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6800 LE/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6800 Ultra/AGP/SSE2
+NVIDIA Corporation GeForce 6800 Ultra/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6800 Ultra/PCI/SSE2
+NVIDIA Corporation GeForce 6800 Ultra/PCIe/SSE2
+NVIDIA Corporation GeForce 6800 Ultra/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6800 XT/AGP/SSE2
+NVIDIA Corporation GeForce 6800 XT/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6800 XT/PCI/SSE2
+NVIDIA Corporation GeForce 6800 XT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6800 XT/PCIe/SSE2
+NVIDIA Corporation GeForce 6800 XT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6800/AGP/SSE2
+NVIDIA Corporation GeForce 6800/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 6800/PCI/SSE2
+NVIDIA Corporation GeForce 6800/PCIe/SSE2
+NVIDIA Corporation GeForce 6800/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7000M / nForce 610M/PCI/SSE2
+NVIDIA Corporation GeForce 7000M / nForce 610M/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7000M / nForce 610M/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7000M / nForce 610M/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7025 / NVIDIA nForce 630a/PCI/SSE2
+NVIDIA Corporation GeForce 7025 / NVIDIA nForce 630a/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7025 / NVIDIA nForce 630a/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7025 / nForce 630a/PCI/SSE2
+NVIDIA Corporation GeForce 7025 / nForce 630a/PCI/SSE2
+NVIDIA Corporation GeForce 7025 / nForce 630a/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7025 / nForce 630a/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7025 / nForce 630a/integrated/SSE2
+NVIDIA Corporation GeForce 7025 / nForce 630a/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7025 / nForce 630a/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7050 / NVIDIA nForce 610i/PCI/SSE2
+NVIDIA Corporation GeForce 7050 / NVIDIA nForce 620i/PCI/SSE2
+NVIDIA Corporation GeForce 7050 / NVIDIA nForce 630i/PCI/SSE2
+NVIDIA Corporation GeForce 7050 / nForce 610i/PCI/SSE2
+NVIDIA Corporation GeForce 7050 / nForce 610i/integrated/SSE2
+NVIDIA Corporation GeForce 7050 / nForce 610i/integrated/SSE2
+NVIDIA Corporation GeForce 7050 / nForce 620i/PCI/SSE2
+NVIDIA Corporation GeForce 7050 / nForce 620i/PCI/SSE2
+NVIDIA Corporation GeForce 7050 / nForce 620i/integrated/SSE2
+NVIDIA Corporation GeForce 7050 / nForce 620i/integrated/SSE2
+NVIDIA Corporation GeForce 7050 / nForce 630i/PCI/SSE2
+NVIDIA Corporation GeForce 7050 / nForce 630i/integrated/SSE2
+NVIDIA Corporation GeForce 7050 PV / NVIDIA nForce 630a/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7050 PV / nForce 630a/PCI/SSE2
+NVIDIA Corporation GeForce 7050 PV / nForce 630a/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7050 PV / nForce 630a/integrated/SSE2
+NVIDIA Corporation GeForce 7050 PV / nForce 630a/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7050 PV / nForce 630a/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7100 / NVIDIA nForce 620i/PCI/SSE2
+NVIDIA Corporation GeForce 7100 / NVIDIA nForce 630i/PCI/SSE2
+NVIDIA Corporation GeForce 7100 / nForce 630i/PCI/SSE2
+NVIDIA Corporation GeForce 7100 / nForce 630i/PCI/SSE2
+NVIDIA Corporation GeForce 7100 / nForce 630i/integrated/SSE2
+NVIDIA Corporation GeForce 7100 / nForce 630i/integrated/SSE2
+NVIDIA Corporation GeForce 7100 GS/PCI/SSE2
+NVIDIA Corporation GeForce 7100 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7100 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 7100 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 7100 GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 710A/PCIe/SSE2
+NVIDIA Corporation GeForce 710M/PCIe/SSE2
+NVIDIA Corporation GeForce 710M/PCIe/SSE2
+NVIDIA Corporation GeForce 710M/PCIe/SSE2
+NVIDIA Corporation GeForce 7150 / nForce 630i/PCI/SSE2
+NVIDIA Corporation GeForce 7150M / nForce 630M/PCI/SSE2
+NVIDIA Corporation GeForce 7150M / nForce 630M/PCI/SSE2
+NVIDIA Corporation GeForce 7150M / nForce 630M/PCI/SSE2
+NVIDIA Corporation GeForce 7150M / nForce 630M/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7150M / nForce 630M/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7150M / nForce 630M/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7150M / nForce 630M/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7300 GS/PCI/SSE2
+NVIDIA Corporation GeForce 7300 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7300 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 7300 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 7300 GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7300 GT/AGP/SSE2
+NVIDIA Corporation GeForce 7300 GT/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7300 GT/PCI/SSE2
+NVIDIA Corporation GeForce 7300 GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7300 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 7300 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 7300 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7300 LE/PCI/SSE2
+NVIDIA Corporation GeForce 7300 LE/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7300 LE/PCIe/SSE2
+NVIDIA Corporation GeForce 7300 LE/PCIe/SSE2
+NVIDIA Corporation GeForce 7300 LE/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7300 SE/7200 GS/PCI/SSE2
+NVIDIA Corporation GeForce 7300 SE/7200 GS/PCI/SSE2
+NVIDIA Corporation GeForce 7300 SE/7200 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7300 SE/7200 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 7300 SE/7200 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 7300 SE/7200 GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7300 SE/7200 GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7300 SE/PCI/SSE2
+NVIDIA Corporation GeForce 7300 SE/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7300 SE/PCIe/SSE2
+NVIDIA Corporation GeForce 7350 LE/PCI/SSE2
+NVIDIA Corporation GeForce 7350 LE/PCIe/SSE2
+NVIDIA Corporation GeForce 7350 LE/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7500 LE/PCI/SSE2
+NVIDIA Corporation GeForce 7500 LE/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7500 LE/PCIe/SSE2
+NVIDIA Corporation GeForce 7500 LE/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7600 GS/AGP/SSE2
+NVIDIA Corporation GeForce 7600 GS/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7600 GS/PCI/SSE2
+NVIDIA Corporation GeForce 7600 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7600 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7600 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 7600 GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7600 GT/AGP/SSE2
+NVIDIA Corporation GeForce 7600 GT/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7600 GT/PCI/SSE2
+NVIDIA Corporation GeForce 7600 GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7600 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 7600 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 7600 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7600 LE/PCIe/SSE2
+NVIDIA Corporation GeForce 7650 GS/AGP/SSE2
+NVIDIA Corporation GeForce 7650 GS/PCI/SSE2
+NVIDIA Corporation GeForce 7650 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7650 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 7800 GS/AGP/SSE2
+NVIDIA Corporation GeForce 7800 GS/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7800 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7800 GT/PCI/SSE2
+NVIDIA Corporation GeForce 7800 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 7800 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7800 GTX/PCI/SSE2
+NVIDIA Corporation GeForce 7800 GTX/PCIe/SSE2
+NVIDIA Corporation GeForce 7800 GTX/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7900 GS/AGP/SSE2
+NVIDIA Corporation GeForce 7900 GS/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7900 GS/PCI/SSE2
+NVIDIA Corporation GeForce 7900 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7900 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 7900 GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7900 GT/GTO/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7900 GT/GTO/PCIe/SSE2
+NVIDIA Corporation GeForce 7900 GT/GTO/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7900 GT/PCI/SSE2
+NVIDIA Corporation GeForce 7900 GTX/PCI/SSE2
+NVIDIA Corporation GeForce 7900 GTX/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7900 GTX/PCIe/SSE2
+NVIDIA Corporation GeForce 7900 GTX/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7950 GT/AGP/SSE2
+NVIDIA Corporation GeForce 7950 GT/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7950 GT/PCI/SSE2
+NVIDIA Corporation GeForce 7950 GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7950 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 7950 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 7950 GX2/PCI/SSE2
+NVIDIA Corporation GeForce 7950 GX2/PCIe/SSE2
+NVIDIA Corporation GeForce 7950 GX2/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8100 / nForce 720a/PCI/SSE2
+NVIDIA Corporation GeForce 8100 / nForce 720a/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8100 / nForce 720a/integrated/SSE2
+NVIDIA Corporation GeForce 8100 / nForce 720a/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8200/PCI/SSE2
+NVIDIA Corporation GeForce 8200/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8200/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8200/integrated/SSE2
+NVIDIA Corporation GeForce 8200/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8200/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8200M G/PCI/SSE2
+NVIDIA Corporation GeForce 8200M G/PCI/SSE2
+NVIDIA Corporation GeForce 8200M G/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8200M G/integrated/SSE2
+NVIDIA Corporation GeForce 8200M G/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8200M/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8300 GS/PCI/SSE2
+NVIDIA Corporation GeForce 8300 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8300 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 8300 GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8300/PCI/SSE2
+NVIDIA Corporation GeForce 8300/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8300/integrated/SSE2
+NVIDIA Corporation GeForce 8300/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8400 GS/PCI/SSE2
+NVIDIA Corporation GeForce 8400 GS/PCI/SSE2
+NVIDIA Corporation GeForce 8400 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8400 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8400 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 8400 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 8400 GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8400 GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8400 SE/PCI/SSE2
+NVIDIA Corporation GeForce 8400 SE/PCIe/SSE2
+NVIDIA Corporation GeForce 8400/PCI/SSE2
+NVIDIA Corporation GeForce 8400/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8400/PCIe/SSE2
+NVIDIA Corporation GeForce 8400/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8400GS/PCI/SSE2
+NVIDIA Corporation GeForce 8400GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8400GS/PCIe/SSE2
+NVIDIA Corporation GeForce 8400GS/PCIe/SSE2
+NVIDIA Corporation GeForce 8400GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8400M G/PCI/SSE2
+NVIDIA Corporation GeForce 8400M G/PCI/SSE2
+NVIDIA Corporation GeForce 8400M G/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8400M G/PCIe/SSE2
+NVIDIA Corporation GeForce 8400M G/PCIe/SSE2
+NVIDIA Corporation GeForce 8400M G/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8400M GS/PCI/SSE2
+NVIDIA Corporation GeForce 8400M GS/PCI/SSE2
+NVIDIA Corporation GeForce 8400M GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8400M GS/PCIe/SSE2
+NVIDIA Corporation GeForce 8400M GS/PCIe/SSE2
+NVIDIA Corporation GeForce 8400M GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8400M GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8400M GT/PCI/SSE2
+NVIDIA Corporation GeForce 8400M GT/PCIe/SSE2
+NVIDIA Corporation GeForce 8500 GT/PCI/SSE2
+NVIDIA Corporation GeForce 8500 GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8500 GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8500 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 8500 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8500 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8600 GS/PCI/SSE2
+NVIDIA Corporation GeForce 8600 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8600 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 8600 GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8600 GT/PCI/SSE2
+NVIDIA Corporation GeForce 8600 GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8600 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 8600 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 8600 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8600 GTS/PCI/SSE2
+NVIDIA Corporation GeForce 8600 GTS/PCI/SSE2
+NVIDIA Corporation GeForce 8600 GTS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8600 GTS/PCIe/SSE2
+NVIDIA Corporation GeForce 8600 GTS/PCIe/SSE2
+NVIDIA Corporation GeForce 8600 GTS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8600GS/PCI/SSE2
+NVIDIA Corporation GeForce 8600GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8600M GS/PCI/SSE2
+NVIDIA Corporation GeForce 8600M GS/PCI/SSE2
+NVIDIA Corporation GeForce 8600M GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8600M GS/PCIe/SSE2
+NVIDIA Corporation GeForce 8600M GS/PCIe/SSE2
+NVIDIA Corporation GeForce 8600M GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8600M GT/PCI/SSE2
+NVIDIA Corporation GeForce 8600M GT/PCI/SSE2
+NVIDIA Corporation GeForce 8600M GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8600M GT/PCIe/SSE2
+NVIDIA Corporation GeForce 8600M GT/PCIe/SSE2
+NVIDIA Corporation GeForce 8600M GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8700M GT/PCI/SSE2
+NVIDIA Corporation GeForce 8700M GT/PCIe/SSE2
+NVIDIA Corporation GeForce 8700M GT/PCIe/SSE2
+NVIDIA Corporation GeForce 8800 GS/PCI/SSE2
+NVIDIA Corporation GeForce 8800 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8800 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 8800 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 8800 GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8800 GT/PCI/SSE2
+NVIDIA Corporation GeForce 8800 GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8800 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 8800 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 8800 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8800 GTS 512/PCI/SSE2
+NVIDIA Corporation GeForce 8800 GTS 512/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8800 GTS 512/PCIe/SSE2
+NVIDIA Corporation GeForce 8800 GTS 512/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8800 GTS/PCI/SSE2
+NVIDIA Corporation GeForce 8800 GTS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8800 GTS/PCIe/SSE2
+NVIDIA Corporation GeForce 8800 GTS/PCIe/SSE2
+NVIDIA Corporation GeForce 8800 GTS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8800 GTX/PCI/SSE2
+NVIDIA Corporation GeForce 8800 GTX/PCI/SSE2
+NVIDIA Corporation GeForce 8800 GTX/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8800 GTX/PCIe/SSE2
+NVIDIA Corporation GeForce 8800 GTX/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8800 Ultra/PCI/SSE2
+NVIDIA Corporation GeForce 8800 Ultra/PCIe/SSE2
+NVIDIA Corporation GeForce 8800 Ultra/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 8800M GTS/PCI/SSE2
+NVIDIA Corporation GeForce 8800M GTS/PCIe/SSE2
+NVIDIA Corporation GeForce 8800M GTX/PCI/SSE2
+NVIDIA Corporation GeForce 8800M GTX/PCIe/SSE2
+NVIDIA Corporation GeForce 9100/PCI/SSE2
+NVIDIA Corporation GeForce 9100/PCI/SSE2
+NVIDIA Corporation GeForce 9100/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9100/integrated/SSE2
+NVIDIA Corporation GeForce 9100/integrated/SSE2
+NVIDIA Corporation GeForce 9100/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9100M G/PCI/SSE2
+NVIDIA Corporation GeForce 9100M G/PCI/SSE2
+NVIDIA Corporation GeForce 9100M G/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9100M G/integrated/SSE2
+NVIDIA Corporation GeForce 9100M G/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9200/PCI/SSE2
+NVIDIA Corporation GeForce 9200/PCI/SSE2
+NVIDIA Corporation GeForce 9200/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9200/integrated/SSE2
+NVIDIA Corporation GeForce 9200/integrated/SSE2
+NVIDIA Corporation GeForce 9200/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9200/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9200M GE/PCI/SSE2
+NVIDIA Corporation GeForce 9200M GE/PCI/SSE2
+NVIDIA Corporation GeForce 9200M GE/PCIe/SSE2
+NVIDIA Corporation GeForce 9200M GS/PCI/SSE2
+NVIDIA Corporation GeForce 9200M GS/PCI/SSE2
+NVIDIA Corporation GeForce 9200M GS/PCIe/SSE2
+NVIDIA Corporation GeForce 9200M GS/PCIe/SSE2
+NVIDIA Corporation GeForce 9300 / nForce 730i/integrated/SSE2
+NVIDIA Corporation GeForce 9300 GE/PCI/SSE2
+NVIDIA Corporation GeForce 9300 GE/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9300 GE/PCIe/SSE2
+NVIDIA Corporation GeForce 9300 GE/PCIe/SSE2
+NVIDIA Corporation GeForce 9300 GE/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9300 GS/PCI/SSE2
+NVIDIA Corporation GeForce 9300 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9300 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 9300 GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9300 SE/PCIe/SSE2
+NVIDIA Corporation GeForce 9300/PCI/SSE2
+NVIDIA Corporation GeForce 9300/integrated/SSE2
+NVIDIA Corporation GeForce 9300M G/PCI/SSE2
+NVIDIA Corporation GeForce 9300M G/PCI/SSE2
+NVIDIA Corporation GeForce 9300M G/PCI/SSE2
+NVIDIA Corporation GeForce 9300M G/PCIe/SSE2
+NVIDIA Corporation GeForce 9300M G/PCIe/SSE2
+NVIDIA Corporation GeForce 9300M G/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9300M GS/PCI/SSE2
+NVIDIA Corporation GeForce 9300M GS/PCI/SSE2
+NVIDIA Corporation GeForce 9300M GS/PCI/SSE2
+NVIDIA Corporation GeForce 9300M GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9300M GS/PCIe/SSE2
+NVIDIA Corporation GeForce 9300M GS/PCIe/SSE2
+NVIDIA Corporation GeForce 9300M GS/PCIe/SSE2
+NVIDIA Corporation GeForce 9400 GT/PCI/SSE2
+NVIDIA Corporation GeForce 9400 GT/PCI/SSE2
+NVIDIA Corporation GeForce 9400 GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9400 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9400 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9400 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9400/PCI/SSE2
+NVIDIA Corporation GeForce 9400/integrated/SSE2
+NVIDIA Corporation GeForce 9400/integrated/SSE2
+NVIDIA Corporation GeForce 9400M G/PCI/SSE2
+NVIDIA Corporation GeForce 9400M G/PCI/SSE2
+NVIDIA Corporation GeForce 9400M G/integrated/SSE2
+NVIDIA Corporation GeForce 9400M/PCI/SSE2
+NVIDIA Corporation GeForce 9400M/integrated/SSE2
+NVIDIA Corporation GeForce 9500 GS/PCI/SSE2
+NVIDIA Corporation GeForce 9500 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9500 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 9500 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 9500 GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9500 GT/PCI/SSE2
+NVIDIA Corporation GeForce 9500 GT/PCI/SSE2
+NVIDIA Corporation GeForce 9500 GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9500 GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9500 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9500 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9500 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9500 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9500 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9500 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9500M GS/PCI/SSE2
+NVIDIA Corporation GeForce 9500M GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9500M GS/PCIe/SSE2
+NVIDIA Corporation GeForce 9600 GS/PCI/SSE2
+NVIDIA Corporation GeForce 9600 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9600 GS/PCIe/SSE2
+NVIDIA Corporation GeForce 9600 GS/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9600 GSO 512/PCI/SSE2
+NVIDIA Corporation GeForce 9600 GSO 512/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9600 GSO 512/PCIe/SSE2
+NVIDIA Corporation GeForce 9600 GSO 512/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9600 GSO/PCI/SSE2
+NVIDIA Corporation GeForce 9600 GSO/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9600 GSO/PCIe/SSE2
+NVIDIA Corporation GeForce 9600 GSO/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9600 GT/PCI/SSE2
+NVIDIA Corporation GeForce 9600 GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9600 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9600 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9600 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9600 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9600 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9600M GS/PCI/SSE2
+NVIDIA Corporation GeForce 9600M GS/PCI/SSE2
+NVIDIA Corporation GeForce 9600M GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9600M GS/PCIe/SSE2
+NVIDIA Corporation GeForce 9600M GT/PCI/SSE2
+NVIDIA Corporation GeForce 9600M GT/PCI/SSE2
+NVIDIA Corporation GeForce 9600M GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9600M GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9600M GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9600M GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9600M GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9650M GS/PCIe/SSE2
+NVIDIA Corporation GeForce 9650M GT/PCI/SSE2
+NVIDIA Corporation GeForce 9650M GT/PCI/SSE2
+NVIDIA Corporation GeForce 9650M GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9700M GT/PCI/SSE2
+NVIDIA Corporation GeForce 9700M GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9700M GTS/PCI/SSE2
+NVIDIA Corporation GeForce 9700M GTS/PCI/SSE2
+NVIDIA Corporation GeForce 9700M GTS/PCIe/SSE2
+NVIDIA Corporation GeForce 9800 GT/PCI/SSE2
+NVIDIA Corporation GeForce 9800 GT/PCI/SSE2
+NVIDIA Corporation GeForce 9800 GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9800 GT/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9800 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9800 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9800 GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9800 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9800 GT/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9800 GTX+/PCI/SSE2
+NVIDIA Corporation GeForce 9800 GTX+/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9800 GTX+/PCIe/SSE2
+NVIDIA Corporation GeForce 9800 GTX+/PCIe/SSE2
+NVIDIA Corporation GeForce 9800 GTX+/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9800 GTX/9800 GTX+/PCI/SSE2
+NVIDIA Corporation GeForce 9800 GTX/9800 GTX+/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9800 GTX/9800 GTX+/PCIe/SSE2
+NVIDIA Corporation GeForce 9800 GTX/9800 GTX+/PCIe/SSE2
+NVIDIA Corporation GeForce 9800 GTX/9800 GTX+/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce 9800 GTX/PCI/SSE2
+NVIDIA Corporation GeForce 9800 GTX/PCI/SSE2
+NVIDIA Corporation GeForce 9800 GX2/PCIe/SSE2
+NVIDIA Corporation GeForce 9800 S/PCI/SSE2
+NVIDIA Corporation GeForce 9800M GS/PCI/SSE2
+NVIDIA Corporation GeForce 9800M GS/PCIe/SSE2
+NVIDIA Corporation GeForce 9800M GT/PCI/SSE2
+NVIDIA Corporation GeForce 9800M GT/PCIe/SSE2
+NVIDIA Corporation GeForce 9800M GTS/PCI/SSE2
+NVIDIA Corporation GeForce 9800M GTS/PCIe/SSE2
+NVIDIA Corporation GeForce 9800M GTX/PCI/SSE2
+NVIDIA Corporation GeForce 9800M GTX/PCIe/SSE2
+NVIDIA Corporation GeForce FX 5100/AGP/SSE2
+NVIDIA Corporation GeForce FX 5200 Ultra/AGP/SSE2
+NVIDIA Corporation GeForce FX 5200 Ultra/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce FX 5200/AGP/SSE/3DNOW!
+NVIDIA Corporation GeForce FX 5200/AGP/SSE2
+NVIDIA Corporation GeForce FX 5200/AGP/SSE2
+NVIDIA Corporation GeForce FX 5200/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce FX 5200/PCI/SSE2
+NVIDIA Corporation GeForce FX 5200/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce FX 5200LE/AGP/SSE2
+NVIDIA Corporation GeForce FX 5200LE/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce FX 5200SE/AGP/SSE2
+NVIDIA Corporation GeForce FX 5500/AGP/SSE2
+NVIDIA Corporation GeForce FX 5500/AGP/SSE2
+NVIDIA Corporation GeForce FX 5500/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce FX 5500/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce FX 5500/PCI/SSE2
+NVIDIA Corporation GeForce FX 5500/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce FX 5600/AGP/SSE2
+NVIDIA Corporation GeForce FX 5600XT/AGP/SSE2
+NVIDIA Corporation GeForce FX 5600XT/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce FX 5600XT/PCI/SSE2
+NVIDIA Corporation GeForce FX 5700/AGP/SSE2
+NVIDIA Corporation GeForce FX 5700/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce FX 5700LE/AGP/SSE2
+NVIDIA Corporation GeForce FX 5700LE/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce FX 5700LE/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce FX 5700VE/AGP/SSE2
+NVIDIA Corporation GeForce FX 5700VE/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce FX 5900 Ultra/AGP/SSE2
+NVIDIA Corporation GeForce FX 5900/AGP/SSE2
+NVIDIA Corporation GeForce FX 5900XT/AGP/SSE2
+NVIDIA Corporation GeForce FX 5900ZT/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce FX 5950 Ultra/AGP/SSE2
+NVIDIA Corporation GeForce FX 5950 Ultra/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce FX Go5200 32M/64M/AGP/SSE2
+NVIDIA Corporation GeForce FX Go5200/AGP/SSE2
+NVIDIA Corporation GeForce FX Go5200/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce FX Go5200/PCI/SSE2
+NVIDIA Corporation GeForce FX Go5300/AGP/SSE2
+NVIDIA Corporation GeForce FX Go53xx Series/AGP/SSE2
+NVIDIA Corporation GeForce FX Go5600/AGP/SSE2
+NVIDIA Corporation GeForce FX Go5650/AGP/SSE2
+NVIDIA Corporation GeForce FX Go5700/AGP/SSE2
+NVIDIA Corporation GeForce FX Go5700/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce G 103M/PCI/SSE2
+NVIDIA Corporation GeForce G 103M/PCI/SSE2
+NVIDIA Corporation GeForce G 103M/PCIe/SSE2
+NVIDIA Corporation GeForce G 103M/PCIe/SSE2
+NVIDIA Corporation GeForce G 105M/PCI/SSE2
+NVIDIA Corporation GeForce G 105M/PCIe/SSE2
+NVIDIA Corporation GeForce G 105M/PCIe/SSE2
+NVIDIA Corporation GeForce G 110M/PCI/SSE2
+NVIDIA Corporation GeForce G100/PCI/SSE2
+NVIDIA Corporation GeForce G100/PCI/SSE2
+NVIDIA Corporation GeForce G100/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce G100/PCIe/SSE2
+NVIDIA Corporation GeForce G100/PCIe/SSE2
+NVIDIA Corporation GeForce G100/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce G100/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce G102M/PCI/SSE2
+NVIDIA Corporation GeForce G102M/PCI/SSE2
+NVIDIA Corporation GeForce G102M/integrated/SSE2
+NVIDIA Corporation GeForce G102M/integrated/SSE2
+NVIDIA Corporation GeForce G105M/PCI/SSE2
+NVIDIA Corporation GeForce G105M/PCI/SSE2
+NVIDIA Corporation GeForce G105M/PCIe/SSE2
+NVIDIA Corporation GeForce G105M/PCIe/SSE2
+NVIDIA Corporation GeForce G200/PCI/SSE2
+NVIDIA Corporation GeForce G200/PCI/SSE2
+NVIDIA Corporation GeForce G200/integrated/SSE2
+NVIDIA Corporation GeForce G205M/PCI/SSE2
+NVIDIA Corporation GeForce G205M/integrated/SSE2
+NVIDIA Corporation GeForce G205M/integrated/SSE2
+NVIDIA Corporation GeForce G210/PCI/SSE2
+NVIDIA Corporation GeForce G210/PCI/SSE2
+NVIDIA Corporation GeForce G210/PCI/SSE2
+NVIDIA Corporation GeForce G210/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce G210/PCIe/SSE2
+NVIDIA Corporation GeForce G210/PCIe/SSE2
+NVIDIA Corporation GeForce G210/PCIe/SSE2
+NVIDIA Corporation GeForce G210/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce G210M/PCI/SSE2
+NVIDIA Corporation GeForce G210M/PCI/SSE2
+NVIDIA Corporation GeForce G210M/PCIe/SSE2
+NVIDIA Corporation GeForce G210M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 120/PCI/SSE2
+NVIDIA Corporation GeForce GT 120/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 120/PCIe/SSE2
+NVIDIA Corporation GeForce GT 120/PCIe/SSE2
+NVIDIA Corporation GeForce GT 120/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 120M/PCI/SSE2
+NVIDIA Corporation GeForce GT 120M/PCI/SSE2
+NVIDIA Corporation GeForce GT 120M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 120M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 130/PCI/SSE2
+NVIDIA Corporation GeForce GT 130/PCIe/SSE2
+NVIDIA Corporation GeForce GT 130/PCIe/SSE2
+NVIDIA Corporation GeForce GT 130/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 130M/PCI/SSE2
+NVIDIA Corporation GeForce GT 130M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 130M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 140/PCI/SSE2
+NVIDIA Corporation GeForce GT 140/PCIe/SSE2
+NVIDIA Corporation GeForce GT 220/PCI/SSE2
+NVIDIA Corporation GeForce GT 220/PCI/SSE2
+NVIDIA Corporation GeForce GT 220/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 220/PCIe/SSE2
+NVIDIA Corporation GeForce GT 220/PCIe/SSE2
+NVIDIA Corporation GeForce GT 220/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 220/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 220M/PCI/SSE2
+NVIDIA Corporation GeForce GT 220M/PCI/SSE2
+NVIDIA Corporation GeForce GT 220M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 220M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 220M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 230/PCI/SSE2
+NVIDIA Corporation GeForce GT 230/PCIe/SSE2
+NVIDIA Corporation GeForce GT 230/PCIe/SSE2
+NVIDIA Corporation GeForce GT 230/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 230M/PCI/SSE2
+NVIDIA Corporation GeForce GT 230M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 230M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 230M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 240/PCI/SSE2
+NVIDIA Corporation GeForce GT 240/PCI/SSE2
+NVIDIA Corporation GeForce GT 240/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 240/PCIe/SSE2
+NVIDIA Corporation GeForce GT 240/PCIe/SSE2
+NVIDIA Corporation GeForce GT 240/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 240/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 240M LE/PCIe/SSE2
+NVIDIA Corporation GeForce GT 240M/PCI/SSE2
+NVIDIA Corporation GeForce GT 240M/PCI/SSE2
+NVIDIA Corporation GeForce GT 240M/PCI/SSE2
+NVIDIA Corporation GeForce GT 240M/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 240M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 240M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 240M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 320/PCI/SSE2
+NVIDIA Corporation GeForce GT 320/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 320/PCIe/SSE2
+NVIDIA Corporation GeForce GT 320/PCIe/SSE2
+NVIDIA Corporation GeForce GT 320/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 320M/PCI/SSE2
+NVIDIA Corporation GeForce GT 320M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 320M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 325M/PCI/SSE2
+NVIDIA Corporation GeForce GT 325M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 330/PCI/SSE2
+NVIDIA Corporation GeForce GT 330/PCIe/SSE2
+NVIDIA Corporation GeForce GT 330/PCIe/SSE2
+NVIDIA Corporation GeForce GT 330/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 330M/PCI/SSE2
+NVIDIA Corporation GeForce GT 330M/PCI/SSE2
+NVIDIA Corporation GeForce GT 330M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 330M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 335M/PCI/SSE2
+NVIDIA Corporation GeForce GT 335M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 335M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 335M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 340/PCI/SSE2
+NVIDIA Corporation GeForce GT 340/PCIe/SSE2
+NVIDIA Corporation GeForce GT 415/PCIe/SSE2
+NVIDIA Corporation GeForce GT 415/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 415M/PCI/SSE2
+NVIDIA Corporation GeForce GT 415M/PCI/SSE2
+NVIDIA Corporation GeForce GT 415M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 415M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 420/PCI/SSE2
+NVIDIA Corporation GeForce GT 420/PCI/SSE2
+NVIDIA Corporation GeForce GT 420/PCIe/SSE2
+NVIDIA Corporation GeForce GT 420/PCIe/SSE2
+NVIDIA Corporation GeForce GT 420/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 420M/PCI/SSE2
+NVIDIA Corporation GeForce GT 420M/PCI/SSE2
+NVIDIA Corporation GeForce GT 420M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 420M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 425M/PCI/SSE2
+NVIDIA Corporation GeForce GT 425M/PCI/SSE2
+NVIDIA Corporation GeForce GT 425M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 425M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 430/PCI/SSE2
+NVIDIA Corporation GeForce GT 430/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 430/PCIe/SSE2
+NVIDIA Corporation GeForce GT 430/PCIe/SSE2
+NVIDIA Corporation GeForce GT 430/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 430/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 435M/PCI/SSE2
+NVIDIA Corporation GeForce GT 435M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 435M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 440/PCI/SSE2
+NVIDIA Corporation GeForce GT 440/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 440/PCIe/SSE2
+NVIDIA Corporation GeForce GT 440/PCIe/SSE2
+NVIDIA Corporation GeForce GT 440/PCIe/SSE2
+NVIDIA Corporation GeForce GT 440/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 440/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 445M/PCI/SSE2
+NVIDIA Corporation GeForce GT 445M/PCI/SSE2
+NVIDIA Corporation GeForce GT 445M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 445M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 445M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 520/PCI/SSE2
+NVIDIA Corporation GeForce GT 520/PCI/SSE2
+NVIDIA Corporation GeForce GT 520/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 520/PCIe/SSE2
+NVIDIA Corporation GeForce GT 520/PCIe/SSE2
+NVIDIA Corporation GeForce GT 520/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 520/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 520M/PCI/SSE2
+NVIDIA Corporation GeForce GT 520M/PCI/SSE2
+NVIDIA Corporation GeForce GT 520M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 520M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 520MX/PCI/SSE2
+NVIDIA Corporation GeForce GT 520MX/PCI/SSE2
+NVIDIA Corporation GeForce GT 520MX/PCIe/SSE2
+NVIDIA Corporation GeForce GT 520MX/PCIe/SSE2
+NVIDIA Corporation GeForce GT 525M/PCI/SSE2
+NVIDIA Corporation GeForce GT 525M/PCI/SSE2
+NVIDIA Corporation GeForce GT 525M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 525M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 530/PCI/SSE2
+NVIDIA Corporation GeForce GT 530/PCI/SSE2
+NVIDIA Corporation GeForce GT 530/PCIe/SSE2
+NVIDIA Corporation GeForce GT 530/PCIe/SSE2
+NVIDIA Corporation GeForce GT 530/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 540M/PCI/SSE2
+NVIDIA Corporation GeForce GT 540M/PCI/SSE2
+NVIDIA Corporation GeForce GT 540M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 540M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 545/PCI/SSE2
+NVIDIA Corporation GeForce GT 545/PCIe/SSE2
+NVIDIA Corporation GeForce GT 545/PCIe/SSE2
+NVIDIA Corporation GeForce GT 545/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 550M/PCI/SSE2
+NVIDIA Corporation GeForce GT 550M/PCI/SSE2
+NVIDIA Corporation GeForce GT 550M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 550M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 555M/PCI/SSE2
+NVIDIA Corporation GeForce GT 555M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 555M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 610/PCIe/SSE2
+NVIDIA Corporation GeForce GT 610/PCIe/SSE2
+NVIDIA Corporation GeForce GT 610/PCIe/SSE2
+NVIDIA Corporation GeForce GT 610/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 610/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 620/PCI/SSE2
+NVIDIA Corporation GeForce GT 620/PCIe/SSE2
+NVIDIA Corporation GeForce GT 620/PCIe/SSE2
+NVIDIA Corporation GeForce GT 620/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 620/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 620M/PCI/SSE2
+NVIDIA Corporation GeForce GT 620M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 620M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 625/PCIe/SSE2
+NVIDIA Corporation GeForce GT 625M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 625M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 630/PCIe/SSE2
+NVIDIA Corporation GeForce GT 630/PCIe/SSE2
+NVIDIA Corporation GeForce GT 630/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 630/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 630M/PCI/SSE2
+NVIDIA Corporation GeForce GT 630M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 630M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 630M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 635M/PCI/SSE2
+NVIDIA Corporation GeForce GT 635M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 635M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 640/PCIe/SSE2
+NVIDIA Corporation GeForce GT 640/PCIe/SSE2
+NVIDIA Corporation GeForce GT 640/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 640/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GT 640M LE/PCI/SSE2
+NVIDIA Corporation GeForce GT 640M LE/PCIe/SSE2
+NVIDIA Corporation GeForce GT 640M LE/PCIe/SSE2
+NVIDIA Corporation GeForce GT 640M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 640M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 645/PCIe/SSE2
+NVIDIA Corporation GeForce GT 645/PCIe/SSE2
+NVIDIA Corporation GeForce GT 645M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 645M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 650M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 650M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 650M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 720M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 720M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 730M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 730M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 735M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 735M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 740M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 740M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 750M/PCIe/SSE2
+NVIDIA Corporation GeForce GT 750M/PCIe/SSE2
+NVIDIA Corporation GeForce GT620M/PCIe/SSE2
+NVIDIA Corporation GeForce GT625M/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 150/PCI/SSE2
+NVIDIA Corporation GeForce GTS 160M/PCI/SSE2
+NVIDIA Corporation GeForce GTS 160M/PCI/SSE2
+NVIDIA Corporation GeForce GTS 160M/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 160M/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 240/PCI/SSE2
+NVIDIA Corporation GeForce GTS 240/PCI/SSE2
+NVIDIA Corporation GeForce GTS 240/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 240/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 240/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTS 250/PCI/SSE2
+NVIDIA Corporation GeForce GTS 250/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTS 250/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 250/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 250/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 250/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTS 250/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTS 250M/PCI/SSE2
+NVIDIA Corporation GeForce GTS 250M/PCI/SSE2
+NVIDIA Corporation GeForce GTS 250M/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 250M/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 350M/PCI/SSE2
+NVIDIA Corporation GeForce GTS 350M/PCI/SSE2
+NVIDIA Corporation GeForce GTS 350M/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 350M/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 360M/PCI/SSE2
+NVIDIA Corporation GeForce GTS 360M/PCI/SSE2
+NVIDIA Corporation GeForce GTS 360M/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 360M/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 360M/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 360M/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 450/PCI/SSE2
+NVIDIA Corporation GeForce GTS 450/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTS 450/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 450/PCIe/SSE2
+NVIDIA Corporation GeForce GTS 450/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTS 450/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 260/PCI/SSE2
+NVIDIA Corporation GeForce GTX 260/PCI/SSE2
+NVIDIA Corporation GeForce GTX 260/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 260/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 260/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 260/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 260/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 260/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 260M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 260M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 260M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 260M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 260M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 275/PCI/SSE2
+NVIDIA Corporation GeForce GTX 275/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 275/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 275/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 275/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 275/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 280/PCI/SSE2
+NVIDIA Corporation GeForce GTX 280/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 280/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 280M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 280M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 280M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 280M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 285/PCI/SSE2
+NVIDIA Corporation GeForce GTX 285/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 285/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 285/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 285M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 285M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 285M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 285M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 295/PCI/SSE2
+NVIDIA Corporation GeForce GTX 295/PCI/SSE2
+NVIDIA Corporation GeForce GTX 295/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 295/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 295/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 295/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 295/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 460 SE/PCI/SSE2
+NVIDIA Corporation GeForce GTX 460 SE/PCI/SSE2
+NVIDIA Corporation GeForce GTX 460 SE/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 460 SE/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 460 SE/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 460 SE/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 460 SE/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 460 SE/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 460 SE/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 460 v2/PCI/SSE2
+NVIDIA Corporation GeForce GTX 460 v2/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 460 v2/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 460 v2/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 460 v2/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 460 v2/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 460/PCI/SSE2
+NVIDIA Corporation GeForce GTX 460/PCI/SSE2
+NVIDIA Corporation GeForce GTX 460/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 460/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 460/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 460/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 460/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 460/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 460/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 460/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 460/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 460M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 460M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 460M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 460M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 460M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 460M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 460M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 465/PCI/SSE2
+NVIDIA Corporation GeForce GTX 465/PCI/SSE2
+NVIDIA Corporation GeForce GTX 465/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 465/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 465/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 465/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 465/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 465/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 470/PCI/SSE2
+NVIDIA Corporation GeForce GTX 470/PCI/SSE2
+NVIDIA Corporation GeForce GTX 470/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 470/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 470/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 470/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 470/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 470/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 470/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 470M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 470M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 480/PCI/SSE2
+NVIDIA Corporation GeForce GTX 480/PCI/SSE2
+NVIDIA Corporation GeForce GTX 480/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 480/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 480/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 480/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 480/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 480/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 480M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 480M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 485M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 485M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 485M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 550 Ti/PCI/SSE2
+NVIDIA Corporation GeForce GTX 550 Ti/PCI/SSE2
+NVIDIA Corporation GeForce GTX 550 Ti/PCI/SSE2
+NVIDIA Corporation GeForce GTX 550 Ti/PCI/SSE2
+NVIDIA Corporation GeForce GTX 550 Ti/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 550 Ti/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 550 Ti/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 550 Ti/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 550 Ti/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 550 Ti/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 550 Ti/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 550 Ti/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 550 Ti/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 560 SE/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 560 SE/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 560 SE/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 560 Ti/PCI/SSE2
+NVIDIA Corporation GeForce GTX 560 Ti/PCI/SSE2
+NVIDIA Corporation GeForce GTX 560 Ti/PCI/SSE2
+NVIDIA Corporation GeForce GTX 560 Ti/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 560 Ti/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 560 Ti/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 560 Ti/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 560 Ti/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 560 Ti/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 560 Ti/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 560 Ti/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 560 Ti/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 560/PCI/SSE2
+NVIDIA Corporation GeForce GTX 560/PCI/SSE2
+NVIDIA Corporation GeForce GTX 560/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 560/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 560/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 560/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 560/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 560/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 560/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 560/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 560M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 560M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 560M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 560M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 560M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 560M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 560M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 570/PCI/SSE2
+NVIDIA Corporation GeForce GTX 570/PCI/SSE2
+NVIDIA Corporation GeForce GTX 570/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 570/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 570/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 570/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 570/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 570/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 570/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 570/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 570M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 570M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 570M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 570M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 580/PCI/SSE2
+NVIDIA Corporation GeForce GTX 580/PCI/SSE2
+NVIDIA Corporation GeForce GTX 580/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 580/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 580/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 580/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 580/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 580/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 580/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 580/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 580M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 580M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 580M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 580M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 590/PCI/SSE2
+NVIDIA Corporation GeForce GTX 590/PCI/SSE2
+NVIDIA Corporation GeForce GTX 590/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 590/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 590/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 590/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 645/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 645/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 650 Ti BOOST/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 650 Ti BOOST/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 650 Ti BOOST/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 650 Ti Boost/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 650 Ti Boost/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 650 Ti Boost/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 650 Ti/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 650 Ti/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 650 Ti/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 650 Ti/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 650/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 650/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 650/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 650/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 650/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 660 Ti/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 660 Ti/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 660 Ti/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 660 Ti/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 660 Ti/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 660 Ti/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 660/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 660/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 660/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 660/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 660/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 660/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 660/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 660/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 660M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 660M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 660M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 660M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 670/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 670/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 670/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 670/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 670/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 670/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 670/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 670M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 670M/PCI/SSE2
+NVIDIA Corporation GeForce GTX 670M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 670M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 670M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 670MX/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 670MX/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 670MX/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 675M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 675M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 675M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 675MX/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 675MX/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 675MX/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 680/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 680/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 680/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 680/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 680/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 680/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 680M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 680M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 680M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 680MX/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 680MX/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 690/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 690/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 690/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 760/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 760/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 760M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 760M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 765M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 765M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 770/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 770/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 770/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 770/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX 770M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 770M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 780/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 780/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 780/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 780M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX 780M/PCIe/SSE2
+NVIDIA Corporation GeForce GTX TITAN/PCIe/SSE2
+NVIDIA Corporation GeForce GTX TITAN/PCIe/SSE2
+NVIDIA Corporation GeForce GTX TITAN/PCIe/SSE2
+NVIDIA Corporation GeForce GTX TITAN/PCIe/SSE2
+NVIDIA Corporation GeForce GTX TITAN/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce GTX Titan/PCIe/SSE2
+NVIDIA Corporation GeForce GTX Titan/PCIe/SSE2
+NVIDIA Corporation GeForce Go 6100/PCI/SSE2
+NVIDIA Corporation GeForce Go 6100/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce Go 6100/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce Go 6150/PCI/SSE2
+NVIDIA Corporation GeForce Go 6150/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce Go 6150/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce Go 6150/integrated/SSE2/3DNOW!
+NVIDIA Corporation GeForce Go 6200/PCI/SSE2
+NVIDIA Corporation GeForce Go 6200/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce Go 6400/PCI/SSE2
+NVIDIA Corporation GeForce Go 6400/PCIe/SSE2
+NVIDIA Corporation GeForce Go 6600 TE/6200 TE/PCI/SSE2
+NVIDIA Corporation GeForce Go 6600/PCI/SSE2
+NVIDIA Corporation GeForce Go 6800 Ultra/PCI/SSE2
+NVIDIA Corporation GeForce Go 6800/PCI/SSE2
+NVIDIA Corporation GeForce Go 6800/PCIe/SSE2
+NVIDIA Corporation GeForce Go 7200/PCI/SSE2
+NVIDIA Corporation GeForce Go 7200/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce Go 7300/PCI/SSE2
+NVIDIA Corporation GeForce Go 7300/PCI/SSE2
+NVIDIA Corporation GeForce Go 7300/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce Go 7300/PCIe/SSE2
+NVIDIA Corporation GeForce Go 7400/PCI/SSE2
+NVIDIA Corporation GeForce Go 7400/PCI/SSE2
+NVIDIA Corporation GeForce Go 7400/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce Go 7400/PCIe/SSE2
+NVIDIA Corporation GeForce Go 7600 GT/PCI/SSE2
+NVIDIA Corporation GeForce Go 7600/PCI/SSE2
+NVIDIA Corporation GeForce Go 7600/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce Go 7600/PCIe/SSE2
+NVIDIA Corporation GeForce Go 7600/PCIe/SSE2/3DNOW!
+NVIDIA Corporation GeForce Go 7700/PCI/SSE2
+NVIDIA Corporation GeForce Go 7800 GTX/PCI/SSE2
+NVIDIA Corporation GeForce Go 7800/PCI/SSE2
+NVIDIA Corporation GeForce Go 7800/PCI/SSE2
+NVIDIA Corporation GeForce Go 7900 GS/PCI/SSE2
+NVIDIA Corporation GeForce Go 7900 GS/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce Go 7900 GS/PCIe/SSE2
+NVIDIA Corporation GeForce Go 7900 GTX/PCI/SSE2
+NVIDIA Corporation GeForce Go 7950 GTX/PCI/SSE2
+NVIDIA Corporation GeForce Go 7950 GTX/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce PCX 5300/PCI/SSE2
+NVIDIA Corporation GeForce PCX 5750/PCI/SSE2
+NVIDIA Corporation GeForce2 GTS/AGP/SSE2
+NVIDIA Corporation GeForce2 MX/AGP/SSE2
+NVIDIA Corporation GeForce2 MX/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce2 MX/PCI/SSE2
+NVIDIA Corporation GeForce3/AGP/SSE2
+NVIDIA Corporation GeForce3/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce4 420 Go 32M/AGP/SSE2
+NVIDIA Corporation GeForce4 420 Go 32M/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce4 420 Go 32M/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce4 420 Go/AGP/SSE2
+NVIDIA Corporation GeForce4 4200 Go/AGP/SSE2
+NVIDIA Corporation GeForce4 440 Go 64M/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce4 440 Go 64M/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce4 440 Go/AGP/SSE2
+NVIDIA Corporation GeForce4 448 Go/AGP/SSE2
+NVIDIA Corporation GeForce4 MX 4000/AGP/SSE2
+NVIDIA Corporation GeForce4 MX 4000/AGP/SSE2
+NVIDIA Corporation GeForce4 MX 4000/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce4 MX 4000/PCI/SSE2
+NVIDIA Corporation GeForce4 MX 4000/PCI/SSE2/3DNOW!
+NVIDIA Corporation GeForce4 MX 420/AGP/SSE2
+NVIDIA Corporation GeForce4 MX 420/PCI/SSE2
+NVIDIA Corporation GeForce4 MX 440 with AGP8X/AGP/SSE2
+NVIDIA Corporation GeForce4 MX 440 with AGP8X/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce4 MX 440 with AGP8X/PCI/SSE2
+NVIDIA Corporation GeForce4 MX 440/440SE/AGP/SSE2
+NVIDIA Corporation GeForce4 MX 440/AGP/SSE2
+NVIDIA Corporation GeForce4 MX 440/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce4 MX 440/PCI/SSE2
+NVIDIA Corporation GeForce4 MX 440SE with AGP8X/AGP/SSE2
+NVIDIA Corporation GeForce4 MX 440SE with AGP8X/PCI/SSE2
+NVIDIA Corporation GeForce4 MX 460/AGP/SSE2
+NVIDIA Corporation GeForce4 MX 460/AGP/SSE2/3DNOW!
+NVIDIA Corporation GeForce4 Ti 4200 with AGP8X/AGP/SSE2
+NVIDIA Corporation GeForce4 Ti 4200 with AGP8X/PCI/SSE2
+NVIDIA Corporation GeForce4 Ti 4200/AGP/SSE2
+NVIDIA Corporation GeForce4 Ti 4400/AGP/SSE2
+NVIDIA Corporation GeForce4 Ti 4600/AGP/SSE2
+NVIDIA Corporation GeForce4 Ti 4600/PCI/SSE2
+NVIDIA Corporation ION LE/PCI/SSE2
+NVIDIA Corporation ION LE/integrated/SSE2
+NVIDIA Corporation ION LE/integrated/SSE2
+NVIDIA Corporation ION/PCI/SSE2
+NVIDIA Corporation ION/PCIe/SSE2
+NVIDIA Corporation ION/PCIe/SSE2
+NVIDIA Corporation ION/PCIe/SSE2/3DNOW!
+NVIDIA Corporation ION/integrated/SSE2
+NVIDIA Corporation ION/integrated/SSE2
+NVIDIA Corporation MCP61/PCI/SSE2/3DNOW!
+NVIDIA Corporation MCP7A-O/PCI/SSE2
+NVIDIA Corporation MCP7A-P/PCI/SSE2
+NVIDIA Corporation N10P-GV2/PCI/SSE2
+NVIDIA Corporation N11M-GE2/PCI/SSE2
+NVIDIA Corporation N11M-GE2/PCI/SSE2
+NVIDIA Corporation N12P-GVR-B-A1/PCI/SSE2
+NVIDIA Corporation N12P-GVR-B-A1/PCI/SSE2
+NVIDIA Corporation NB9M-GE1/PCI/SSE2
+NVIDIA Corporation NB9M-GS/PCI/SSE2
+NVIDIA Corporation NV17/AGP/SSE2
+NVIDIA Corporation NVIDIA GeForce 210 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 210 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 310M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 320M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 320M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 6600 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 7300 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 7600 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 7950 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 7950 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 8400 GS OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 8500 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 8600 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 8600 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 8600 GTS OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 8600M GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 8600M GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 8800 GS OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 8800 GS OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 8800 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 8800 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 8800 GTS 512 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 8800 GTS OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 8800 GTX OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 8800 Ultra OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9200M GS OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9400 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9400 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9400 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9400 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9400 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9400M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9400M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9500 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9500 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9600 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9600M GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9600M GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9800 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9800 GT OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9800 GTX+ OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce 9800 GTX+ OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 120 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 120 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 120 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 130 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 130 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 220 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 220 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 240 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 240 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 320M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 330M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 330M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 330M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 430 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 440 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 440 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 520 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 630 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 640 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 640 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 640M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 640M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 640M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 650M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 650M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GT 650M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTS 250 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTS 250 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTS 450 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 260 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 280 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 280 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 285 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 285 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 460 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 470 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 480 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 480 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 550 Ti OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 550 Ti OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 560 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 560 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 560 Ti OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 560 Ti OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 570 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 570 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 580 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 650 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 650 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 650 Ti OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 650 Ti OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 660 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 660 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 660 Ti OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 660 Ti OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 660 Ti OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 660M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 660M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 660M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 670 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 670 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 675MX OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 675MX OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 675MX OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 675MX OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 680 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 680 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 680 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 680MX OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 680MX OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 680MX OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 775M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce GTX 780M OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce Go 7600 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce Pre-Release D14P2-30 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce Pre-Release GK104 OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce Pre-Release ION OpenGL Engine
+NVIDIA Corporation NVIDIA GeForce Pre-Release Unknown OpenGL Engine
+NVIDIA Corporation NVIDIA NV34MAP OpenGL Engine
+NVIDIA Corporation NVIDIA Quadro 4000 OpenGL Engine
+NVIDIA Corporation NVIDIA Quadro 4000 OpenGL Engine
+NVIDIA Corporation NVIDIA Quadro FX 4500 OpenGL Engine
+NVIDIA Corporation NVIDIA Quadro FX 4500 OpenGL Engine
+NVIDIA Corporation NVIDIA Quadro FX 4800 OpenGL Engine
+NVIDIA Corporation NVIDIA Quadro FX 4800 OpenGL Engine
+NVIDIA Corporation NVIDIA Quadro FX 5600 OpenGL Engine
+NVIDIA Corporation NVIDIA Quadro FX 580 OpenGL Engine
+NVIDIA Corporation NVIDIA Quadro FX 770M OpenGL Engine
+NVIDIA Corporation NVS 2100M/PCI/SSE2
+NVIDIA Corporation NVS 2100M/PCIe/SSE2
+NVIDIA Corporation NVS 2100M/PCIe/SSE2
+NVIDIA Corporation NVS 300/PCI/SSE2
+NVIDIA Corporation NVS 300/PCI/SSE2/3DNOW!
+NVIDIA Corporation NVS 300/PCIe/SSE2
+NVIDIA Corporation NVS 310/PCIe/SSE2
+NVIDIA Corporation NVS 310/PCIe/SSE2
+NVIDIA Corporation NVS 3100M/PCI/SSE2
+NVIDIA Corporation NVS 3100M/PCI/SSE2
+NVIDIA Corporation NVS 3100M/PCIe/SSE2
+NVIDIA Corporation NVS 3100M/PCIe/SSE2
+NVIDIA Corporation NVS 315/PCIe/SSE2
+NVIDIA Corporation NVS 4200M/PCI/SSE2
+NVIDIA Corporation NVS 4200M/PCI/SSE2
+NVIDIA Corporation NVS 4200M/PCIe/SSE2
+NVIDIA Corporation NVS 4200M/PCIe/SSE2
+NVIDIA Corporation NVS 510/PCIe/SSE2
+NVIDIA Corporation NVS 510/PCIe/SSE2
+NVIDIA Corporation NVS 5100M/PCI/SSE2
+NVIDIA Corporation NVS 5100M/PCIe/SSE2
+NVIDIA Corporation NVS 5100M/PCIe/SSE2
+NVIDIA Corporation NVS 5200M/PCI/SSE2
+NVIDIA Corporation NVS 5200M/PCIe/SSE2
+NVIDIA Corporation NVS 5200M/PCIe/SSE2
+NVIDIA Corporation NVS 5400M/PCIe/SSE2
+NVIDIA Corporation NVS 5400M/PCIe/SSE2
+NVIDIA Corporation Quadro 1000M/PCI/SSE2
+NVIDIA Corporation Quadro 1000M/PCIe/SSE2
+NVIDIA Corporation Quadro 1000M/PCIe/SSE2
+NVIDIA Corporation Quadro 1100M/PCIe/SSE2
+NVIDIA Corporation Quadro 2000 D/PCI/SSE2
+NVIDIA Corporation Quadro 2000/PCI/SSE2
+NVIDIA Corporation Quadro 2000/PCIe/SSE2
+NVIDIA Corporation Quadro 2000/PCIe/SSE2
+NVIDIA Corporation Quadro 2000D/PCIe/SSE2
+NVIDIA Corporation Quadro 2000M/PCI/SSE2
+NVIDIA Corporation Quadro 2000M/PCIe/SSE2
+NVIDIA Corporation Quadro 3000M/PCI/SSE2
+NVIDIA Corporation Quadro 3000M/PCIe/SSE2
+NVIDIA Corporation Quadro 3000M/PCIe/SSE2
+NVIDIA Corporation Quadro 400/PCI/SSE2
+NVIDIA Corporation Quadro 400/PCI/SSE2
+NVIDIA Corporation Quadro 400/PCI/SSE2/3DNOW!
+NVIDIA Corporation Quadro 400/PCIe/SSE2
+NVIDIA Corporation Quadro 4000/PCI/SSE2
+NVIDIA Corporation Quadro 4000/PCIe/SSE2
+NVIDIA Corporation Quadro 4000/PCIe/SSE2
+NVIDIA Corporation Quadro 4000M/PCI/SSE2
+NVIDIA Corporation Quadro 4000M/PCI/SSE2
+NVIDIA Corporation Quadro 4000M/PCIe/SSE2
+NVIDIA Corporation Quadro 410/PCIe/SSE2
+NVIDIA Corporation Quadro 5000/PCI/SSE2
+NVIDIA Corporation Quadro 5000/PCIe/SSE2
+NVIDIA Corporation Quadro 5000M/PCI/SSE2
+NVIDIA Corporation Quadro 5000M/PCIe/SSE2
+NVIDIA Corporation Quadro 5010M/PCI/SSE2
+NVIDIA Corporation Quadro 5010M/PCIe/SSE2
+NVIDIA Corporation Quadro 5010M/PCIe/SSE2
+NVIDIA Corporation Quadro 600/PCI/SSE2
+NVIDIA Corporation Quadro 600/PCI/SSE2
+NVIDIA Corporation Quadro 600/PCIe/SSE2
+NVIDIA Corporation Quadro 600/PCIe/SSE2
+NVIDIA Corporation Quadro 600/PCIe/SSE2/3DNOW!
+NVIDIA Corporation Quadro 6000/PCIe/SSE2
+NVIDIA Corporation Quadro FX 1000/AGP/SSE2
+NVIDIA Corporation Quadro FX 1100/AGP/SSE2
+NVIDIA Corporation Quadro FX 1300/PCI/SSE2
+NVIDIA Corporation Quadro FX 1400/PCI/SSE2
+NVIDIA Corporation Quadro FX 1400/PCI/SSE2
+NVIDIA Corporation Quadro FX 1400/PCIe/SSE2
+NVIDIA Corporation Quadro FX 1400/PCIe/SSE2
+NVIDIA Corporation Quadro FX 1400/PCIe/SSE2/3DNOW!
+NVIDIA Corporation Quadro FX 1500/PCI/SSE2
+NVIDIA Corporation Quadro FX 1500/PCIe/SSE2
+NVIDIA Corporation Quadro FX 1500/PCIe/SSE2/3DNOW!
+NVIDIA Corporation Quadro FX 1500M/PCI/SSE2
+NVIDIA Corporation Quadro FX 1600M/PCI/SSE2
+NVIDIA Corporation Quadro FX 1600M/PCIe/SSE2
+NVIDIA Corporation Quadro FX 1700/PCI/SSE2
+NVIDIA Corporation Quadro FX 1700/PCIe/SSE2
+NVIDIA Corporation Quadro FX 1700/PCIe/SSE2
+NVIDIA Corporation Quadro FX 1700/PCIe/SSE2/3DNOW!
+NVIDIA Corporation Quadro FX 1700M/PCI/SSE2
+NVIDIA Corporation Quadro FX 1700M/PCIe/SSE2
+NVIDIA Corporation Quadro FX 1800/PCI/SSE2
+NVIDIA Corporation Quadro FX 1800/PCIe/SSE2
+NVIDIA Corporation Quadro FX 1800M/PCI/SSE2
+NVIDIA Corporation Quadro FX 1800M/PCIe/SSE2
+NVIDIA Corporation Quadro FX 2000/AGP/SSE2
+NVIDIA Corporation Quadro FX 2500M/PCI/SSE2
+NVIDIA Corporation Quadro FX 2500M/PCIe/SSE2
+NVIDIA Corporation Quadro FX 2700M/PCI/SSE2
+NVIDIA Corporation Quadro FX 2700M/PCIe/SSE2
+NVIDIA Corporation Quadro FX 2800M/PCI/SSE2
+NVIDIA Corporation Quadro FX 2800M/PCIe/SSE2
+NVIDIA Corporation Quadro FX 3000/AGP/SSE2
+NVIDIA Corporation Quadro FX 3400/PCI/SSE2
+NVIDIA Corporation Quadro FX 3400/PCI/SSE2
+NVIDIA Corporation Quadro FX 3450/4000 SDI/PCI/SSE2
+NVIDIA Corporation Quadro FX 3450/4000 SDI/PCI/SSE2
+NVIDIA Corporation Quadro FX 3450/4000 SDI/PCI/SSE2/3DNOW!
+NVIDIA Corporation Quadro FX 3450/4000 SDI/PCI/SSE2/3DNOW!
+NVIDIA Corporation Quadro FX 3450/4000 SDI/PCIe/SSE2
+NVIDIA Corporation Quadro FX 3450/4000 SDI/PCIe/SSE2
+NVIDIA Corporation Quadro FX 3500/PCI/SSE2
+NVIDIA Corporation Quadro FX 3500/PCIe/SSE2
+NVIDIA Corporation Quadro FX 3500M/PCI/SSE2
+NVIDIA Corporation Quadro FX 350M/PCI/SSE2
+NVIDIA Corporation Quadro FX 3600M/PCI/SSE2
+NVIDIA Corporation Quadro FX 3600M/PCIe/SSE2
+NVIDIA Corporation Quadro FX 360M/PCI/SSE2
+NVIDIA Corporation Quadro FX 360M/PCIe/SSE2
+NVIDIA Corporation Quadro FX 370 Low Profile/PCIe/SSE2
+NVIDIA Corporation Quadro FX 370/PCI/SSE2
+NVIDIA Corporation Quadro FX 370/PCIe/SSE2
+NVIDIA Corporation Quadro FX 370/PCIe/SSE2/3DNOW!
+NVIDIA Corporation Quadro FX 3700/PCI/SSE2
+NVIDIA Corporation Quadro FX 3700/PCIe/SSE2
+NVIDIA Corporation Quadro FX 3700M/PCI/SSE2
+NVIDIA Corporation Quadro FX 3700M/PCIe/SSE2
+NVIDIA Corporation Quadro FX 370M/PCI/SSE2
+NVIDIA Corporation Quadro FX 370M/PCIe/SSE2
+NVIDIA Corporation Quadro FX 380 LP/PCIe/SSE2
+NVIDIA Corporation Quadro FX 380 LP/PCIe/SSE2/3DNOW!
+NVIDIA Corporation Quadro FX 380/PCI/SSE2
+NVIDIA Corporation Quadro FX 380/PCIe/SSE2
+NVIDIA Corporation Quadro FX 3800/PCI/SSE2
+NVIDIA Corporation Quadro FX 3800/PCIe/SSE2
+NVIDIA Corporation Quadro FX 3800M/PCI/SSE2
+NVIDIA Corporation Quadro FX 3800M/PCIe/SSE2
+NVIDIA Corporation Quadro FX 380M/PCI/SSE2
+NVIDIA Corporation Quadro FX 380M/PCIe/SSE2
+NVIDIA Corporation Quadro FX 4500/PCI/SSE2
+NVIDIA Corporation Quadro FX 4500/PCIe/SSE2
+NVIDIA Corporation Quadro FX 4600/PCIe/SSE2
+NVIDIA Corporation Quadro FX 4800/PCI/SSE2
+NVIDIA Corporation Quadro FX 4800/PCIe/SSE2
+NVIDIA Corporation Quadro FX 500/AGP/SSE2
+NVIDIA Corporation Quadro FX 500/FX 600/AGP/SSE2
+NVIDIA Corporation Quadro FX 500/FX 600/AGP/SSE2/3DNOW!
+NVIDIA Corporation Quadro FX 500/FX 600/PCI/SSE2
+NVIDIA Corporation Quadro FX 540/PCI/SSE2
+NVIDIA Corporation Quadro FX 540/PCIe/SSE2
+NVIDIA Corporation Quadro FX 550/PCI/SSE2
+NVIDIA Corporation Quadro FX 550/PCIe/SSE2
+NVIDIA Corporation Quadro FX 5500/PCI/SSE2
+NVIDIA Corporation Quadro FX 560/PCI/SSE2
+NVIDIA Corporation Quadro FX 560/PCIe/SSE2
+NVIDIA Corporation Quadro FX 5600/PCIe/SSE2
+NVIDIA Corporation Quadro FX 570/PCI/SSE2
+NVIDIA Corporation Quadro FX 570/PCIe/SSE2
+NVIDIA Corporation Quadro FX 570M/PCI/SSE2
+NVIDIA Corporation Quadro FX 570M/PCIe/SSE2
+NVIDIA Corporation Quadro FX 580/PCI/SSE2
+NVIDIA Corporation Quadro FX 580/PCIe/SSE2
+NVIDIA Corporation Quadro FX 5800/PCIe/SSE2
+NVIDIA Corporation Quadro FX 770M/PCI/SSE2
+NVIDIA Corporation Quadro FX 770M/PCIe/SSE2
+NVIDIA Corporation Quadro FX 880M/PCI/SSE2
+NVIDIA Corporation Quadro FX 880M/PCIe/SSE2
+NVIDIA Corporation Quadro FX Go1400/PCI/SSE2
+NVIDIA Corporation Quadro FX Go1400/PCI/SSE2
+NVIDIA Corporation Quadro FX Go1400/PCIe/SSE2
+NVIDIA Corporation Quadro FX Go700/AGP/SSE2
+NVIDIA Corporation Quadro K1000/PCIe/SSE2
+NVIDIA Corporation Quadro K1000M/PCIe/SSE2
+NVIDIA Corporation Quadro K2000/PCIe/SSE2
+NVIDIA Corporation Quadro K2000/PCIe/SSE2
+NVIDIA Corporation Quadro K2000D/PCIe/SSE2
+NVIDIA Corporation Quadro K2000M/PCIe/SSE2
+NVIDIA Corporation Quadro K2000M/PCIe/SSE2
+NVIDIA Corporation Quadro K3000M/PCIe/SSE2
+NVIDIA Corporation Quadro K4000/PCIe/SSE2
+NVIDIA Corporation Quadro K4000/PCIe/SSE2
+NVIDIA Corporation Quadro K4000/PCIe/SSE2
+NVIDIA Corporation Quadro K4000M/PCIe/SSE2
+NVIDIA Corporation Quadro K5000/PCIe/SSE2
+NVIDIA Corporation Quadro K5000M/PCIe/SSE2
+NVIDIA Corporation Quadro K600/PCIe/SSE2
+NVIDIA Corporation Quadro NVS 110M/PCI/SSE2
+NVIDIA Corporation Quadro NVS 110M/PCI/SSE2
+NVIDIA Corporation Quadro NVS 130M/PCI/SSE2
+NVIDIA Corporation Quadro NVS 130M/PCIe/SSE2
+NVIDIA Corporation Quadro NVS 130M/PCIe/SSE2
+NVIDIA Corporation Quadro NVS 135M/PCI/SSE2
+NVIDIA Corporation Quadro NVS 135M/PCIe/SSE2
+NVIDIA Corporation Quadro NVS 140M/PCI/SSE2
+NVIDIA Corporation Quadro NVS 140M/PCI/SSE2
+NVIDIA Corporation Quadro NVS 140M/PCIe/SSE2
+NVIDIA Corporation Quadro NVS 150M/PCI/SSE2
+NVIDIA Corporation Quadro NVS 150M/PCI/SSE2
+NVIDIA Corporation Quadro NVS 150M/PCIe/SSE2
+NVIDIA Corporation Quadro NVS 160M/PCI/SSE2
+NVIDIA Corporation Quadro NVS 160M/PCIe/SSE2
+NVIDIA Corporation Quadro NVS 210S / GeForce 6150LE/PCI/SSE2
+NVIDIA Corporation Quadro NVS 210S / GeForce 6150LE/PCI/SSE2/3DNOW!
+NVIDIA Corporation Quadro NVS 210S / GeForce 6150LE/integrated/SSE2/3DNOW!
+NVIDIA Corporation Quadro NVS 210S / NVIDIA GeForce 6150LE/PCI/SSE2/3DNOW!
+NVIDIA Corporation Quadro NVS 210S/PCI/SSE2/3DNOW!
+NVIDIA Corporation Quadro NVS 280 PCI-E/PCI/SSE2
+NVIDIA Corporation Quadro NVS 280 SD/AGP/SSE2
+NVIDIA Corporation Quadro NVS 285/PCI/SSE2
+NVIDIA Corporation Quadro NVS 285/PCIe/SSE2
+NVIDIA Corporation Quadro NVS 290/PCI/SSE2
+NVIDIA Corporation Quadro NVS 290/PCIe/SSE2
+NVIDIA Corporation Quadro NVS 290/PCIe/SSE2/3DNOW!
+NVIDIA Corporation Quadro NVS 295/PCI/SSE2
+NVIDIA Corporation Quadro NVS 295/PCIe/SSE2
+NVIDIA Corporation Quadro NVS 300M/PCI/SSE2
+NVIDIA Corporation Quadro NVS 320M/PCI/SSE2
+NVIDIA Corporation Quadro NVS 320M/PCIe/SSE2
+NVIDIA Corporation Quadro NVS 420/PCI/SSE2
+NVIDIA Corporation Quadro NVS 420/PCIe/SSE2
+NVIDIA Corporation Quadro NVS 420/PCIe/SSE2/3DNOW!
+NVIDIA Corporation Quadro NVS 450/PCIe/SSE2
+NVIDIA Corporation Quadro NVS 510M/PCI/SSE2
+NVIDIA Corporation Quadro NVS 55/280 PCI/PCI/SSE2
+NVIDIA Corporation Quadro NVS with AGP8X/AGP/SSE2
+NVIDIA Corporation Quadro NVS/AGP/SSE2
+NVIDIA Corporation Quadro PCI-E Series/PCI/SSE2
+NVIDIA Corporation Quadro2 MXR/AGP/SSE2
+NVIDIA Corporation Quadro4 380 XGL/AGP/SSE2
+NVIDIA Corporation Quadro4 550 XGL/AGP/SSE2
+NVIDIA Corporation Quadro4 700 XGL/AGP/SSE2
+NVIDIA Corporation Quadro4 980 XGL/AGP/SSE2
+NVIDIA Corporation RIVA TNT2/AGP/SSE2
+NVIDIA Corporation RIVA TNT2/AGP/SSE2/3DNOW!
+NVIDIA Corporation Stinger/emulated by Quadro FX 500/FX 600/PCI/SSE2
+NVIDIA Corporation nForce 750a SLI/PCI/SSE2
+NVIDIA Corporation nForce 750a SLI/integrated/SSE2
+NVIDIA Corporation nForce 760i SLI/integrated/SSE2
+NVIDIA Corporation nForce 980a/780a SLI/integrated/SSE2
+NVIDIA Corporation unknown board/AGP/SSE2
+NVIDIA Corporation unknown board/PCI/SSE2
+NVIDIA Corporation unknown board/PCI/SSE2/3DNOW!
+NVIDIA Corporation unknown board/PCIe/SSE2
+NVIDIA D9M
+NVIDIA G 103M
+NVIDIA G 105M
+NVIDIA G 110M
+NVIDIA G 120M
+NVIDIA G 200
+NVIDIA G 205M
+NVIDIA G 210
+NVIDIA G 310M
+NVIDIA G 320M
+NVIDIA G 405
+NVIDIA G 410M
+NVIDIA G 610M
+NVIDIA G100
+NVIDIA G100M
+NVIDIA G102M
+NVIDIA G103M
+NVIDIA G105M
+NVIDIA G200
+NVIDIA G210
+NVIDIA G210M
+NVIDIA G73
+NVIDIA G84
+NVIDIA G84
+NVIDIA G92
+NVIDIA G94
+NVIDIA GT 120
+NVIDIA GT 120
+NVIDIA GT 120M
+NVIDIA GT 130
+NVIDIA GT 130
+NVIDIA GT 130
+NVIDIA GT 130M
+NVIDIA GT 140
+NVIDIA GT 140M
+NVIDIA GT 150
+NVIDIA GT 220
+NVIDIA GT 220
+NVIDIA GT 220
+NVIDIA GT 220
+NVIDIA GT 220M
+NVIDIA GT 230
+NVIDIA GT 230
+NVIDIA GT 230M
+NVIDIA GT 240
+NVIDIA GT 240
+NVIDIA GT 240
+NVIDIA GT 240M
+NVIDIA GT 260M
+NVIDIA GT 320
+NVIDIA GT 320M
+NVIDIA GT 320M
+NVIDIA GT 325M
+NVIDIA GT 330
+NVIDIA GT 330
+NVIDIA GT 330
+NVIDIA GT 330M
+NVIDIA GT 330M
+NVIDIA GT 335M
+NVIDIA GT 340
+NVIDIA GT 340M
+NVIDIA GT 415M
+NVIDIA GT 420
+NVIDIA GT 420M
+NVIDIA GT 425M
+NVIDIA GT 430
+NVIDIA GT 430M
+NVIDIA GT 435M
+NVIDIA GT 440
+NVIDIA GT 440M
+NVIDIA GT 445M
+NVIDIA GT 450
+NVIDIA GT 520
+NVIDIA GT 520
+NVIDIA GT 520M
+NVIDIA GT 525M
+NVIDIA GT 530M
+NVIDIA GT 540
+NVIDIA GT 540M
+NVIDIA GT 550
+NVIDIA GT 550M
+NVIDIA GT 555M
+NVIDIA GT 610
+NVIDIA GT 620
+NVIDIA GT 620M
+NVIDIA GT 630
+NVIDIA GT 630M
+NVIDIA GT 635M
+NVIDIA GT 640
+NVIDIA GT 640M
+NVIDIA GT 650
+NVIDIA GT 650M
+NVIDIA GT 650M
+NVIDIA GTS 160M
+NVIDIA GTS 240
+NVIDIA GTS 240
+NVIDIA GTS 250
+NVIDIA GTS 350M
+NVIDIA GTS 360
+NVIDIA GTS 360M
+NVIDIA GTS 450
+NVIDIA GTX 260
+NVIDIA GTX 270
+NVIDIA GTX 275
+NVIDIA GTX 280
+NVIDIA GTX 285
+NVIDIA GTX 290
+NVIDIA GTX 295
+NVIDIA GTX 460
+NVIDIA GTX 460M
+NVIDIA GTX 465
+NVIDIA GTX 470
+NVIDIA GTX 470M
+NVIDIA GTX 480
+NVIDIA GTX 480M
+NVIDIA GTX 485M
+NVIDIA GTX 550
+NVIDIA GTX 560
+NVIDIA GTX 560
+NVIDIA GTX 560
+NVIDIA GTX 560 Ti
+NVIDIA GTX 570
+NVIDIA GTX 580
+NVIDIA GTX 580M
+NVIDIA GTX 590
+NVIDIA GTX 650
+NVIDIA GTX 660
+NVIDIA GTX 660
+NVIDIA GTX 670
+NVIDIA GTX 670
+NVIDIA GTX 670M
+NVIDIA GTX 675M
+NVIDIA GTX 675M
+NVIDIA GTX 680
+NVIDIA GTX 680
+NVIDIA GTX 680M
+NVIDIA GTX 690
+NVIDIA GTX 770
+NVIDIA GTX 770
+NVIDIA GTX TITAN
+NVIDIA GeForce 2
+NVIDIA GeForce 3
+NVIDIA GeForce 4
+NVIDIA GeForce 4 Go
+NVIDIA GeForce 4 MX
+NVIDIA GeForce 4 Ti
+NVIDIA GeForce 6100
+NVIDIA GeForce 6100
+NVIDIA GeForce 6200
+NVIDIA GeForce 6200
+NVIDIA GeForce 6500
+NVIDIA GeForce 6600
+NVIDIA GeForce 6700
+NVIDIA GeForce 6800
+NVIDIA GeForce 7000
+NVIDIA GeForce 7000M
+NVIDIA GeForce 7100
+NVIDIA GeForce 7300
+NVIDIA GeForce 7300
+NVIDIA GeForce 7500
+NVIDIA GeForce 7600
+NVIDIA GeForce 7600
+NVIDIA GeForce 7800
+NVIDIA GeForce 7800
+NVIDIA GeForce 7900
+NVIDIA GeForce 7900
+NVIDIA GeForce 8100
+NVIDIA GeForce 8200
+NVIDIA GeForce 8200M
+NVIDIA GeForce 8300
+NVIDIA GeForce 8300
+NVIDIA GeForce 8400
+NVIDIA GeForce 8400
+NVIDIA GeForce 8400M
+NVIDIA GeForce 8400M
+NVIDIA GeForce 8500
+NVIDIA GeForce 8500
+NVIDIA GeForce 8600
+NVIDIA GeForce 8600M
+NVIDIA GeForce 8600M
+NVIDIA GeForce 8700
+NVIDIA GeForce 8700M
+NVIDIA GeForce 8800
+NVIDIA GeForce 8800M
+NVIDIA GeForce 9100
+NVIDIA GeForce 9100M
+NVIDIA GeForce 9200
+NVIDIA GeForce 9200
+NVIDIA GeForce 9200M
+NVIDIA GeForce 9300
+NVIDIA GeForce 9300
+NVIDIA GeForce 9300M
+NVIDIA GeForce 9300M
+NVIDIA GeForce 9400
+NVIDIA GeForce 9400
+NVIDIA GeForce 9400M
+NVIDIA GeForce 9400M
+NVIDIA GeForce 9500
+NVIDIA GeForce 9500M
+NVIDIA GeForce 9600
+NVIDIA GeForce 9600
+NVIDIA GeForce 9600M
+NVIDIA GeForce 9600M
+NVIDIA GeForce 9700M
+NVIDIA GeForce 9800
+NVIDIA GeForce 9800M
+NVIDIA GeForce FX 5200
+NVIDIA GeForce FX 5200
+NVIDIA GeForce FX 5500
+NVIDIA GeForce FX 5500
+NVIDIA GeForce FX 5600
+NVIDIA GeForce FX 5700
+NVIDIA GeForce FX 5900
+NVIDIA GeForce FX Go5100
+NVIDIA GeForce FX Go5200
+NVIDIA GeForce FX Go5600
+NVIDIA GeForce FX Go5700
+NVIDIA GeForce Go 6
+NVIDIA GeForce Go 6100
+NVIDIA GeForce Go 6200
+NVIDIA GeForce Go 6400
+NVIDIA GeForce Go 6600
+NVIDIA GeForce Go 6800
+NVIDIA GeForce Go 7200
+NVIDIA GeForce Go 7300
+NVIDIA GeForce Go 7400
+NVIDIA GeForce Go 7600
+NVIDIA GeForce Go 7700
+NVIDIA GeForce Go 7800
+NVIDIA GeForce Go 7900
+NVIDIA GeForce PCX
+NVIDIA Generic
+NVIDIA ION
+NVIDIA MCP61
+NVIDIA NV34
+NVIDIA PCI
+NVIDIA Quadro 2000
+NVIDIA Quadro 2000 M/D
+NVIDIA Quadro 2000 M/D
+NVIDIA Quadro 3000M
+NVIDIA Quadro 400
+NVIDIA Quadro 4000
+NVIDIA Quadro 4000
+NVIDIA Quadro 4000M
+NVIDIA Quadro 50x0 M
+NVIDIA Quadro 600
+NVIDIA Quadro 6000
+NVIDIA Quadro FX
+NVIDIA Quadro FX 1500M
+NVIDIA Quadro FX 1800
+NVIDIA Quadro FX 2500M
+NVIDIA Quadro FX 2700M
+NVIDIA Quadro FX 2800M
+NVIDIA Quadro FX 3500
+NVIDIA Quadro FX 3700
+NVIDIA Quadro FX 3800
+NVIDIA Quadro FX 4500
+NVIDIA Quadro FX 4800
+NVIDIA Quadro FX 550
+NVIDIA Quadro FX 770M
+NVIDIA Quadro FX 880M
+NVIDIA Quadro NVS
+NVIDIA Quadro NVS 1xxM
+NVIDIA Quadro NVS 4200M
+NVIDIA Quadro2
+NVIDIA nForce
+Oracle VirtualBox Graphics
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon Barts XT Prototype OpenGL Engine
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 2600 OpenGL Engine
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 2600 PRO OpenGL Engine
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 4670 OpenGL Engine
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 4850 OpenGL Engine
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 5670 OpenGL Engine
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 5750 OpenGL Engine
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 5770 OpenGL Engine
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6630M OpenGL Engine
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6750M OpenGL Engine
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6770M OpenGL Engine
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6970M OpenGL Engine
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6970M OpenGL Engine
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6970M OpenGL Engine
+Parallels and ATI Technologies Inc. Parallels using ATI Radeon X1600 OpenGL Engine
+Parallels and Intel Inc. Parallels using Intel GMA X3100 OpenGL Engine
+Parallels and Intel Inc. Parallels using Intel HD Graphics 3000 OpenGL Engine
+Parallels and Intel Inc. Parallels using Intel HD Graphics 4000 OpenGL Engine
+Parallels and Intel Inc. Parallels using Intel HD Graphics 4000 OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce 320M OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce 8800 GS OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce 9400 OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce 9400M OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce 9600M GT OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GT 130 OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GT 330M OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GT 640 OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GT 640M OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GT 650M OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GTX 570 OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GTX 660 OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GTX 660 Ti OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GTX 670 OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GTX 680MX OpenGL Engine
+Parallels and NVIDIA Corporation Parallels using NVIDIA GeForce GTX 680MX OpenGL Engine
+PowerVR SGX545
+S3
+S3 Graphics K8M800/MMX/K3D
+S3 Graphics KM400/KN400/MMX/SSE
+S3 Graphics P8M800/MMX/SSE
+S3 Graphics Unknown Device/MMX/SSE
+S3 Graphics VIA/S3G UniChrome IGP/MMX/SSE
+S3 Graphics VIA/S3G UniChrome Pro IGP/MMX/SSE
+S3 Graphics VIA/S3G UniChrome Pro IGP/MMX/SSE
+S3 Graphics, Incorporated ProSavage/Twister
+S3 Graphics, Incorporated S3 Graphics Chrome9 HC
+S3 Graphics, Incorporated S3 Graphics DeltaChrome
+S3 Graphics, Incorporated VIA Chrome9 HC IGP
+S3 Graphics, Incorporated VIA Chrome9 HC IGP
+S3 Graphics, Incorporated VIA Chrome9 HC3 IGP
+S3 Graphics, Incorporated VIA Chrome9 HD Pro IGP
+S3 Graphics, Incorporated VIA Chrome9 HD Pro IGP
+SiS
+SiS 3D-Analyze v2.3 - http://www.tommti-systems.com
+SiS 650/M650 VGA
+SiS 650/M650 VGA / MMX/SSE2 /AGP
+SiS 661 VGA
+SiS 662 VGA
+SiS 760 VGA
+SiS 761GX VGA
+SiS Mirage Graphics3
+SiS Mirage Graphics3
+SiS Xabre VGA
+Tungsten Graphics, Inc Mesa DRI Intel(R) 845G
+Tungsten Graphics, Inc Mesa DRI Intel(R) 852GM/855GM
+Tungsten Graphics, Inc Mesa DRI Intel(R) 852GM/855GM x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 865G
+Tungsten Graphics, Inc Mesa DRI Intel(R) 865G x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 915G
+Tungsten Graphics, Inc Mesa DRI Intel(R) 915G x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 915GM
+Tungsten Graphics, Inc Mesa DRI Intel(R) 915GM 20061017 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 915GM GEM 20091221 2009Q4 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 915GM GEM 20091221 2009Q4 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 915GM x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945G GEM 20091221 2009Q4 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945G GEM 20100330 DEVELOPMENT x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945G x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945GM GEM 20091221 2009Q4 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945GM x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945GME
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945GME GEM 20091221 2009Q4 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 945GME x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965GM
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965GM GEM 20091221 2009Q4 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965GM GEM 20091221 2009Q4 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965GM x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965GM x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965GME/GLE x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965Q
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965Q GEM 20091221 2009Q4 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) 965Q x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) G33 GEM 20091221 2009Q4 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) G33 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) G41 GEM 20091221 2009Q4 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) G41 GEM 20100330 DEVELOPMENT x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) G41 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) G41 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) IGD x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) IGD
+Tungsten Graphics, Inc Mesa DRI Intel(R) IGD GEM 20091221 2009Q4
+Tungsten Graphics, Inc Mesa DRI Intel(R) IGD GEM 20091221 2009Q4 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) IGD GEM 20091221 2009Q4 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) IGD x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) IGDNG_M GEM 20091221 2009Q4
+Tungsten Graphics, Inc Mesa DRI Intel(R) IGDNG_M GEM 20091221 2009Q4 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ironlake Desktop
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ironlake Desktop x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ironlake Mobile
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ironlake Mobile GEM 20100330 DEVELOPMENT x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ironlake Mobile x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ironlake Mobile x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ivybridge Desktop
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ivybridge Desktop x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ivybridge Mobile
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ivybridge Mobile x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Ivybridge Mobile x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Q35 GEM 20091221 2009Q4 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Q35 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Q45/Q43 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Sandybridge Desktop
+Tungsten Graphics, Inc Mesa DRI Intel(R) Sandybridge Desktop x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Sandybridge Mobile x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Sandybridge Mobile
+Tungsten Graphics, Inc Mesa DRI Intel(R) Sandybridge Mobile GEM 20100330 DEVELOPMENT x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Sandybridge Mobile x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Sandybridge Mobile x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Intel(R) Sandybridge Server
+Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset
+Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20091221 2009Q4
+Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20091221 2009Q4 x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20100330 DEVELOPMENT x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset x86/MMX/SSE2
+Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset x86/MMX/SSE2
+Tungsten Graphics, Inc. Mesa DRI R100 (RS200 4437) x86/MMX/SSE2 NO-TCL DRI2
+Tungsten Graphics, Inc. Mesa DRI R100 (RV200 4C57) TCL DRI2
+Tungsten Graphics, Inc. Mesa DRI R100 (RV200 4C57) x86/MMX/SSE2 TCL DRI2
+Tungsten Graphics, Inc. Mesa DRI R200 (RV250 4C66) x86/MMX/SSE2 TCL DRI2
+Tungsten Graphics, Inc. Mesa DRI R200 (RV280 5960) x86/MMX+/3DNow!+/SSE2 TCL DRI2
+Tungsten Graphics, Inc. Mesa DRI R200 (RV280 5960) x86/MMX/SSE2 TCL DRI2
+Tungsten Graphics, Inc. Mesa DRI R200 (RV280 5961) x86/MMX/SSE2 TCL DRI2
+VMware, Inc. Gallium 0.3 on SVGA3D; build: RELEASE;
+VMware, Inc. Gallium 0.3 on SVGA3D; build: RELEASE;
+VMware, Inc. Gallium 0.4 on SVGA3D; build: RELEASE;
+VMware, Inc. Gallium 0.4 on SVGA3D; build: RELEASE;
+VMware, Inc. Gallium 0.4 on i915 (chipset: 945GME)
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 0x209)
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 0x209)
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 0x300)
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 0x300)
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 0x301)
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 0x301)
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 0x302)
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 0x302)
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 3.2, 128 bits)
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 3.2, 128 bits)
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 3.2, 256 bits)
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 3.2, 256 bits)
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 3.3, 128 bits)
+VMware, Inc. Gallium 0.4 on llvmpipe (LLVM 3.3, 128 bits)
+VMware, Inc. Gallium 0.4 on llvmpipe
+X.Org Gallium 0.4 on AMD ARUBA
+X.Org Gallium 0.4 on AMD ARUBA
+X.Org Gallium 0.4 on AMD BARTS
+X.Org Gallium 0.4 on AMD BARTS
+X.Org Gallium 0.4 on AMD CAICOS
+X.Org Gallium 0.4 on AMD CAPE VERDE
+X.Org Gallium 0.4 on AMD CEDAR
+X.Org Gallium 0.4 on AMD CYPRESS
+X.Org Gallium 0.4 on AMD JUNIPER
+X.Org Gallium 0.4 on AMD PALM
+X.Org Gallium 0.4 on AMD PALM
+X.Org Gallium 0.4 on AMD REDWOOD
+X.Org Gallium 0.4 on AMD REDWOOD
+X.Org Gallium 0.4 on AMD RS780
+X.Org Gallium 0.4 on AMD RS780
+X.Org Gallium 0.4 on AMD RS880
+X.Org Gallium 0.4 on AMD RV610
+X.Org Gallium 0.4 on AMD RV610
+X.Org Gallium 0.4 on AMD RV620
+X.Org Gallium 0.4 on AMD RV630
+X.Org Gallium 0.4 on AMD RV635
+X.Org Gallium 0.4 on AMD RV670
+X.Org Gallium 0.4 on AMD RV710
+X.Org Gallium 0.4 on AMD RV710
+X.Org Gallium 0.4 on AMD RV730
+X.Org Gallium 0.4 on AMD RV730
+X.Org Gallium 0.4 on AMD RV740
+X.Org Gallium 0.4 on AMD RV770
+X.Org Gallium 0.4 on AMD SUMO
+X.Org Gallium 0.4 on AMD SUMO
+X.Org Gallium 0.4 on AMD SUMO2
+X.Org Gallium 0.4 on AMD TURKS
+X.Org R300 Project Gallium 0.4 on ATI R350
+X.Org R300 Project Gallium 0.4 on ATI R580
+X.Org R300 Project Gallium 0.4 on ATI RC410
+X.Org R300 Project Gallium 0.4 on ATI RS480
+X.Org R300 Project Gallium 0.4 on ATI RS480
+X.Org R300 Project Gallium 0.4 on ATI RS482
+X.Org R300 Project Gallium 0.4 on ATI RS600
+X.Org R300 Project Gallium 0.4 on ATI RS690
+X.Org R300 Project Gallium 0.4 on ATI RV350
+X.Org R300 Project Gallium 0.4 on ATI RV350
+X.Org R300 Project Gallium 0.4 on ATI RV370
+X.Org R300 Project Gallium 0.4 on ATI RV380
+X.Org R300 Project Gallium 0.4 on ATI RV410
+X.Org R300 Project Gallium 0.4 on ATI RV515
+X.Org R300 Project Gallium 0.4 on ATI RV530
+X.Org R300 Project Gallium 0.4 on ATI RV530
+X.Org R300 Project Gallium 0.4 on ATI RV570
+XGI Volari V3
+http://TitaniumGL.tk NVIDIA GeForce GTX 690/3999M VRAM/TitaniumGL/4 THREADs/3D GRAPHICS ACCELERATION/4 TMUs
+nouveau Gallium 0.4 on NV34
+nouveau Gallium 0.4 on NV34
+nouveau Gallium 0.4 on NV42
+nouveau Gallium 0.4 on NV42
+nouveau Gallium 0.4 on NV44
+nouveau Gallium 0.4 on NV44
+nouveau Gallium 0.4 on NV46
+nouveau Gallium 0.4 on NV49
+nouveau Gallium 0.4 on NV4A
+nouveau Gallium 0.4 on NV4A
+nouveau Gallium 0.4 on NV4B
+nouveau Gallium 0.4 on NV4B
+nouveau Gallium 0.4 on NV4C
+nouveau Gallium 0.4 on NV4C
+nouveau Gallium 0.4 on NV4E
+nouveau Gallium 0.4 on NV50
+nouveau Gallium 0.4 on NV63
+nouveau Gallium 0.4 on NV67
+nouveau Gallium 0.4 on NV84
+nouveau Gallium 0.4 on NV84
+nouveau Gallium 0.4 on NV86
+nouveau Gallium 0.4 on NV86
+nouveau Gallium 0.4 on NV92
+nouveau Gallium 0.4 on NV92
+nouveau Gallium 0.4 on NV94
+nouveau Gallium 0.4 on NV94
+nouveau Gallium 0.4 on NV96
+nouveau Gallium 0.4 on NV96
+nouveau Gallium 0.4 on NV98
+nouveau Gallium 0.4 on NV98
+nouveau Gallium 0.4 on NVA0
+nouveau Gallium 0.4 on NVA0
+nouveau Gallium 0.4 on NVA3
+nouveau Gallium 0.4 on NVA3
+nouveau Gallium 0.4 on NVA5
+nouveau Gallium 0.4 on NVA5
+nouveau Gallium 0.4 on NVA8
+nouveau Gallium 0.4 on NVA8
+nouveau Gallium 0.4 on NVAA
+nouveau Gallium 0.4 on NVAA
+nouveau Gallium 0.4 on NVAC
+nouveau Gallium 0.4 on NVAC
+nouveau Gallium 0.4 on NVAF
+nouveau Gallium 0.4 on NVC0
+nouveau Gallium 0.4 on NVC0
+nouveau Gallium 0.4 on NVC1
+nouveau Gallium 0.4 on NVC1
+nouveau Gallium 0.4 on NVC3
+nouveau Gallium 0.4 on NVC4
+nouveau Gallium 0.4 on NVC4
+nouveau Gallium 0.4 on NVCE
+nouveau Gallium 0.4 on NVCE
+nouveau Gallium 0.4 on NVCF
+nouveau Gallium 0.4 on NVCF
+nouveau Gallium 0.4 on NVD9
+nouveau Gallium 0.4 on NVD9
+nouveau Gallium 0.4 on NVE4
+nouveau Gallium 0.4 on NVE6
+nouveau Gallium 0.4 on NVE7
+nouveau Gallium 0.4 on NVE7
diff --git a/indra/newview/tests/gpus_unmatched.txt b/indra/newview/tests/gpus_unmatched.txt
new file mode 100644
index 0000000000..083f29aaa0
--- /dev/null
+++ b/indra/newview/tests/gpus_unmatched.txt
@@ -0,0 +1,9 @@
+ATI NO MATCH
+ATI Technologies NO MATCH
+ATI Technologies Inc. NO MATCH
+ATI Technologies Inc. (DNA-ATi 5.1.7.5x32) ATI Mobility Radeon HD 2 NO MATCH
+ATI Technologies Inc. ATI Mobility Radeon Graphics NO MATCH
+ATI Technologies Inc. ATI Radeon Graphics Processor NO MATCH
+Intel NO MATCH
+NVIDIA Corporation /PCI/SSE2 NO MATCH
+NVIDIA Corporation Quadro PCI-E Series/PCI/SSE2 NO MATCH
diff --git a/indra/newview/tests/llagentaccess_test.cpp b/indra/newview/tests/llagentaccess_test.cpp
index e08193f785..45ce1ba62f 100644..100755
--- a/indra/newview/tests/llagentaccess_test.cpp
+++ b/indra/newview/tests/llagentaccess_test.cpp
@@ -2,31 +2,25 @@
* @file llagentaccess_test.cpp
* @brief LLAgentAccess tests
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -46,7 +40,7 @@
static U32 test_preferred_maturity = SIM_ACCESS_PG;
LLControlGroup::LLControlGroup(const std::string& name)
- : LLInstanceTracker<LLControlGroup, std::string>(name)
+: LLInstanceTracker<LLControlGroup, std::string>(name)
{
}
@@ -55,10 +49,10 @@ LLControlGroup::~LLControlGroup()
}
// Implementation of just the LLControlGroup methods we requre
-BOOL LLControlGroup::declareU32(const std::string& name, U32 initial_val, const std::string& comment, BOOL persist)
+LLControlVariable* LLControlGroup::declareU32(const std::string& name, U32 initial_val, const std::string& comment, LLControlVariable::ePersist persist)
{
test_preferred_maturity = initial_val;
- return true;
+ return NULL;
}
void LLControlGroup::setU32(const std::string& name, U32 val)
@@ -80,78 +74,82 @@ namespace tut
typedef test_group<agentaccess> agentaccess_t;
typedef agentaccess_t::object agentaccess_object_t;
- tut::agentaccess_t tut_agentaccess("agentaccess");
+ tut::agentaccess_t tut_agentaccess("LLAgentAccess");
template<> template<>
void agentaccess_object_t::test<1>()
{
LLControlGroup cgr("test");
- cgr.declareU32("PreferredMaturity", SIM_ACCESS_PG, "declared_for_test", FALSE);
+ cgr.declareU32("PreferredMaturity", SIM_ACCESS_PG, "declared_for_test", LLControlVariable::PERSIST_NO);
LLAgentAccess aa(cgr);
cgr.setU32("PreferredMaturity", SIM_ACCESS_PG);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("1 prefersPG", aa.prefersPG());
ensure("1 prefersMature", !aa.prefersMature());
ensure("1 prefersAdult", !aa.prefersAdult());
+#endif // HACKED_GODLIKE_VIEWER
cgr.setU32("PreferredMaturity", SIM_ACCESS_MATURE);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("2 prefersPG", !aa.prefersPG());
ensure("2 prefersMature", aa.prefersMature());
ensure("2 prefersAdult", !aa.prefersAdult());
+#endif // HACKED_GODLIKE_VIEWER
cgr.setU32("PreferredMaturity", SIM_ACCESS_ADULT);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("3 prefersPG", !aa.prefersPG());
ensure("3 prefersMature", aa.prefersMature());
ensure("3 prefersAdult", aa.prefersAdult());
+#endif // HACKED_GODLIKE_VIEWER
}
template<> template<>
void agentaccess_object_t::test<2>()
{
LLControlGroup cgr("test");
- cgr.declareU32("PreferredMaturity", SIM_ACCESS_PG, "declared_for_test", FALSE);
+ cgr.declareU32("PreferredMaturity", SIM_ACCESS_PG, "declared_for_test", LLControlVariable::PERSIST_NO);
LLAgentAccess aa(cgr);
// make sure default is PG
+#ifndef HACKED_GODLIKE_VIEWER
ensure("1 isTeen", aa.isTeen());
ensure("1 isMature", !aa.isMature());
ensure("1 isAdult", !aa.isAdult());
+#endif // HACKED_GODLIKE_VIEWER
- // this is kinda bad -- setting this forces maturity to MATURE but !teen != Mature anymore
- aa.setTeen(false);
- ensure("2 isTeen", !aa.isTeen());
- ensure("2 isMature", aa.isMature());
- ensure("2 isAdult", !aa.isAdult());
-
- // have to flip it back and make sure it still works
- aa.setTeen(true);
- ensure("3 isTeen", aa.isTeen());
- ensure("3 isMature", !aa.isMature());
- ensure("3 isAdult", !aa.isAdult());
-
// check the conversion routine
+#ifndef HACKED_GODLIKE_VIEWER
ensure_equals("1 conversion", SIM_ACCESS_PG, aa.convertTextToMaturity('P'));
ensure_equals("2 conversion", SIM_ACCESS_MATURE, aa.convertTextToMaturity('M'));
ensure_equals("3 conversion", SIM_ACCESS_ADULT, aa.convertTextToMaturity('A'));
ensure_equals("4 conversion", SIM_ACCESS_MIN, aa.convertTextToMaturity('Q'));
+#endif // HACKED_GODLIKE_VIEWER
// now try the other method of setting it - PG
aa.setMaturity('P');
- ensure("4 isTeen", aa.isTeen());
- ensure("4 isMature", !aa.isMature());
- ensure("4 isAdult", !aa.isAdult());
+ ensure("2 isTeen", aa.isTeen());
+#ifndef HACKED_GODLIKE_VIEWER
+ ensure("2 isMature", !aa.isMature());
+ ensure("2 isAdult", !aa.isAdult());
+#endif // HACKED_GODLIKE_VIEWER
// Mature
aa.setMaturity('M');
- ensure("5 isTeen", !aa.isTeen());
- ensure("5 isMature", aa.isMature());
- ensure("5 isAdult", !aa.isAdult());
+#ifndef HACKED_GODLIKE_VIEWER
+ ensure("3 isTeen", !aa.isTeen());
+ ensure("3 isMature", aa.isMature());
+ ensure("3 isAdult", !aa.isAdult());
+#endif // HACKED_GODLIKE_VIEWER
// Adult
aa.setMaturity('A');
- ensure("6 isTeen", !aa.isTeen());
- ensure("6 isMature", aa.isMature());
- ensure("6 isAdult", aa.isAdult());
+#ifndef HACKED_GODLIKE_VIEWER
+ ensure("4 isTeen", !aa.isTeen());
+ ensure("4 isMature", aa.isMature());
+ ensure("4 isAdult", aa.isAdult());
+#endif // HACKED_GODLIKE_VIEWER
}
@@ -159,82 +157,114 @@ namespace tut
void agentaccess_object_t::test<3>()
{
LLControlGroup cgr("test");
- cgr.declareU32("PreferredMaturity", SIM_ACCESS_PG, "declared_for_test", FALSE);
+ cgr.declareU32("PreferredMaturity", SIM_ACCESS_PG, "declared_for_test", LLControlVariable::PERSIST_NO);
LLAgentAccess aa(cgr);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("starts normal", !aa.isGodlike());
+#endif // HACKED_GODLIKE_VIEWER
aa.setGodLevel(GOD_NOT);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("stays normal", !aa.isGodlike());
+#endif // HACKED_GODLIKE_VIEWER
aa.setGodLevel(GOD_FULL);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("sets full", aa.isGodlike());
+#endif // HACKED_GODLIKE_VIEWER
aa.setGodLevel(GOD_NOT);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("resets normal", !aa.isGodlike());
+#endif // HACKED_GODLIKE_VIEWER
aa.setAdminOverride(true);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("admin true", aa.getAdminOverride());
ensure("overrides 1", aa.isGodlike());
+#endif // HACKED_GODLIKE_VIEWER
aa.setGodLevel(GOD_FULL);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("overrides 2", aa.isGodlike());
+#endif // HACKED_GODLIKE_VIEWER
aa.setAdminOverride(false);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("admin false", !aa.getAdminOverride());
ensure("overrides 3", aa.isGodlike());
+#endif // HACKED_GODLIKE_VIEWER
}
template<> template<>
void agentaccess_object_t::test<4>()
{
LLControlGroup cgr("test");
- cgr.declareU32("PreferredMaturity", SIM_ACCESS_PG, "declared_for_test", FALSE);
+ cgr.declareU32("PreferredMaturity", SIM_ACCESS_PG, "declared_for_test", LLControlVariable::PERSIST_NO);
LLAgentAccess aa(cgr);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("1 pg to start", aa.wantsPGOnly());
ensure("2 pg to start", !aa.canAccessMature());
ensure("3 pg to start", !aa.canAccessAdult());
+#endif // HACKED_GODLIKE_VIEWER
aa.setGodLevel(GOD_FULL);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("1 full god", !aa.wantsPGOnly());
ensure("2 full god", aa.canAccessMature());
ensure("3 full god", aa.canAccessAdult());
+#endif // HACKED_GODLIKE_VIEWER
aa.setGodLevel(GOD_NOT);
aa.setAdminOverride(true);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("1 admin mode", !aa.wantsPGOnly());
ensure("2 admin mode", aa.canAccessMature());
ensure("3 admin mode", aa.canAccessAdult());
+#endif // HACKED_GODLIKE_VIEWER
aa.setAdminOverride(false);
aa.setMaturity('M');
// preferred is still pg by default
+#ifndef HACKED_GODLIKE_VIEWER
ensure("1 mature pref pg", aa.wantsPGOnly());
ensure("2 mature pref pg", !aa.canAccessMature());
ensure("3 mature pref pg", !aa.canAccessAdult());
+#endif // HACKED_GODLIKE_VIEWER
cgr.setU32("PreferredMaturity", SIM_ACCESS_MATURE);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("1 mature", !aa.wantsPGOnly());
ensure("2 mature", aa.canAccessMature());
ensure("3 mature", !aa.canAccessAdult());
+#endif // HACKED_GODLIKE_VIEWER
cgr.setU32("PreferredMaturity", SIM_ACCESS_PG);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("1 mature pref pg", aa.wantsPGOnly());
ensure("2 mature pref pg", !aa.canAccessMature());
ensure("3 mature pref pg", !aa.canAccessAdult());
+#endif // HACKED_GODLIKE_VIEWER
aa.setMaturity('A');
+#ifndef HACKED_GODLIKE_VIEWER
ensure("1 adult pref pg", aa.wantsPGOnly());
ensure("2 adult pref pg", !aa.canAccessMature());
ensure("3 adult pref pg", !aa.canAccessAdult());
+#endif // HACKED_GODLIKE_VIEWER
cgr.setU32("PreferredMaturity", SIM_ACCESS_ADULT);
+#ifndef HACKED_GODLIKE_VIEWER
ensure("1 adult", !aa.wantsPGOnly());
ensure("2 adult", aa.canAccessMature());
ensure("3 adult", aa.canAccessAdult());
+#endif // HACKED_GODLIKE_VIEWER
// make sure that even if pref is high, if access is low we block access
// this shouldn't occur in real life but we want to be safe
cgr.setU32("PreferredMaturity", SIM_ACCESS_ADULT);
aa.setMaturity('P');
+#ifndef HACKED_GODLIKE_VIEWER
ensure("1 pref adult, actual pg", aa.wantsPGOnly());
ensure("2 pref adult, actual pg", !aa.canAccessMature());
ensure("3 pref adult, actual pg", !aa.canAccessAdult());
+#endif // HACKED_GODLIKE_VIEWER
}
@@ -242,27 +272,19 @@ namespace tut
void agentaccess_object_t::test<5>()
{
LLControlGroup cgr("test");
- cgr.declareU32("PreferredMaturity", SIM_ACCESS_PG, "declared_for_test", FALSE);
- LLAgentAccess aa(cgr);
-
- ensure("1 transition starts false", !aa.isInTransition());
- aa.setTransition();
- ensure("2 transition now true", aa.isInTransition());
- }
-
- template<> template<>
- void agentaccess_object_t::test<6>()
- {
- LLControlGroup cgr("test");
- cgr.declareU32("PreferredMaturity", SIM_ACCESS_PG, "declared_for_test", FALSE);
+ cgr.declareU32("PreferredMaturity", SIM_ACCESS_PG, "declared_for_test", LLControlVariable::PERSIST_NO);
LLAgentAccess aa(cgr);
cgr.setU32("PreferredMaturity", SIM_ACCESS_ADULT);
aa.setMaturity('M');
+#ifndef HACKED_GODLIKE_VIEWER
ensure("1 preferred maturity pegged to M when maturity is M", cgr.getU32("PreferredMaturity") == SIM_ACCESS_MATURE);
+#endif // HACKED_GODLIKE_VIEWER
aa.setMaturity('P');
+#ifndef HACKED_GODLIKE_VIEWER
ensure("1 preferred maturity pegged to P when maturity is P", cgr.getU32("PreferredMaturity") == SIM_ACCESS_PG);
+#endif // HACKED_GODLIKE_VIEWER
}
}
diff --git a/indra/newview/tests/llcapabilitylistener_test.cpp b/indra/newview/tests/llcapabilitylistener_test.cpp
index ca7d02fc68..bde991a01e 100644..100755
--- a/indra/newview/tests/llcapabilitylistener_test.cpp
+++ b/indra/newview/tests/llcapabilitylistener_test.cpp
@@ -4,31 +4,25 @@
* @date 2008-12-31
* @brief Test for llcapabilitylistener.cpp.
*
- * $LicenseInfo:firstyear=2008&license=viewergpl$
- *
- * Copyright (c) 2008-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2008&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -78,7 +72,7 @@ struct TestCapabilityProvider: public LLCapabilityProvider
{
mCaps[cap] = url;
}
- LLHost getHost() const { return mHost; }
+ const LLHost& getHost() const { return mHost; }
std::string getDescription() const { return "TestCapabilityProvider"; }
LLHost mHost;
@@ -120,6 +114,7 @@ namespace tut
regionListener("testCapabilityListener", NULL, provider, LLUUID(), LLUUID()),
regionPump(regionListener.getCapAPI())
{
+ LLCurl::initClass();
provider.setCapability("good", server + "capability-test");
provider.setCapability("fail", server + "fail");
}
@@ -139,10 +134,10 @@ namespace tut
std::string threw;
try
{
- WrapLL_ERRS capture;
+ WrapLLErrs capture;
regionPump.post(request);
}
- catch (const WrapLL_ERRS::FatalException& e)
+ catch (const WrapLLErrs::FatalException& e)
{
threw = e.what();
}
@@ -161,7 +156,7 @@ namespace tut
regionPump.post(request);
ensure("got response", netio.pump());
ensure("success response", success);
- ensure_equals(result.asString(), "success");
+ ensure_equals(result["reply"].asString(), "success");
body["status"] = 499;
body["reason"] = "custom error message";
@@ -186,10 +181,10 @@ namespace tut
std::string threw;
try
{
- WrapLL_ERRS capture;
+ WrapLLErrs capture;
regionPump.post(request);
}
- catch (const WrapLL_ERRS::FatalException& e)
+ catch (const WrapLLErrs::FatalException& e)
{
threw = e.what();
}
@@ -248,10 +243,10 @@ namespace tut
std::string threw;
try
{
- WrapLL_ERRS capture;
+ WrapLLErrs capture;
regionPump.post(request);
}
- catch (const WrapLL_ERRS::FatalException& e)
+ catch (const WrapLLErrs::FatalException& e)
{
threw = e.what();
}
diff --git a/indra/newview/tests/lldateutil_test.cpp b/indra/newview/tests/lldateutil_test.cpp
index 142a5eb5e6..47353962e1 100644..100755
--- a/indra/newview/tests/lldateutil_test.cpp
+++ b/indra/newview/tests/lldateutil_test.cpp
@@ -1,31 +1,25 @@
/**
* @file lldateutil_test.cpp
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -109,7 +103,7 @@ namespace tut
typedef test_group<dateutil> dateutil_t;
typedef dateutil_t::object dateutil_object_t;
- tut::dateutil_t tut_dateutil("dateutil");
+ tut::dateutil_t tut_dateutil("LLDateUtil");
template<> template<>
void dateutil_object_t::test<1>()
@@ -179,4 +173,24 @@ namespace tut
LLDateUtil::ageFromDate("12/31/2009", mNow),
"Joined today" );
}
+
+ template<> template<>
+ void dateutil_object_t::test<5>()
+ {
+ set_test_name("2010 rollover");
+ LLDate now(std::string("2010-01-04T12:00:00Z"));
+ ensure_equals("days",
+ LLDateUtil::ageFromDate("12/13/2009", now),
+ "3 weeks old" );
+ }
+
+ //template<> template<>
+ //void dateutil_object_t::test<6>()
+ //{
+ // set_test_name("ISO dates");
+ // LLDate now(std::string("2010-01-04T12:00:00Z"));
+ // ensure_equals("days",
+ // LLDateUtil::ageFromDateISO("2009-12-13", now),
+ // "3 weeks old" );
+ //}
}
diff --git a/indra/newview/tests/lldir_stub.cpp b/indra/newview/tests/lldir_stub.cpp
new file mode 100755
index 0000000000..2bc6772d86
--- /dev/null
+++ b/indra/newview/tests/lldir_stub.cpp
@@ -0,0 +1,62 @@
+/**
+ * @file lldir_stub.cpp
+ * @brief stub class to allow unit testing
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2011, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+// Use me only if you need to stub out some helper functions, not if you e.g. need sane numbers from countFilesInDir
+
+LLDir::LLDir() {}
+LLDir::~LLDir() {}
+BOOL LLDir::deleteFilesInDir(const std::string &dirname, const std::string &mask) { return true; }
+void LLDir::setChatLogsDir(const std::string &path) {}
+void LLDir::setPerAccountChatLogsDir(const std::string &first, const std::string &last) {}
+void LLDir::setLindenUserDir(const std::string &first, const std::string &last) {}
+void LLDir::setSkinFolder(const std::string &skin_folder, const std::string& language) {}
+bool LLDir::setCacheDir(const std::string &path) { return true; }
+void LLDir::dumpCurrentDirectories() {}
+
+class LLDir_stub : public LLDir
+{
+public:
+ LLDir_stub() {}
+ ~LLDir_stub() {}
+
+ /*virtual*/ void initAppDirs(const std::string &app_name) {}
+
+ /*virtual*/ std::string getCurPath() { return "CUR_PATH_FROM_LLDIR"; }
+ /*virtual*/ U32 countFilesInDir(const std::string &dirname, const std::string &mask) { return 42; }
+ /*virtual*/ BOOL getNextFileInDir(const std::string &dirname, const std::string &mask, std::string &fname, BOOL wrap) { fname = fname + "_NEXT"; return false; }
+ /*virtual*/ void getRandomFileInDir(const std::string &dirname, const std::string &mask, std::string &fname) { fname = "RANDOM_FILE"; }
+ /*virtual*/ bool fileExists(const std::string &filename) const { return false; }
+};
+
+LLDir_stub gDirUtil;
+
+LLDir* gDirUtilp = &gDirUtil;
+
+std::string LLDir::getExpandedFilename(ELLPath loc, const std::string& subdir, const std::string& filename) const
+{
+ return subdir + " --- " + filename + " --- expanded!";
+}
+
diff --git a/indra/newview/tests/llglslshader_stub.cpp b/indra/newview/tests/llglslshader_stub.cpp
new file mode 100755
index 0000000000..8947a632c8
--- /dev/null
+++ b/indra/newview/tests/llglslshader_stub.cpp
@@ -0,0 +1,39 @@
+/**
+ * @file llglslshader_stub.cpp
+ * @brief stub class to allow unit testing
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2011, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#include "llglslshader.h"
+
+void LLGLSLShader::uniform1f(const std::string& uniform, F32 num)
+{
+}
+
+void LLGLSLShader::uniform3fv(const std::string& uniform, U32 count, const GLfloat *v)
+{
+}
+
+void LLGLSLShader::uniform4fv(U32 index, U32 count, const GLfloat* v)
+{
+}
diff --git a/indra/newview/tests/llhttpretrypolicy_test.cpp b/indra/newview/tests/llhttpretrypolicy_test.cpp
new file mode 100755
index 0000000000..25e6de46d9
--- /dev/null
+++ b/indra/newview/tests/llhttpretrypolicy_test.cpp
@@ -0,0 +1,328 @@
+/**
+ * @file llhttpretrypolicy_test.cpp
+ * @brief Header tests to exercise the LLHTTPRetryPolicy classes.
+ *
+ * $LicenseInfo:firstyear=2013&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2013, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#include "../llviewerprecompiledheaders.h"
+#include "../llhttpretrypolicy.h"
+#include "lltut.h"
+
+namespace tut
+{
+struct TestData
+{
+};
+
+typedef test_group<TestData> RetryPolicyTestGroup;
+typedef RetryPolicyTestGroup::object RetryPolicyTestObject;
+RetryPolicyTestGroup retryPolicyTestGroup("retry_policy");
+
+template<> template<>
+void RetryPolicyTestObject::test<1>()
+{
+ LLAdaptiveRetryPolicy never_retry(1.0,1.0,1.0,0);
+ LLSD headers;
+ F32 wait_seconds;
+
+ // No retry until we've failed a try.
+ ensure("never retry 0", !never_retry.shouldRetry(wait_seconds));
+
+ // 0 retries max.
+ never_retry.onFailure(500,headers);
+ ensure("never retry 1", !never_retry.shouldRetry(wait_seconds));
+}
+
+template<> template<>
+void RetryPolicyTestObject::test<2>()
+{
+ LLSD headers;
+ F32 wait_seconds;
+
+ // Normally only retry on server error (5xx)
+ LLAdaptiveRetryPolicy noRetry404(1.0,2.0,3.0,10);
+ noRetry404.onFailure(404,headers);
+ ensure("no retry on 404", !noRetry404.shouldRetry(wait_seconds));
+
+ // Can retry on 4xx errors if enabled by flag.
+ bool do_retry_4xx = true;
+ LLAdaptiveRetryPolicy doRetry404(1.0,2.0,3.0,10,do_retry_4xx);
+ doRetry404.onFailure(404,headers);
+ ensure("do retry on 404", doRetry404.shouldRetry(wait_seconds));
+}
+
+template<> template<>
+void RetryPolicyTestObject::test<3>()
+{
+ // Should retry after 1.0, 2.0, 3.0, 3.0 seconds.
+ LLAdaptiveRetryPolicy basic_retry(1.0,3.0,2.0,4);
+ LLSD headers;
+ F32 wait_seconds;
+ bool should_retry;
+ U32 frac_bits = 6;
+
+ // No retry until we've failed a try.
+ ensure("basic_retry 0", !basic_retry.shouldRetry(wait_seconds));
+
+ // Starting wait 1.0
+ basic_retry.onFailure(500,headers);
+ should_retry = basic_retry.shouldRetry(wait_seconds);
+ ensure("basic_retry 1", should_retry);
+ ensure_approximately_equals("basic_retry 1", wait_seconds, 1.0F, frac_bits);
+
+ // Double wait to 2.0
+ basic_retry.onFailure(500,headers);
+ should_retry = basic_retry.shouldRetry(wait_seconds);
+ ensure("basic_retry 2", should_retry);
+ ensure_approximately_equals("basic_retry 2", wait_seconds, 2.0F, frac_bits);
+
+ // Hit max wait of 3.0 (4.0 clamped to max 3)
+ basic_retry.onFailure(500,headers);
+ should_retry = basic_retry.shouldRetry(wait_seconds);
+ ensure("basic_retry 3", should_retry);
+ ensure_approximately_equals("basic_retry 3", wait_seconds, 3.0F, frac_bits);
+
+ // At max wait, should stay at 3.0
+ basic_retry.onFailure(500,headers);
+ should_retry = basic_retry.shouldRetry(wait_seconds);
+ ensure("basic_retry 4", should_retry);
+ ensure_approximately_equals("basic_retry 4", wait_seconds, 3.0F, frac_bits);
+
+ // Max retries, should fail now.
+ basic_retry.onFailure(500,headers);
+ should_retry = basic_retry.shouldRetry(wait_seconds);
+ ensure("basic_retry 5", !should_retry);
+
+ // Max retries, should fail now.
+ basic_retry.onFailure(500,headers);
+ should_retry = basic_retry.shouldRetry(wait_seconds);
+ ensure("basic_retry 5", !should_retry);
+
+ // After a success, should reset to the starting state.
+ basic_retry.onSuccess();
+
+ // No retry until we've failed a try.
+ ensure("basic_retry 6", !basic_retry.shouldRetry(wait_seconds));
+
+ // Starting wait 1.0
+ basic_retry.onFailure(500,headers);
+ should_retry = basic_retry.shouldRetry(wait_seconds);
+ ensure("basic_retry 7", should_retry);
+ ensure_approximately_equals("basic_retry 7", wait_seconds, 1.0F, frac_bits);
+
+ // Double wait to 2.0
+ basic_retry.onFailure(500,headers);
+ should_retry = basic_retry.shouldRetry(wait_seconds);
+ ensure("basic_retry 8", should_retry);
+ ensure_approximately_equals("basic_retry 8", wait_seconds, 2.0F, frac_bits);
+}
+
+// Retries should stop as soon as a non-5xx error is received.
+template<> template<>
+void RetryPolicyTestObject::test<4>()
+{
+ // Should retry after 1.0, 2.0, 3.0, 3.0 seconds.
+ LLAdaptiveRetryPolicy killer404(1.0,3.0,2.0,4);
+ LLSD headers;
+ F32 wait_seconds;
+ bool should_retry;
+ U32 frac_bits = 6;
+
+ // Starting wait 1.0
+ killer404.onFailure(500,headers);
+ should_retry = killer404.shouldRetry(wait_seconds);
+ ensure("killer404 1", should_retry);
+ ensure_approximately_equals("killer404 1", wait_seconds, 1.0F, frac_bits);
+
+ // Double wait to 2.0
+ killer404.onFailure(500,headers);
+ should_retry = killer404.shouldRetry(wait_seconds);
+ ensure("killer404 2", should_retry);
+ ensure_approximately_equals("killer404 2", wait_seconds, 2.0F, frac_bits);
+
+ // Should fail on non-5xx
+ killer404.onFailure(404,headers);
+ should_retry = killer404.shouldRetry(wait_seconds);
+ ensure("killer404 3", !should_retry);
+
+ // After a non-5xx, should keep failing.
+ killer404.onFailure(500,headers);
+ should_retry = killer404.shouldRetry(wait_seconds);
+ ensure("killer404 4", !should_retry);
+}
+
+// Test handling of "retry-after" header. If present, this header
+// value overrides the computed delay, but does not affect the
+// progression of delay values. For example, if the normal
+// progression of delays would be 1,2,4,8..., but the 2nd and 3rd calls
+// get a retry header of 33, the pattern would become 1,33,33,8...
+template<> template<>
+void RetryPolicyTestObject::test<5>()
+{
+ LLAdaptiveRetryPolicy policy(1.0,25.0,2.0,6);
+ LLSD headers_with_retry;
+ headers_with_retry[HTTP_IN_HEADER_RETRY_AFTER] = "666";
+ LLSD headers_without_retry;
+ F32 wait_seconds;
+ bool should_retry;
+ U32 frac_bits = 6;
+
+ policy.onFailure(500,headers_without_retry);
+ should_retry = policy.shouldRetry(wait_seconds);
+ ensure("retry header 1", should_retry);
+ ensure_approximately_equals("retry header 1", wait_seconds, 1.0F, frac_bits);
+
+ policy.onFailure(500,headers_without_retry);
+ should_retry = policy.shouldRetry(wait_seconds);
+ ensure("retry header 2", should_retry);
+ ensure_approximately_equals("retry header 2", wait_seconds, 2.0F, frac_bits);
+
+ policy.onFailure(500,headers_with_retry);
+ should_retry = policy.shouldRetry(wait_seconds);
+ ensure("retry header 3", should_retry);
+ // 4.0 overrides by header -> 666.0
+ ensure_approximately_equals("retry header 3", wait_seconds, 666.0F, frac_bits);
+
+ policy.onFailure(500,headers_with_retry);
+ should_retry = policy.shouldRetry(wait_seconds);
+ ensure("retry header 4", should_retry);
+ // 8.0 overrides by header -> 666.0
+ ensure_approximately_equals("retry header 4", wait_seconds, 666.0F, frac_bits);
+
+ policy.onFailure(500,headers_without_retry);
+ should_retry = policy.shouldRetry(wait_seconds);
+ ensure("retry header 5", should_retry);
+ ensure_approximately_equals("retry header 5", wait_seconds, 16.0F, frac_bits);
+
+ policy.onFailure(500,headers_without_retry);
+ should_retry = policy.shouldRetry(wait_seconds);
+ ensure("retry header 6", should_retry);
+ ensure_approximately_equals("retry header 6", wait_seconds, 25.0F, frac_bits);
+
+ policy.onFailure(500,headers_with_retry);
+ should_retry = policy.shouldRetry(wait_seconds);
+ ensure("retry header 7", !should_retry);
+}
+
+// Test getSecondsUntilRetryAfter(const std::string& retry_after, F32& seconds_to_wait),
+// used by header parsing of the retry policy.
+template<> template<>
+void RetryPolicyTestObject::test<6>()
+{
+ F32 seconds_to_wait;
+ bool success;
+
+ std::string str1("0");
+ seconds_to_wait = F32_MAX;
+ success = getSecondsUntilRetryAfter(str1, seconds_to_wait);
+ ensure("parse 1", success);
+ ensure_equals("parse 1", seconds_to_wait, 0.0);
+
+ std::string str2("999.9");
+ seconds_to_wait = F32_MAX;
+ success = getSecondsUntilRetryAfter(str2, seconds_to_wait);
+ ensure("parse 2", success);
+ ensure_approximately_equals("parse 2", seconds_to_wait, 999.9F, 8);
+
+ time_t nowseconds;
+ time(&nowseconds);
+ std::string str3 = LLDate((F64)(nowseconds+44)).asRFC1123();
+ seconds_to_wait = F32_MAX;
+ success = getSecondsUntilRetryAfter(str3, seconds_to_wait);
+ std::cerr << " str3 [" << str3 << "]" << std::endl;
+ ensure("parse 3", success);
+ ensure_approximately_equals_range("parse 3", seconds_to_wait, 44.0F, 2.0F);
+}
+
+// Test retry-after field in both llmessage and CoreHttp headers.
+template<> template<>
+void RetryPolicyTestObject::test<7>()
+{
+ std::cerr << "7 starts" << std::endl;
+
+ LLSD sd_headers;
+ time_t nowseconds;
+ time(&nowseconds);
+ LLAdaptiveRetryPolicy policy(17.0,644.0,3.0,5);
+ F32 seconds_to_wait;
+ bool should_retry;
+
+ // No retry until we've failed a try.
+ ensure("header 0", !policy.shouldRetry(seconds_to_wait));
+
+ // no retry header, use default.
+ policy.onFailure(500,LLSD());
+ should_retry = policy.shouldRetry(seconds_to_wait);
+ ensure("header 1", should_retry);
+ ensure_approximately_equals("header 1", seconds_to_wait, 17.0F, 6);
+
+ // retry header should override, give delay of 0
+ std::string date_string = LLDate((F64)(nowseconds+7)).asRFC1123();
+ sd_headers[HTTP_IN_HEADER_RETRY_AFTER] = date_string;
+ policy.onFailure(503,sd_headers);
+ should_retry = policy.shouldRetry(seconds_to_wait);
+ ensure("header 2", should_retry);
+ ensure_approximately_equals_range("header 2", seconds_to_wait, 7.0F, 2.0F);
+
+ LLCore::HttpResponse *response;
+ LLCore::HttpHeaders *headers;
+
+ response = new LLCore::HttpResponse();
+ headers = new LLCore::HttpHeaders();
+ response->setStatus(503);
+ response->setHeaders(headers);
+ headers->append(HTTP_IN_HEADER_RETRY_AFTER, std::string("600"));
+ policy.onFailure(response);
+ should_retry = policy.shouldRetry(seconds_to_wait);
+ ensure("header 3",should_retry);
+ ensure_approximately_equals("header 3", seconds_to_wait, 600.0F, 6);
+ response->release();
+
+ response = new LLCore::HttpResponse();
+ headers = new LLCore::HttpHeaders();
+ response->setStatus(503);
+ response->setHeaders(headers);
+ time(&nowseconds);
+ date_string = LLDate((F64)(nowseconds+77)).asRFC1123();
+ std::cerr << "date_string [" << date_string << "]" << std::endl;
+ headers->append(HTTP_IN_HEADER_RETRY_AFTER,date_string);
+ policy.onFailure(response);
+ should_retry = policy.shouldRetry(seconds_to_wait);
+ ensure("header 4",should_retry);
+ ensure_approximately_equals_range("header 4", seconds_to_wait, 77.0F, 2.0F);
+ response->release();
+
+ // Timeout should be clamped at max.
+ policy.onFailure(500,LLSD());
+ should_retry = policy.shouldRetry(seconds_to_wait);
+ ensure("header 5", should_retry);
+ ensure_approximately_equals("header 5", seconds_to_wait, 644.0F, 6);
+
+ // No more retries.
+ policy.onFailure(500,LLSD());
+ should_retry = policy.shouldRetry(seconds_to_wait);
+ ensure("header 6", !should_retry);
+}
+
+}
+
diff --git a/indra/newview/tests/lllogininstance_test.cpp b/indra/newview/tests/lllogininstance_test.cpp
index 7b28a3b72c..1b0334498e 100644..100755
--- a/indra/newview/tests/lllogininstance_test.cpp
+++ b/indra/newview/tests/lllogininstance_test.cpp
@@ -2,15 +2,35 @@
* @file lllogininstance_test.cpp
* @brief Test for lllogininstance.cpp.
*
- * $LicenseInfo:firstyear=2008&license=internal$
- * Copyright (c) 2008, Linden Research, Inc.
+ * $LicenseInfo:firstyear=2008&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
// Precompiled header
#include "../llviewerprecompiledheaders.h"
// Own header
+#include "../llsecapi.h"
+#include "../llviewernetwork.h"
#include "../lllogininstance.h"
+
// STL headers
// std headers
// external library headers
@@ -20,6 +40,7 @@
#if defined(LL_WINDOWS)
#pragma warning(disable: 4355) // using 'this' in base-class ctor initializer expr
+#pragma warning(disable: 4702) // disable 'unreachable code' so we can safely use skip().
#endif
// Constants
@@ -28,15 +49,31 @@ const std::string VIEWERLOGIN_GRIDLABEL("viewerlogin_grid");
const std::string APPVIEWER_SERIALNUMBER("appviewer_serialno");
+const std::string VIEWERLOGIN_CHANNEL("invalid_channel");
+const std::string VIEWERLOGIN_VERSION("invalid_version");
+
// Link seams.
//-----------------------------------------------------------------------------
static LLEventStream gTestPump("test_pump");
+#include "../llslurl.h"
+#include "../llstartup.h"
+LLSLURL LLStartUp::sStartSLURL;
+LLSLURL& LLStartUp::getStartSLURL() { return sStartSLURL; }
+
#include "lllogin.h"
+
static std::string gLoginURI;
static LLSD gLoginCreds;
static bool gDisconnectCalled = false;
+
+#include "../llviewerwindow.h"
+void LLViewerWindow::setShowProgress(BOOL show) {}
+LLProgressView * LLViewerWindow::getProgressView(void) const { return 0; }
+
+LLViewerWindow* gViewerWindow;
+
class LLLogin::Impl
{
};
@@ -54,22 +91,81 @@ void LLLogin::disconnect()
gDisconnectCalled = true;
}
+LLSD LLCredential::getLoginParams()
+{
+ LLSD result = LLSD::emptyMap();
+
+ // legacy credential
+ result["passwd"] = "$1$testpasssd";
+ result["first"] = "myfirst";
+ result["last"] ="mylast";
+ return result;
+}
+void LLCredential::identifierType(std::string &idType)
+{
+}
+
+void LLCredential::authenticatorType(std::string &idType)
+{
+}
+
//-----------------------------------------------------------------------------
#include "../llviewernetwork.h"
-unsigned char gMACAddress[MAC_ADDRESS_BYTES] = {'1','2','3','4','5','6'}; /* Flawfinder: ignore */
+LLGridManager::~LLGridManager()
+{
+}
-LLViewerLogin::LLViewerLogin() {}
-LLViewerLogin::~LLViewerLogin() {}
-void LLViewerLogin::getLoginURIs(std::vector<std::string>& uris) const
+bool LLGridManager::addGrid(LLSD& grid_data)
+{
+ return true;
+}
+LLGridManager::LLGridManager()
+:
+ mIsInProductionGrid(false)
+{
+}
+
+void LLGridManager::getLoginURIs(std::vector<std::string>& uris)
{
uris.push_back(VIEWERLOGIN_URI);
}
-std::string LLViewerLogin::getGridLabel() const { return VIEWERLOGIN_GRIDLABEL; }
+
+void LLGridManager::addSystemGrid(const std::string& label,
+ const std::string& name,
+ const std::string& login,
+ const std::string& helper,
+ const std::string& login_page,
+ const std::string& update_url_base,
+ const std::string& login_id)
+{
+}
+std::map<std::string, std::string> LLGridManager::getKnownGrids()
+{
+ std::map<std::string, std::string> result;
+ return result;
+}
+
+void LLGridManager::setGridChoice(const std::string& grid_name)
+{
+}
+
+bool LLGridManager::isInProductionGrid()
+{
+ return false;
+}
+
+std::string LLGridManager::getSLURLBase(const std::string& grid_name)
+{
+ return "myslurl";
+}
+std::string LLGridManager::getAppSLURLBase(const std::string& grid_name)
+{
+ return "myappslurl";
+}
//-----------------------------------------------------------------------------
#include "../llviewercontrol.h"
LLControlGroup gSavedSettings("Global");
-std::string gCurrentVersion = "invalid_version";
LLControlGroup::LLControlGroup(const std::string& name) :
LLInstanceTracker<LLControlGroup, std::string>(name){}
@@ -80,16 +176,51 @@ F32 LLControlGroup::getF32(const std::string& name) { return 0.0f; }
U32 LLControlGroup::saveToFile(const std::string& filename, BOOL nondefault_only) { return 1; }
void LLControlGroup::setString(const std::string& name, const std::string& val) {}
std::string LLControlGroup::getString(const std::string& name) { return "test_string"; }
-BOOL LLControlGroup::declareBOOL(const std::string& name, BOOL initial_val, const std::string& comment, BOOL persist) { return TRUE; }
-BOOL LLControlGroup::declareString(const std::string& name, const std::string &initial_val, const std::string& comment, BOOL persist) { return TRUE; }
+LLControlVariable* LLControlGroup::declareBOOL(const std::string& name, BOOL initial_val, const std::string& comment, LLControlVariable::ePersist persist) { return NULL; }
+LLControlVariable* LLControlGroup::declareString(const std::string& name, const std::string &initial_val, const std::string& comment, LLControlVariable::ePersist persist) { return NULL; }
#include "lluicolortable.h"
void LLUIColorTable::saveUserSettings(void)const {}
//-----------------------------------------------------------------------------
-#include "../llurlsimstring.h"
-LLURLSimString LLURLSimString::sInstance;
-bool LLURLSimString::parse() { return true; }
+#include "../llversioninfo.h"
+const std::string &LLVersionInfo::getVersion() { return VIEWERLOGIN_VERSION; }
+const std::string &LLVersionInfo::getChannel() { return VIEWERLOGIN_CHANNEL; }
+
+//-----------------------------------------------------------------------------
+#include "../llappviewer.h"
+void LLAppViewer::forceQuit(void) {}
+LLAppViewer * LLAppViewer::sInstance = 0;
+
+//-----------------------------------------------------------------------------
+#include "llupdaterservice.h"
+
+std::string const & LLUpdaterService::pumpName(void)
+{
+ static std::string wakka = "wakka wakka wakka";
+ return wakka;
+}
+bool LLUpdaterService::updateReadyToInstall(void) { return false; }
+void LLUpdaterService::initialize(const std::string& channel,
+ const std::string& version,
+ const std::string& platform,
+ const std::string& platform_version,
+ const unsigned char uniqueid[MD5HEX_STR_SIZE],
+ const bool& willing_to_test
+ ) {}
+
+void LLUpdaterService::setCheckPeriod(unsigned int seconds) {}
+void LLUpdaterService::startChecking(bool install_if_ready) {}
+void LLUpdaterService::stopChecking() {}
+bool LLUpdaterService::isChecking() { return false; }
+LLUpdaterService::eUpdaterState LLUpdaterService::getState() { return INITIAL; }
+std::string LLUpdaterService::updatedVersion() { return ""; }
+
+bool llHashedUniqueID(unsigned char* id)
+{
+ memcpy( id, "66666666666666666666666666666666", MD5HEX_STR_SIZE );
+ return true;
+}
//-----------------------------------------------------------------------------
#include "llnotifications.h"
@@ -105,6 +236,12 @@ LLFloater* LLFloaterReg::showInstance(const std::string& name, const LLSD& key,
return NULL;
}
+//----------------------------------------------------------------------------
+#include "../llprogressview.h"
+void LLProgressView::setText(std::string const &){}
+void LLProgressView::setPercent(float){}
+void LLProgressView::setMessage(std::string const &){}
+
//-----------------------------------------------------------------------------
// LLNotifications
class MockNotifications : public LLNotificationsInterface
@@ -164,6 +301,16 @@ S32 LLNotification::getSelectedOption(const LLSD& notification, const LLSD& resp
return response.asInteger();
}
+//-----------------------------------------------------------------------------
+#include "../llmachineid.h"
+unsigned char gMACAddress[MAC_ADDRESS_BYTES] = {77,21,46,31,89,2};
+
+S32 LLMachineID::getUniqueID(unsigned char *unique_id, size_t len)
+{
+ memcpy(unique_id, gMACAddress, len);
+ return 1;
+}
+//-----------------------------------------------------------------------------
// misc
std::string xml_escape_string(const std::string& in)
{
@@ -188,30 +335,44 @@ namespace tut
gTOSReplyPump = 0; // clear the callback.
- gSavedSettings.declareBOOL("NoInventoryLibrary", FALSE, "", FALSE);
- gSavedSettings.declareBOOL("ConnectAsGod", FALSE, "", FALSE);
- gSavedSettings.declareBOOL("UseDebugMenus", FALSE, "", FALSE);
- gSavedSettings.declareBOOL("ForceMandatoryUpdate", FALSE, "", FALSE);
- gSavedSettings.declareString("ClientSettingsFile", "test_settings.xml", "", FALSE);
- gSavedSettings.declareString("VersionChannelName", "test_version_string", "", FALSE);
- gSavedSettings.declareString("NextLoginLocation", "", "", FALSE);
- gSavedSettings.declareBOOL("LoginLastLocation", FALSE, "", FALSE);
-
- credentials["first"] = "testfirst";
- credentials["last"] = "testlast";
- credentials["passwd"] = "testpass";
+ gSavedSettings.declareBOOL("NoInventoryLibrary", FALSE, "", LLControlVariable::PERSIST_NO);
+ gSavedSettings.declareBOOL("ConnectAsGod", FALSE, "", LLControlVariable::PERSIST_NO);
+ gSavedSettings.declareBOOL("UseDebugMenus", FALSE, "", LLControlVariable::PERSIST_NO);
+ gSavedSettings.declareBOOL("ForceMandatoryUpdate", FALSE, "", LLControlVariable::PERSIST_NO);
+ gSavedSettings.declareString("ClientSettingsFile", "test_settings.xml", "", LLControlVariable::PERSIST_NO);
+ gSavedSettings.declareString("NextLoginLocation", "", "", LLControlVariable::PERSIST_NO);
+ gSavedSettings.declareBOOL("LoginLastLocation", FALSE, "", LLControlVariable::PERSIST_NO);
+
+ LLSD authenticator = LLSD::emptyMap();
+ LLSD identifier = LLSD::emptyMap();
+ identifier["type"] = "agent";
+ identifier["first_name"] = "testfirst";
+ identifier["last_name"] = "testlast";
+ authenticator["passwd"] = "testpass";
+ agentCredential = new LLCredential();
+ agentCredential->setCredentialData(identifier, authenticator);
+
+ authenticator = LLSD::emptyMap();
+ identifier = LLSD::emptyMap();
+ identifier["type"] = "account";
+ identifier["username"] = "testuser";
+ authenticator["secret"] = "testsecret";
+ accountCredential = new LLCredential();
+ accountCredential->setCredentialData(identifier, authenticator);
logininstance->setNotificationsInterface(&notifications);
+ logininstance->setPlatformInfo("win", "1.3.5");
}
LLLoginInstance* logininstance;
- LLSD credentials;
+ LLPointer<LLCredential> agentCredential;
+ LLPointer<LLCredential> accountCredential;
MockNotifications notifications;
};
typedef test_group<lllogininstance_data> lllogininstance_group;
typedef lllogininstance_group::object lllogininstance_object;
- lllogininstance_group llsdmgr("lllogininstance");
+ lllogininstance_group llsdmgr("LLLoginInstance");
template<> template<>
void lllogininstance_object::test<1>()
@@ -219,7 +380,7 @@ namespace tut
set_test_name("Test Simple Success And Disconnect");
// Test default connect.
- logininstance->connect(credentials);
+ logininstance->connect(agentCredential);
ensure_equals("Default connect uri", gLoginURI, VIEWERLOGIN_URI);
@@ -260,7 +421,7 @@ namespace tut
const std::string test_uri = "testing-uri";
// Test default connect.
- logininstance->connect(test_uri, credentials);
+ logininstance->connect(test_uri, agentCredential);
// connect should call LLLogin::connect to init gLoginURI and gLoginCreds.
ensure_equals("Default connect uri", gLoginURI, "testing-uri");
@@ -282,7 +443,7 @@ namespace tut
ensure("No TOS, failed auth", logininstance->authFailure());
// Start again.
- logininstance->connect(test_uri, credentials);
+ logininstance->connect(test_uri, agentCredential);
gTestPump.post(response); // Fail for tos again.
gTOSReplyPump->post(true); // Accept tos, should reconnect w/ agree_to_tos.
ensure_equals("Accepted agree to tos", gLoginCreds["params"]["agree_to_tos"].asBoolean(), true);
@@ -294,11 +455,11 @@ namespace tut
gTestPump.post(response);
ensure("TOS auth failure", logininstance->authFailure());
- logininstance->connect(test_uri, credentials);
+ logininstance->connect(test_uri, agentCredential);
ensure_equals("Reset to default for agree to tos", gLoginCreds["params"]["agree_to_tos"].asBoolean(), false);
// Critical Message failure response.
- logininstance->connect(test_uri, credentials);
+ logininstance->connect(test_uri, agentCredential);
response["data"]["reason"] = "critical"; // Change response to "critical message"
gTestPump.post(response);
@@ -312,7 +473,7 @@ namespace tut
response["data"]["reason"] = "key"; // bad creds.
gTestPump.post(response);
ensure("TOS auth failure", logininstance->authFailure());
- logininstance->connect(test_uri, credentials);
+ logininstance->connect(test_uri, agentCredential);
ensure_equals("Default for agree to tos", gLoginCreds["params"]["read_critical"].asBoolean(), false);
}
@@ -323,7 +484,7 @@ namespace tut
// Part 1 - Mandatory Update, with User accepts response.
// Test connect with update needed.
- logininstance->connect(credentials);
+ logininstance->connect(agentCredential);
ensure_equals("Default connect uri", gLoginURI, VIEWERLOGIN_URI);
@@ -349,7 +510,7 @@ namespace tut
set_test_name("Test Mandatory Update User Decline");
// Test connect with update needed.
- logininstance->connect(credentials);
+ logininstance->connect(agentCredential);
ensure_equals("Default connect uri", gLoginURI, VIEWERLOGIN_URI);
@@ -375,7 +536,7 @@ namespace tut
// Part 3 - Mandatory Update, with bogus response.
// Test connect with update needed.
- logininstance->connect(credentials);
+ logininstance->connect(agentCredential);
ensure_equals("Default connect uri", gLoginURI, VIEWERLOGIN_URI);
@@ -401,7 +562,7 @@ namespace tut
// Part 3 - Mandatory Update, with bogus response.
// Test connect with update needed.
- logininstance->connect(credentials);
+ logininstance->connect(agentCredential);
ensure_equals("Default connect uri", gLoginURI, VIEWERLOGIN_URI);
diff --git a/indra/newview/tests/llmediadataclient_test.cpp b/indra/newview/tests/llmediadataclient_test.cpp
index 33d413bd21..6f57daf151 100644..100755
--- a/indra/newview/tests/llmediadataclient_test.cpp
+++ b/indra/newview/tests/llmediadataclient_test.cpp
@@ -2,31 +2,25 @@
* @file llmediadataclient_test.cpp
* @brief LLMediaDatClient tests
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -39,12 +33,13 @@
#include "llsdserialize.h"
#include "llsdutil.h"
#include "llerrorcontrol.h"
-#include "llhttpstatuscodes.h"
+#include "llhttpconstants.h"
#include "../llmediadataclient.h"
#include "../llvovolume.h"
#include "../../llprimitive/llmediaentry.cpp"
+#include "../../llprimitive/llmaterialid.cpp"
#include "../../llprimitive/lltextureentry.cpp"
#include "../../llmessage/tests/llcurl_stub.cpp"
@@ -70,8 +65,8 @@
#define MEDIA_DATA "\
<array> \
-<string>foo</string> \
-<string>bar</string> \
+<string>http://foo.example.com</string> \
+<string>http://bar.example.com</string> \
<string>baz</string> \
</array>"
@@ -132,7 +127,9 @@ void LLHTTPClient::post(
result[LLTextureEntry::OBJECT_ID_KEY] = body[LLTextureEntry::OBJECT_ID_KEY];
if ( url == FAKE_OBJECT_MEDIA_CAP_URL_503 )
{
- responder->error(HTTP_SERVICE_UNAVAILABLE, "fake reason");
+ LLSD content;
+ content["reason"] = "fake reason";
+ responder->failureResult(HTTP_SERVICE_UNAVAILABLE, "fake reason", content);
return;
}
else if (url == FAKE_OBJECT_MEDIA_NAVIGATE_CAP_URL_ERROR)
@@ -140,8 +137,8 @@ void LLHTTPClient::post(
LLSD error;
error["code"] = LLObjectMediaNavigateClient::ERROR_PERMISSION_DENIED_CODE;
result["error"] = error;
- }
- responder->result(result);
+ }
+ responder->successResult(result);
}
const F32 HTTP_REQUEST_EXPIRY_SECS = 60.0f;
@@ -167,6 +164,8 @@ public:
{ return mRep["media_data"].size(); }
virtual LLSD getMediaDataLLSD(U8 index) const
{ return mRep["media_data"][(LLSD::Integer)index]; }
+ virtual bool isCurrentMediaUrl(U8 index, const std::string &url) const
+ { return (mRep["media_data"][(LLSD::Integer)index].asString() == url); }
virtual LLUUID getID() const
{ return mRep["uuid"]; }
virtual void mediaNavigateBounceBack(U8 index)
@@ -240,7 +239,7 @@ namespace tut
typedef test_group<mediadataclient> mediadataclient_t;
typedef mediadataclient_t::object mediadataclient_object_t;
- tut::mediadataclient_t tut_mediadataclient("mediadataclient");
+ tut::mediadataclient_t tut_mediadataclient("LLMediaDataClient");
void ensure(const std::string &msg, int value, int expected)
{
@@ -567,38 +566,39 @@ namespace tut
mdc->fetchMedia(o2);
mdc->fetchMedia(o3);
mdc->fetchMedia(o4);
+
+ ensure("is in queue 1", mdc->isInQueue(o1));
+ ensure("is in queue 2", mdc->isInQueue(o2));
+ ensure("is in queue 3", mdc->isInQueue(o3));
+ ensure("is in queue 4", mdc->isInQueue(o4));
+ ensure("post records", gPostRecords->size(), 0);
- // and mark the second and fourth ones dead.
+ // and mark the second and fourth ones dead. Call removeFromQueue when marking dead, since this is what LLVOVolume will do.
dynamic_cast<LLMediaDataClientObjectTest*>(static_cast<LLMediaDataClientObject*>(o2))->markDead();
+ mdc->removeFromQueue(o2);
dynamic_cast<LLMediaDataClientObjectTest*>(static_cast<LLMediaDataClientObject*>(o4))->markDead();
+ mdc->removeFromQueue(o4);
+ // The removeFromQueue calls should remove the second and fourth ones
ensure("is in queue 1", mdc->isInQueue(o1));
- ensure("is in queue 2", mdc->isInQueue(o2));
+ ensure("is not in queue 2", !mdc->isInQueue(o2));
ensure("is in queue 3", mdc->isInQueue(o3));
- ensure("is in queue 4", mdc->isInQueue(o4));
+ ensure("is not in queue 4", !mdc->isInQueue(o4));
ensure("post records", gPostRecords->size(), 0);
::pump_timers();
- // The first tick should remove the first one
+ // The first tick should process the first item
ensure("is not in queue 1", !mdc->isInQueue(o1));
- ensure("is in queue 2", mdc->isInQueue(o2));
+ ensure("is not in queue 2", !mdc->isInQueue(o2));
ensure("is in queue 3", mdc->isInQueue(o3));
- ensure("is in queue 4", mdc->isInQueue(o4));
+ ensure("is not in queue 4", !mdc->isInQueue(o4));
ensure("post records", gPostRecords->size(), 1);
::pump_timers();
- // The second tick should skip the second and remove the third
- ensure("is not in queue 2", !mdc->isInQueue(o2));
+ // The second tick should process the third, emptying the queue
ensure("is not in queue 3", !mdc->isInQueue(o3));
- ensure("is in queue 4", mdc->isInQueue(o4));
- ensure("post records", gPostRecords->size(), 2);
-
- ::pump_timers();
-
- // The third tick should skip the fourth one and empty the queue.
- ensure("is not in queue 4", !mdc->isInQueue(o4));
ensure("post records", gPostRecords->size(), 2);
ensure("queue empty", mdc->isEmpty());
@@ -709,7 +709,7 @@ namespace tut
// queue up all 4 objects. The first two should be in the sorted
// queue [2 1], the second in the round-robin queue. The queues
// are serviced interleaved, so we should expect:
- // 2, 4, 1, 3
+ // 2, 3, 1, 4
mdc->fetchMedia(o1);
mdc->fetchMedia(o2);
mdc->fetchMedia(o3);
@@ -728,8 +728,8 @@ namespace tut
++tick_num;
// 1 The first tick should remove object 2
- ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2));
ensure(STR(tick_num) + ". is in queue 1", mdc->isInQueue(o1));
+ ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2));
ensure(STR(tick_num) + ". is in queue 3", mdc->isInQueue(o3));
ensure(STR(tick_num) + ". is in queue 4", mdc->isInQueue(o4));
ensure(STR(tick_num) + ". post records", gPostRecords->size(), 1);
@@ -738,22 +738,21 @@ namespace tut
::pump_timers();
++tick_num;
- // 2 The second tick should send object 4, but it will still be
- // "in the queue"
- ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2));
+ // 2 The second tick should send object 3
ensure(STR(tick_num) + ". is in queue 1", mdc->isInQueue(o1));
- ensure(STR(tick_num) + ". is in queue 3", mdc->isInQueue(o3));
+ ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2));
+ ensure(STR(tick_num) + ". is not in queue 3", !mdc->isInQueue(o3));
ensure(STR(tick_num) + ". is in queue 4", mdc->isInQueue(o4));
ensure(STR(tick_num) + ". post records", gPostRecords->size(), 2);
- ensure(STR(tick_num) + ". post object id", (*gPostRecords)[1]["body"][LLTextureEntry::OBJECT_ID_KEY].asUUID(), LLUUID(VALID_OBJECT_ID_4));
+ ensure(STR(tick_num) + ". post object id", (*gPostRecords)[1]["body"][LLTextureEntry::OBJECT_ID_KEY].asUUID(), LLUUID(VALID_OBJECT_ID_3));
::pump_timers();
++tick_num;
// 3 The third tick should remove object 1
- ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2));
ensure(STR(tick_num) + ". is not in queue 1", !mdc->isInQueue(o1));
- ensure(STR(tick_num) + ". is in queue 3", mdc->isInQueue(o3));
+ ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2));
+ ensure(STR(tick_num) + ". is not in queue 3", !mdc->isInQueue(o3));
ensure(STR(tick_num) + ". is in queue 4", mdc->isInQueue(o4));
ensure(STR(tick_num) + ". post records", gPostRecords->size(), 3);
ensure(STR(tick_num) + ". post object id", (*gPostRecords)[2]["body"][LLTextureEntry::OBJECT_ID_KEY].asUUID(), LLUUID(VALID_OBJECT_ID_1));
@@ -761,22 +760,20 @@ namespace tut
::pump_timers();
++tick_num;
- // 4 The fourth tick should send object 3, but it will still be
- // "in the queue"
- ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2));
+ // 4 The fourth tick should send object 4
ensure(STR(tick_num) + ". is not in queue 1", !mdc->isInQueue(o1));
- ensure(STR(tick_num) + ". is in queue 3", mdc->isInQueue(o3));
- ensure(STR(tick_num) + ". is in queue 4", mdc->isInQueue(o4));
+ ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2));
+ ensure(STR(tick_num) + ". is not in queue 3", !mdc->isInQueue(o3));
+ ensure(STR(tick_num) + ". is not in queue 4", !mdc->isInQueue(o4));
ensure(STR(tick_num) + ". post records", gPostRecords->size(), 4);
- ensure(STR(tick_num) + ". post object id", (*gPostRecords)[3]["body"][LLTextureEntry::OBJECT_ID_KEY].asUUID(), LLUUID(VALID_OBJECT_ID_3));
+ ensure(STR(tick_num) + ". post object id", (*gPostRecords)[3]["body"][LLTextureEntry::OBJECT_ID_KEY].asUUID(), LLUUID(VALID_OBJECT_ID_4));
::pump_timers();
++tick_num;
- // 5 The fifth tick should now identify objects 3 and 4 as no longer
- // needing "updating", and remove them from the queue
- ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2));
+ // 5 The fifth tick should not change the state of anything.
ensure(STR(tick_num) + ". is not in queue 1", !mdc->isInQueue(o1));
+ ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2));
ensure(STR(tick_num) + ". is not in queue 3", !mdc->isInQueue(o3));
ensure(STR(tick_num) + ". is not in queue 4", !mdc->isInQueue(o4));
ensure(STR(tick_num) + ". post records", gPostRecords->size(), 4);
@@ -926,7 +923,7 @@ namespace tut
// But, we need to clear the queue, or else we won't destroy MDC...
// this is a strange interplay between the queue timer and the MDC
- ensure("o2 couldn't be removed from queue", mdc->removeFromQueue(o2));
+ mdc->removeFromQueue(o2);
// tick
::pump_timers();
}
@@ -935,4 +932,41 @@ namespace tut
ensure("refcount of o3", o3->getNumRefs(), 1);
ensure("refcount of o4", o4->getNumRefs(), 1);
}
+
+ template<> template<>
+ void mediadataclient_object_t::test<13>()
+ {
+ //
+ // Test supression of redundant navigates.
+ //
+ LOG_TEST(13);
+
+ LLMediaDataClientObject::ptr_t o1 = new LLMediaDataClientObjectTest(_DATA(VALID_OBJECT_ID_1,"1.0","true"));
+ {
+ LLPointer<LLObjectMediaNavigateClient> mdc = new LLObjectMediaNavigateClient(NO_PERIOD,NO_PERIOD);
+ const char *TEST_URL = "http://foo.example.com";
+ const char *TEST_URL_2 = "http://example.com";
+ mdc->navigate(o1, 0, TEST_URL);
+ mdc->navigate(o1, 1, TEST_URL);
+ mdc->navigate(o1, 0, TEST_URL_2);
+ mdc->navigate(o1, 1, TEST_URL_2);
+
+ // This should add two requests to the queue, one for face 0 of the object and one for face 1.
+
+ ensure("before pump: 1 is in queue", mdc->isInQueue(o1));
+
+ ::pump_timers();
+
+ ensure("after first pump: 1 is in queue", mdc->isInQueue(o1));
+
+ ::pump_timers();
+
+ ensure("after second pump: 1 is not in queue", !mdc->isInQueue(o1));
+
+ ensure("first post has correct url", (*gPostRecords)[0]["body"][LLMediaEntry::CURRENT_URL_KEY].asString(), std::string(TEST_URL_2));
+ ensure("second post has correct url", (*gPostRecords)[1]["body"][LLMediaEntry::CURRENT_URL_KEY].asString(), std::string(TEST_URL_2));
+
+ }
+ }
+
}
diff --git a/indra/newview/tests/llpipeline_stub.cpp b/indra/newview/tests/llpipeline_stub.cpp
new file mode 100755
index 0000000000..ad112cbf6a
--- /dev/null
+++ b/indra/newview/tests/llpipeline_stub.cpp
@@ -0,0 +1,32 @@
+/**
+ * @file llpipeline_stub.cpp
+ * @brief stub class to allow unit testing
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2011, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+class LLPipeline
+{
+public: BOOL canUseWindLightShaders() const;
+};
+BOOL LLPipeline::canUseWindLightShaders() const {return TRUE;}
+LLPipeline gPipeline;
diff --git a/indra/newview/tests/llremoteparcelrequest_test.cpp b/indra/newview/tests/llremoteparcelrequest_test.cpp
new file mode 100755
index 0000000000..c49b0350e9
--- /dev/null
+++ b/indra/newview/tests/llremoteparcelrequest_test.cpp
@@ -0,0 +1,136 @@
+/**
+ * @file llremoteparcelrequest_test.cpp
+ * @author Brad Kittenbrink <brad@lindenlab.com>
+ *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#include "linden_common.h"
+
+#include "../test/lltut.h"
+
+#include "../llremoteparcelrequest.h"
+
+#include "../llagent.h"
+#include "message.h"
+#include "llurlentry.h"
+
+namespace {
+ const LLUUID TEST_PARCEL_ID("11111111-1111-1111-1111-111111111111");
+}
+
+LLCurl::Responder::Responder() { }
+LLCurl::Responder::~Responder() { }
+void LLCurl::Responder::httpFailure() { }
+void LLCurl::Responder::httpSuccess() { }
+void LLCurl::Responder::httpCompleted() { }
+void LLCurl::Responder::failureResult(S32 status, const std::string& reason, const LLSD& content) { }
+void LLCurl::Responder::successResult(const LLSD& content) { }
+void LLCurl::Responder::completeResult(S32 status, const std::string& reason, const LLSD& content) { }
+std::string LLCurl::Responder::dumpResponse() const { return "(failure)"; }
+void LLCurl::Responder::completedRaw(LLChannelDescriptors const &,boost::shared_ptr<LLBufferArray> const &) { }
+void LLMessageSystem::getF32(char const *,char const *,F32 &,S32) { }
+void LLMessageSystem::getU8(char const *,char const *,U8 &,S32) { }
+void LLMessageSystem::getS32(char const *,char const *,S32 &,S32) { }
+void LLMessageSystem::getString(char const *,char const *, std::string &,S32) { }
+void LLMessageSystem::getUUID(char const *,char const *, LLUUID & out_id,S32)
+{
+ out_id = TEST_PARCEL_ID;
+}
+void LLMessageSystem::nextBlock(char const *) { }
+void LLMessageSystem::addUUID(char const *,LLUUID const &) { }
+void LLMessageSystem::addUUIDFast(char const *,LLUUID const &) { }
+void LLMessageSystem::nextBlockFast(char const *) { }
+void LLMessageSystem::newMessage(char const *) { }
+LLMessageSystem * gMessageSystem;
+char const* const _PREHASH_AgentID = 0; // never dereferenced during this test
+char const* const _PREHASH_AgentData = 0; // never dereferenced during this test
+LLAgent gAgent;
+LLAgent::LLAgent() : mAgentAccess(NULL) { }
+LLAgent::~LLAgent() { }
+void LLAgent::sendReliableMessage(void) { }
+LLUUID gAgentSessionID;
+LLUUID gAgentID;
+LLUIColor::LLUIColor(void) { }
+LLControlGroup::LLControlGroup(std::string const & name) : LLInstanceTracker<LLControlGroup, std::string>(name) { }
+LLControlGroup::~LLControlGroup(void) { }
+void LLUrlEntryParcel::processParcelInfo(const LLUrlEntryParcel::LLParcelData& parcel_data) { }
+
+namespace tut
+{
+ struct TestObserver : public LLRemoteParcelInfoObserver {
+ TestObserver() : mProcessed(false) { }
+
+ virtual void processParcelInfo(const LLParcelData& parcel_data)
+ {
+ mProcessed = true;
+ }
+
+ virtual void setParcelID(const LLUUID& parcel_id) { }
+
+ virtual void setErrorStatus(S32 status, const std::string& reason) { }
+
+ bool mProcessed;
+ };
+
+ struct RemoteParcelRequestData
+ {
+ RemoteParcelRequestData()
+ {
+ }
+ };
+
+ typedef test_group<RemoteParcelRequestData> remoteparcelrequest_t;
+ typedef remoteparcelrequest_t::object remoteparcelrequest_object_t;
+ tut::remoteparcelrequest_t tut_remoteparcelrequest("LLRemoteParcelRequest");
+
+ template<> template<>
+ void remoteparcelrequest_object_t::test<1>()
+ {
+ set_test_name("observer pointer");
+
+ boost::scoped_ptr<TestObserver> observer(new TestObserver());
+
+ LLRemoteParcelInfoProcessor & processor = LLRemoteParcelInfoProcessor::instance();
+ processor.addObserver(LLUUID(TEST_PARCEL_ID), observer.get());
+
+ processor.processParcelInfoReply(gMessageSystem, NULL);
+
+ ensure(observer->mProcessed);
+ }
+
+ template<> template<>
+ void remoteparcelrequest_object_t::test<2>()
+ {
+ set_test_name("CHOP-220: dangling observer pointer");
+
+ LLRemoteParcelInfoObserver * observer = new TestObserver();
+
+ LLRemoteParcelInfoProcessor & processor = LLRemoteParcelInfoProcessor::instance();
+ processor.addObserver(LLUUID(TEST_PARCEL_ID), observer);
+
+ delete observer;
+ observer = NULL;
+
+ processor.processParcelInfoReply(gMessageSystem, NULL);
+ }
+}
diff --git a/indra/newview/tests/llsecapi_test.cpp b/indra/newview/tests/llsecapi_test.cpp
new file mode 100755
index 0000000000..d7e87ed52e
--- /dev/null
+++ b/indra/newview/tests/llsecapi_test.cpp
@@ -0,0 +1,122 @@
+/**
+ * @file llsecapi_test.cpp
+ * @author Roxie
+ * @date 2009-02-10
+ * @brief Test the sec api functionality
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+#include "../llviewerprecompiledheaders.h"
+#include "../llviewernetwork.h"
+#include "../test/lltut.h"
+#include "../llsecapi.h"
+#include "../llsechandler_basic.h"
+#include "../../llxml/llcontrol.h"
+
+
+//----------------------------------------------------------------------------
+// Mock objects for the dependencies of the code we're testing
+
+LLControlGroup::LLControlGroup(const std::string& name)
+: LLInstanceTracker<LLControlGroup, std::string>(name) {}
+LLControlGroup::~LLControlGroup() {}
+LLControlVariable* LLControlGroup::declareString(const std::string& name,
+ const std::string& initial_val,
+ const std::string& comment,
+ LLControlVariable::ePersist persist) {return NULL;}
+void LLControlGroup::setString(const std::string& name, const std::string& val){}
+std::string LLControlGroup::getString(const std::string& name)
+{
+ return "";
+}
+
+
+LLControlGroup gSavedSettings("test");
+
+LLSecAPIBasicHandler::LLSecAPIBasicHandler() {}
+void LLSecAPIBasicHandler::init() {}
+LLSecAPIBasicHandler::~LLSecAPIBasicHandler() {}
+LLPointer<LLCertificate> LLSecAPIBasicHandler::getCertificate(const std::string& pem_cert) { return NULL; }
+LLPointer<LLCertificate> LLSecAPIBasicHandler::getCertificate(X509* openssl_cert) { return NULL; }
+LLPointer<LLCertificateChain> LLSecAPIBasicHandler::getCertificateChain(const X509_STORE_CTX* chain) { return NULL; }
+LLPointer<LLCertificateStore> LLSecAPIBasicHandler::getCertificateStore(const std::string& store_id) { return NULL; }
+void LLSecAPIBasicHandler::setProtectedData(const std::string& data_type, const std::string& data_id, const LLSD& data) {}
+LLSD LLSecAPIBasicHandler::getProtectedData(const std::string& data_type, const std::string& data_id) { return LLSD(); }
+void LLSecAPIBasicHandler::deleteProtectedData(const std::string& data_type, const std::string& data_id) {}
+LLPointer<LLCredential> LLSecAPIBasicHandler::createCredential(const std::string& grid, const LLSD& identifier, const LLSD& authenticator) { return NULL; }
+LLPointer<LLCredential> LLSecAPIBasicHandler::loadCredential(const std::string& grid) { return NULL; }
+void LLSecAPIBasicHandler::saveCredential(LLPointer<LLCredential> cred, bool save_authenticator) {}
+void LLSecAPIBasicHandler::deleteCredential(LLPointer<LLCredential> cred) {}
+
+// -------------------------------------------------------------------------------------------
+// TUT
+// -------------------------------------------------------------------------------------------
+namespace tut
+{
+ // Test wrapper declaration : wrapping nothing for the moment
+ struct secapiTest
+ {
+
+ secapiTest()
+ {
+ }
+ ~secapiTest()
+ {
+ }
+ };
+
+ // Tut templating thingamagic: test group, object and test instance
+ typedef test_group<secapiTest> secapiTestFactory;
+ typedef secapiTestFactory::object secapiTestObject;
+ tut::secapiTestFactory tut_test("LLSecAPI");
+
+ // ---------------------------------------------------------------------------------------
+ // Test functions
+ // ---------------------------------------------------------------------------------------
+ // registration
+ template<> template<>
+ void secapiTestObject::test<1>()
+ {
+ // retrieve an unknown handler
+
+ ensure("'Unknown' handler should be NULL", !(BOOL)getSecHandler("unknown"));
+ LLPointer<LLSecAPIHandler> test1_handler = new LLSecAPIBasicHandler();
+ registerSecHandler("sectest1", test1_handler);
+ ensure("'Unknown' handler should be NULL", !(BOOL)getSecHandler("unknown"));
+ LLPointer<LLSecAPIHandler> retrieved_test1_handler = getSecHandler("sectest1");
+ ensure("Retrieved sectest1 handler should be the same",
+ retrieved_test1_handler == test1_handler);
+
+ // insert a second handler
+ LLPointer<LLSecAPIHandler> test2_handler = new LLSecAPIBasicHandler();
+ registerSecHandler("sectest2", test2_handler);
+ ensure("'Unknown' handler should be NULL", !(BOOL)getSecHandler("unknown"));
+ retrieved_test1_handler = getSecHandler("sectest1");
+ ensure("Retrieved sectest1 handler should be the same",
+ retrieved_test1_handler == test1_handler);
+
+ LLPointer<LLSecAPIHandler> retrieved_test2_handler = getSecHandler("sectest2");
+ ensure("Retrieved sectest1 handler should be the same",
+ retrieved_test2_handler == test2_handler);
+
+ }
+}
diff --git a/indra/newview/tests/llsechandler_basic_test.cpp b/indra/newview/tests/llsechandler_basic_test.cpp
new file mode 100755
index 0000000000..2a8dc15346
--- /dev/null
+++ b/indra/newview/tests/llsechandler_basic_test.cpp
@@ -0,0 +1,1068 @@
+/**
+ * @file llsechandler_basic_test.cpp
+ * @author Roxie
+ * @date 2009-02-10
+ * @brief Test the 'basic' sec handler functions
+ *
+ * $LicenseInfo:firstyear=2005&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+#include "../llviewerprecompiledheaders.h"
+#include "../test/lltut.h"
+#include "../llsecapi.h"
+#include "../llsechandler_basic.h"
+#include "../../llxml/llcontrol.h"
+#include "../llviewernetwork.h"
+#include "lluuid.h"
+#include "llxorcipher.h"
+#include "apr_base64.h"
+#include <vector>
+#include <ios>
+#include <llsdserialize.h>
+#include <openssl/pem.h>
+#include <openssl/err.h>
+#include <openssl/evp.h>
+#include "llxorcipher.h"
+#include <openssl/ossl_typ.h>
+#include <openssl/x509.h>
+#include <openssl/x509v3.h>
+#include <openssl/pem.h>
+#include <openssl/asn1.h>
+#include <openssl/rand.h>
+#include <openssl/err.h>
+#include "../llmachineid.h"
+
+#define ensure_throws(str, exc_type, cert, func, ...) \
+try \
+{ \
+func(__VA_ARGS__); \
+fail("throws, " str); \
+} \
+catch(exc_type& except) \
+{ \
+ensure("Exception cert is incorrect for " str, except.getCert() == cert); \
+}
+
+extern bool _cert_hostname_wildcard_match(const std::string& hostname, const std::string& wildcard_string);
+
+//----------------------------------------------------------------------------
+// Mock objects for the dependencies of the code we're testing
+
+std::string gFirstName;
+std::string gLastName;
+LLControlGroup::LLControlGroup(const std::string& name)
+: LLInstanceTracker<LLControlGroup, std::string>(name) {}
+LLControlGroup::~LLControlGroup() {}
+LLControlVariable* LLControlGroup::declareString(const std::string& name,
+ const std::string& initial_val,
+ const std::string& comment,
+ LLControlVariable::ePersist persist) {return NULL;}
+void LLControlGroup::setString(const std::string& name, const std::string& val){}
+std::string LLControlGroup::getString(const std::string& name)
+{
+
+ if (name == "FirstName")
+ return gFirstName;
+ else if (name == "LastName")
+ return gLastName;
+ return "";
+}
+
+// Stub for --no-verify-ssl-cert
+BOOL LLControlGroup::getBOOL(const std::string& name) { return FALSE; }
+
+LLSD LLCredential::getLoginParams()
+{
+ LLSD result = LLSD::emptyMap();
+
+ // legacy credential
+ result["passwd"] = "$1$testpasssd";
+ result["first"] = "myfirst";
+ result["last"] ="mylast";
+ return result;
+}
+
+void LLCredential::identifierType(std::string &idType)
+{
+}
+
+void LLCredential::authenticatorType(std::string &idType)
+{
+}
+
+
+LLControlGroup gSavedSettings("test");
+unsigned char gMACAddress[MAC_ADDRESS_BYTES] = {77,21,46,31,89,2};
+
+
+S32 LLMachineID::getUniqueID(unsigned char *unique_id, size_t len)
+{
+ memcpy(unique_id, gMACAddress, len);
+ return 1;
+}
+S32 LLMachineID::init() { return 1; }
+
+
+// -------------------------------------------------------------------------------------------
+// TUT
+// -------------------------------------------------------------------------------------------
+namespace tut
+{
+ // Test wrapper declaration : wrapping nothing for the moment
+ struct sechandler_basic_test
+ {
+ std::string mPemTestCert, mPemRootCert, mPemIntermediateCert, mPemChildCert, mSha1RSATestCert, mSha1RSATestCA;
+ std::string mDerFormat;
+ X509 *mX509TestCert, *mX509RootCert, *mX509IntermediateCert, *mX509ChildCert;
+
+ sechandler_basic_test()
+ {
+ LLMachineID::init();
+ OpenSSL_add_all_algorithms();
+ OpenSSL_add_all_ciphers();
+ OpenSSL_add_all_digests();
+ ERR_load_crypto_strings();
+ gFirstName = "";
+ gLastName = "";
+ LLFile::remove("test_password.dat");
+ LLFile::remove("sechandler_settings.tmp");
+ mPemTestCert = "-----BEGIN CERTIFICATE-----\n"
+ "MIIEuDCCA6CgAwIBAgIBBDANBgkqhkiG9w0BAQUFADCBtDELMAkGA1UEBhMCQlIx\n"
+ "EzARBgNVBAoTCklDUC1CcmFzaWwxPTA7BgNVBAsTNEluc3RpdHV0byBOYWNpb25h\n"
+ "bCBkZSBUZWNub2xvZ2lhIGRhIEluZm9ybWFjYW8gLSBJVEkxETAPBgNVBAcTCEJy\n"
+ "YXNpbGlhMQswCQYDVQQIEwJERjExMC8GA1UEAxMoQXV0b3JpZGFkZSBDZXJ0aWZp\n"
+ "Y2Fkb3JhIFJhaXogQnJhc2lsZWlyYTAeFw0wMTExMzAxMjU4MDBaFw0xMTExMzAy\n"
+ "MzU5MDBaMIG0MQswCQYDVQQGEwJCUjETMBEGA1UEChMKSUNQLUJyYXNpbDE9MDsG\n"
+ "A1UECxM0SW5zdGl0dXRvIE5hY2lvbmFsIGRlIFRlY25vbG9naWEgZGEgSW5mb3Jt\n"
+ "YWNhbyAtIElUSTERMA8GA1UEBxMIQnJhc2lsaWExCzAJBgNVBAgTAkRGMTEwLwYD\n"
+ "VQQDEyhBdXRvcmlkYWRlIENlcnRpZmljYWRvcmEgUmFpeiBCcmFzaWxlaXJhMIIB\n"
+ "IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwPMudwX/hvm+Uh2b/lQAcHVA\n"
+ "isamaLkWdkwP9/S/tOKIgRrL6Oy+ZIGlOUdd6uYtk9Ma/3pUpgcfNAj0vYm5gsyj\n"
+ "Qo9emsc+x6m4VWwk9iqMZSCK5EQkAq/Ut4n7KuLE1+gdftwdIgxfUsPt4CyNrY50\n"
+ "QV57KM2UT8x5rrmzEjr7TICGpSUAl2gVqe6xaii+bmYR1QrmWaBSAG59LrkrjrYt\n"
+ "bRhFboUDe1DK+6T8s5L6k8c8okpbHpa9veMztDVC9sPJ60MWXh6anVKo1UcLcbUR\n"
+ "yEeNvZneVRKAAU6ouwdjDvwlsaKydFKwed0ToQ47bmUKgcm+wV3eTRk36UOnTwID\n"
+ "AQABo4HSMIHPME4GA1UdIARHMEUwQwYFYEwBAQAwOjA4BggrBgEFBQcCARYsaHR0\n"
+ "cDovL2FjcmFpei5pY3BicmFzaWwuZ292LmJyL0RQQ2FjcmFpei5wZGYwPQYDVR0f\n"
+ "BDYwNDAyoDCgLoYsaHR0cDovL2FjcmFpei5pY3BicmFzaWwuZ292LmJyL0xDUmFj\n"
+ "cmFpei5jcmwwHQYDVR0OBBYEFIr68VeEERM1kEL6V0lUaQ2kxPA3MA8GA1UdEwEB\n"
+ "/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAZA5c1\n"
+ "U/hgIh6OcgLAfiJgFWpvmDZWqlV30/bHFpj8iBobJSm5uDpt7TirYh1Uxe3fQaGl\n"
+ "YjJe+9zd+izPRbBqXPVQA34EXcwk4qpWuf1hHriWfdrx8AcqSqr6CuQFwSr75Fos\n"
+ "SzlwDADa70mT7wZjAmQhnZx2xJ6wfWlT9VQfS//JYeIc7Fue2JNLd00UOSMMaiK/\n"
+ "t79enKNHEA2fupH3vEigf5Eh4bVAN5VohrTm6MY53x7XQZZr1ME7a55lFEnSeT0u\n"
+ "mlOAjR2mAbvSM5X5oSZNrmetdzyTj2flCM8CC7MLab0kkdngRIlUBGHF1/S5nmPb\n"
+ "K+9A46sd33oqK8n8\n"
+ "-----END CERTIFICATE-----\n";
+
+ mPemRootCert = "-----BEGIN CERTIFICATE-----\n"
+ "MIIB0TCCATqgAwIBAgIJANaTqrzEvHaRMA0GCSqGSIb3DQEBBAUAMBsxGTAXBgNV\n"
+ "BAMTEFJveGllcyB0ZXN0IHJvb3QwHhcNMDkwNDE1MjEwNzQ3WhcNMTAwNDE1MjEw\n"
+ "NzQ3WjAbMRkwFwYDVQQDExBSb3hpZXMgdGVzdCByb290MIGfMA0GCSqGSIb3DQEB\n"
+ "AQUAA4GNADCBiQKBgQCpo5nDW6RNz9IHUVZd7Tw2XAQiBniDF4xH0N1w7sUYTiFq\n"
+ "21mABsnOPJD3ra+MtOsXPHcaljm661JjTD8L40v5sfEbqDUPcOw76ClrPqnuAeyT\n"
+ "38qk8DHku/mT8YdprevGZdVcUXQg3vosVzOL93HOOHK+u61mEEoM9W5xoNVEdQID\n"
+ "AQABox0wGzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQQF\n"
+ "AAOBgQAzn0aW/+zWPmcTbvxonyiYYUr9b4SOB/quhAkT8KT4ir1dcZAXRR59+kEn\n"
+ "HSTu1FAodV0gvESqyobftF5hZ1XMxdJqGu//xP+YCwlv244G/0pp7KLI8ihNO2+N\n"
+ "lPBUJgbo++ZkhiE1jotZi9Ay0Oedh3s/AfbMZPyfpJ23ll6+BA==\n"
+ "-----END CERTIFICATE-----\n";
+
+
+
+ mPemIntermediateCert = "-----BEGIN CERTIFICATE-----\n"
+ "MIIBzzCCATigAwIBAgIBATANBgkqhkiG9w0BAQQFADAbMRkwFwYDVQQDExBSb3hp\n"
+ "ZXMgdGVzdCByb290MB4XDTA5MDQxNTIxMzE1NloXDTEwMDQxNTIxMzE1NlowITEf\n"
+ "MB0GA1UEAxMWUm94aWVzIGludGVybWVkaWF0ZSBDQTCBnzANBgkqhkiG9w0BAQEF\n"
+ "AAOBjQAwgYkCgYEA15MM0W1R37rx/24Q2Qkb5bSiQZxTUcQAhJ2pA8mwUucXuCVt\n"
+ "6ayI2TuN32nkjmsCgUkiT/bdXWp0OJo7/MXRIFeUNMCRxrpeFnxuigYEqbIXAdN6\n"
+ "qu/vdG2X4PRv/v9Ijrju4cBEiKIldIgOurWEIfXEsVSFP2XmFQHesF04qDcCAwEA\n"
+ "AaMdMBswDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQEEBQAD\n"
+ "gYEAYljikYgak3W1jSo0vYthNHUy3lBVAKzDhpM96lY5OuXFslpCRX42zNL8X3kN\n"
+ "U/4IaJUVtZqx8WsUXl1eXHzBCaXCftapV4Ir6cENLIsXCdXs8paFYzN5nPJA5GYU\n"
+ "zWgkSEl1MEhNIc+bJW34vwi29EjrAShAhsIZ84Mt/lvD3Pc=\n"
+ "-----END CERTIFICATE-----\n";
+
+ mPemChildCert = "-----BEGIN CERTIFICATE-----\n"
+ "MIIB5DCCAU0CBEnm9eUwDQYJKoZIhvcNAQEEBQAwITEfMB0GA1UEAxMWUm94aWVz\n"
+ "IGludGVybWVkaWF0ZSBDQTAeFw0wOTA0MTYwMDAzNDlaFw0xMDA0MTYwMDAzNDla\n"
+ "MCAxHjAcBgNVBAMTFWVuaWFjNjMubGluZGVubGFiLmNvbTCBnzANBgkqhkiG9w0B\n"
+ "AQEFAAOBjQAwgYkCgYEAp9I5rofEzbjNht+9QejfnsIlEPqSxskoWKCG255TesWR\n"
+ "RTmw9wafHQQkJk/VIsaU4RMBYHkknGbHX2dGvMHmKZoWUPSQ/8FZz09o0Qx3TNUZ\n"
+ "l7KlGOD2d1c7ZxXDPqlLC6QW8DrE1/8zfwJ5cbYBXc8e7OKdSZeRrnwHyw4Q8r8C\n"
+ "AwEAAaMvMC0wEwYDVR0lBAwwCgYIKwYBBQUHAwEwCQYDVR0TBAIwADALBgNVHQ8E\n"
+ "BAMCBaAwDQYJKoZIhvcNAQEEBQADgYEAIG0M5tqYlXyMiGKPZfXy/R3M3ZZOapDk\n"
+ "W0dsXJYXAc35ftwtn0VYu9CNnZCcli17/d+AKhkK8a/oGPazqudjFF6WLJLTXaY9\n"
+ "NmhkJcOPADXkbyQPUPXzLe4YRrkEQeGhzMb4rKDQ1TKAcXfs0Y068pTpsixNSxja\n"
+ "NhAUUcve5Is=\n"
+ "-----END CERTIFICATE-----\n";
+
+ mDerFormat = "MIIEuDCCA6CgAwIBAgIBBDANBgkqhkiG9w0BAQUFADCBtDELMAkGA1UEBhMCQlIxEzARBgNVBAoT"
+"CklDUC1CcmFzaWwxPTA7BgNVBAsTNEluc3RpdHV0byBOYWNpb25hbCBkZSBUZWNub2xvZ2lhIGRh"
+"IEluZm9ybWFjYW8gLSBJVEkxETAPBgNVBAcTCEJyYXNpbGlhMQswCQYDVQQIEwJERjExMC8GA1UE"
+"AxMoQXV0b3JpZGFkZSBDZXJ0aWZpY2Fkb3JhIFJhaXogQnJhc2lsZWlyYTAeFw0wMTExMzAxMjU4"
+"MDBaFw0xMTExMzAyMzU5MDBaMIG0MQswCQYDVQQGEwJCUjETMBEGA1UEChMKSUNQLUJyYXNpbDE9"
+"MDsGA1UECxM0SW5zdGl0dXRvIE5hY2lvbmFsIGRlIFRlY25vbG9naWEgZGEgSW5mb3JtYWNhbyAt"
+"IElUSTERMA8GA1UEBxMIQnJhc2lsaWExCzAJBgNVBAgTAkRGMTEwLwYDVQQDEyhBdXRvcmlkYWRl"
+"IENlcnRpZmljYWRvcmEgUmFpeiBCcmFzaWxlaXJhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB"
+"CgKCAQEAwPMudwX/hvm+Uh2b/lQAcHVAisamaLkWdkwP9/S/tOKIgRrL6Oy+ZIGlOUdd6uYtk9Ma"
+"/3pUpgcfNAj0vYm5gsyjQo9emsc+x6m4VWwk9iqMZSCK5EQkAq/Ut4n7KuLE1+gdftwdIgxfUsPt"
+"4CyNrY50QV57KM2UT8x5rrmzEjr7TICGpSUAl2gVqe6xaii+bmYR1QrmWaBSAG59LrkrjrYtbRhF"
+"boUDe1DK+6T8s5L6k8c8okpbHpa9veMztDVC9sPJ60MWXh6anVKo1UcLcbURyEeNvZneVRKAAU6o"
+"uwdjDvwlsaKydFKwed0ToQ47bmUKgcm+wV3eTRk36UOnTwIDAQABo4HSMIHPME4GA1UdIARHMEUw"
+"QwYFYEwBAQAwOjA4BggrBgEFBQcCARYsaHR0cDovL2FjcmFpei5pY3BicmFzaWwuZ292LmJyL0RQ"
+"Q2FjcmFpei5wZGYwPQYDVR0fBDYwNDAyoDCgLoYsaHR0cDovL2FjcmFpei5pY3BicmFzaWwuZ292"
+"LmJyL0xDUmFjcmFpei5jcmwwHQYDVR0OBBYEFIr68VeEERM1kEL6V0lUaQ2kxPA3MA8GA1UdEwEB"
+"/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAZA5c1U/hgIh6OcgLA"
+"fiJgFWpvmDZWqlV30/bHFpj8iBobJSm5uDpt7TirYh1Uxe3fQaGlYjJe+9zd+izPRbBqXPVQA34E"
+"Xcwk4qpWuf1hHriWfdrx8AcqSqr6CuQFwSr75FosSzlwDADa70mT7wZjAmQhnZx2xJ6wfWlT9VQf"
+"S//JYeIc7Fue2JNLd00UOSMMaiK/t79enKNHEA2fupH3vEigf5Eh4bVAN5VohrTm6MY53x7XQZZr"
+"1ME7a55lFEnSeT0umlOAjR2mAbvSM5X5oSZNrmetdzyTj2flCM8CC7MLab0kkdngRIlUBGHF1/S5"
+"nmPbK+9A46sd33oqK8n8";
+
+ mSha1RSATestCert = "-----BEGIN CERTIFICATE-----\n"
+ "MIIDFDCCAn2gAwIBAgIDDqqYMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT\n"
+ "MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0\n"
+ "aWZpY2F0ZSBBdXRob3JpdHkwHhcNMTAwMTA1MDAzNjMwWhcNMTEwMTA3MjAyMTE0\n"
+ "WjCBnjEpMCcGA1UEBRMgQmNmc0RBRkl1U0YwdFpWVm5vOFJKbjVUbW9hNGR2Wkgx\n"
+ "CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\n"
+ "RnJhbmNpc2NvMR0wGwYDVQQKExRMaW5kZW4gUmVzZWFyY2ggSW5jLjEYMBYGA1UE\n"
+ "AxQPKi5saW5kZW5sYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2\n"
+ "14Jdko8v6GB33hHbW+lNQyloFQtc2h4ykjf+fYPJ27dw6tQO2if7N3k/5XDkwC1N\n"
+ "krGgE9vt3iecCPgasue6k67Zyfj9HbEP2D+j38eROudrsxLaRFDQx50BvZ5YMNl3\n"
+ "4zQCj8/gCMsuq8cvaP9/rbJTUpgYWFGLsm8yAYOgWwIDAQABo4GuMIGrMA4GA1Ud\n"
+ "DwEB/wQEAwIE8DAdBgNVHQ4EFgQUIBK/JB9AyqquSEbkzt2Zux6v9sYwOgYDVR0f\n"
+ "BDMwMTAvoC2gK4YpaHR0cDovL2NybC5nZW90cnVzdC5jb20vY3Jscy9zZWN1cmVj\n"
+ "YS5jcmwwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gjIBBPM5iQn9QwHQYDVR0lBBYw\n"
+ "FAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4GBAKKR84+hvLuB\n"
+ "pop9VG7HQPIyEKtZq3Nnk+UlJGfjGY3csLWSFmxU727r5DzdEP1W1PwF3rxuoKcZ\n"
+ "4nJJpKdzoGVujgBMP2U/J0PJvU7D8U3Zqu7nrXAjOHj7iVnvJ3EKJ1bvwXaisgPN\n"
+ "wt21kKfGnA4OlhJtJ6VQvUkcF12I3pTP\n"
+ "-----END CERTIFICATE-----\n";
+
+ mSha1RSATestCA = "-----BEGIN CERTIFICATE-----\n"
+ "MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV\n"
+ "UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy\n"
+ "dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1\n"
+ "MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx\n"
+ "dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B\n"
+ "AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f\n"
+ "BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A\n"
+ "cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC\n"
+ "AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ\n"
+ "MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm\n"
+ "aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw\n"
+ "ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj\n"
+ "IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF\n"
+ "MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA\n"
+ "A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y\n"
+ "7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh\n"
+ "1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4\n"
+ "-----END CERTIFICATE-----\n";
+
+
+
+
+ mX509TestCert = NULL;
+ mX509RootCert = NULL;
+ mX509IntermediateCert = NULL;
+ mX509ChildCert = NULL;
+
+ BIO * validation_bio = BIO_new_mem_buf((void*)mPemTestCert.c_str(), mPemTestCert.length());
+ PEM_read_bio_X509(validation_bio, &mX509TestCert, 0, NULL);
+ BIO_free(validation_bio);
+ validation_bio = BIO_new_mem_buf((void*)mPemRootCert.c_str(), mPemRootCert.length());
+ PEM_read_bio_X509(validation_bio, &mX509RootCert, 0, NULL);
+ BIO_free(validation_bio);
+ validation_bio = BIO_new_mem_buf((void*)mPemIntermediateCert.c_str(), mPemIntermediateCert.length());
+ PEM_read_bio_X509(validation_bio, &mX509IntermediateCert, 0, NULL);
+ BIO_free(validation_bio);
+ validation_bio = BIO_new_mem_buf((void*)mPemChildCert.c_str(), mPemChildCert.length());
+ PEM_read_bio_X509(validation_bio, &mX509ChildCert, 0, NULL);
+ BIO_free(validation_bio);
+ }
+ ~sechandler_basic_test()
+ {
+ LLFile::remove("test_password.dat");
+ LLFile::remove("sechandler_settings.tmp");
+ LLFile::remove("mycertstore.pem");
+ X509_free(mX509TestCert);
+ X509_free(mX509RootCert);
+ X509_free(mX509IntermediateCert);
+ X509_free(mX509ChildCert);
+ }
+ };
+
+ // Tut templating thingamagic: test group, object and test instance
+ typedef test_group<sechandler_basic_test> sechandler_basic_test_factory;
+ typedef sechandler_basic_test_factory::object sechandler_basic_test_object;
+ tut::sechandler_basic_test_factory tut_test("LLSecHandler");
+
+ // ---------------------------------------------------------------------------------------
+ // Test functions
+ // ---------------------------------------------------------------------------------------
+ // test cert data retrieval
+ template<> template<>
+ void sechandler_basic_test_object::test<1>()
+
+ {
+ char buffer[4096];
+ LLPointer<LLCertificate> test_cert = new LLBasicCertificate(mPemTestCert);
+
+ ensure_equals("Resultant pem is correct",
+ mPemTestCert, test_cert->getPem());
+ std::vector<U8> binary_cert = test_cert->getBinary();
+
+ apr_base64_encode(buffer, (const char *)&binary_cert[0], binary_cert.size());
+
+ ensure_equals("Der Format is correct", memcmp(buffer, mDerFormat.c_str(), mDerFormat.length()), 0);
+
+ LLSD llsd_cert;
+ test_cert->getLLSD(llsd_cert);
+ std::ostringstream llsd_value;
+ llsd_value << LLSDOStreamer<LLSDNotationFormatter>(llsd_cert) << std::endl;
+ std::string llsd_cert_str = llsd_value.str();
+ ensure_equals("Issuer Name/commonName",
+ (std::string)llsd_cert["issuer_name"]["commonName"], "Autoridade Certificadora Raiz Brasileira");
+ ensure_equals("Issure Name/countryName", (std::string)llsd_cert["issuer_name"]["countryName"], "BR");
+ ensure_equals("Issuer Name/localityName", (std::string)llsd_cert["issuer_name"]["localityName"], "Brasilia");
+ ensure_equals("Issuer Name/org name", (std::string)llsd_cert["issuer_name"]["organizationName"], "ICP-Brasil");
+ ensure_equals("IssuerName/org unit",
+ (std::string)llsd_cert["issuer_name"]["organizationalUnitName"], "Instituto Nacional de Tecnologia da Informacao - ITI");
+ ensure_equals("IssuerName/state", (std::string)llsd_cert["issuer_name"]["stateOrProvinceName"], "DF");
+ ensure_equals("Issuer name string",
+ (std::string)llsd_cert["issuer_name_string"], "CN=Autoridade Certificadora Raiz Brasileira,ST=DF,"
+ "L=Brasilia,OU=Instituto Nacional de Tecnologia da Informacao - ITI,O=ICP-Brasil,C=BR");
+ ensure_equals("subject Name/commonName",
+ (std::string)llsd_cert["subject_name"]["commonName"], "Autoridade Certificadora Raiz Brasileira");
+ ensure_equals("subject Name/countryName", (std::string)llsd_cert["subject_name"]["countryName"], "BR");
+ ensure_equals("subject Name/localityName", (std::string)llsd_cert["subject_name"]["localityName"], "Brasilia");
+ ensure_equals("subject Name/org name", (std::string)llsd_cert["subject_name"]["organizationName"], "ICP-Brasil");
+ ensure_equals("subjectName/org unit",
+ (std::string)llsd_cert["subject_name"]["organizationalUnitName"], "Instituto Nacional de Tecnologia da Informacao - ITI");
+ ensure_equals("subjectName/state", (std::string)llsd_cert["subject_name"]["stateOrProvinceName"], "DF");
+ ensure_equals("subject name string",
+ (std::string)llsd_cert["subject_name_string"], "CN=Autoridade Certificadora Raiz Brasileira,ST=DF,"
+ "L=Brasilia,OU=Instituto Nacional de Tecnologia da Informacao - ITI,O=ICP-Brasil,C=BR");
+
+ ensure_equals("md5 digest", (std::string)llsd_cert["md5_digest"], "96:89:7d:61:d1:55:2b:27:e2:5a:39:b4:2a:6c:44:6f");
+ ensure_equals("serial number", (std::string)llsd_cert["serial_number"], "04");
+ // sha1 digest is giving a weird value, and I've no idea why...feh
+ //ensure_equals("sha1 digest", (std::string)llsd_cert["sha1_digest"], "8e:fd:ca:bc:93:e6:1e:92:5d:4d:1d:ed:18:1a:43:20:a4:67:a1:39");
+ ensure_equals("valid from", (std::string)llsd_cert["valid_from"], "2001-11-30T12:58:00Z");
+ ensure_equals("valid to", (std::string)llsd_cert["valid_to"], "2011-11-30T23:59:00Z");
+ LLSD expectedKeyUsage = LLSD::emptyArray();
+ expectedKeyUsage.append(LLSD((std::string)"certSigning"));
+ expectedKeyUsage.append(LLSD((std::string)"crlSigning"));
+ ensure("key usage", valueCompareLLSD(llsd_cert["keyUsage"], expectedKeyUsage));
+ ensure("basic constraints", (bool)llsd_cert["basicConstraints"]["CA"]);
+
+ ensure("x509 is equal", !X509_cmp(mX509TestCert, test_cert->getOpenSSLX509()));
+ }
+
+
+ // test protected data
+ template<> template<>
+ void sechandler_basic_test_object::test<2>()
+
+ {
+
+ std::string protected_data = "sUSh3wj77NG9oAMyt3XIhaej3KLZhLZWFZvI6rIGmwUUOmmelrRg0NI9rkOj8ZDpTPxpwToaBT5u"
+ "GQhakdaGLJznr9bHr4/6HIC1bouKj4n2rs4TL6j2WSjto114QdlNfLsE8cbbE+ghww58g8SeyLQO"
+ "nyzXoz+/PBz0HD5SMFDuObccoPW24gmqYySz8YoEWhSwO0pUtEEqOjVRsAJgF5wLAtJZDeuilGsq"
+ "4ZT9Y4wZ9Rh8nnF3fDUL6IGamHe1ClXM1jgBu10F6UMhZbnH4C3aJ2E9+LiOntU+l3iCb2MpkEpr"
+ "82r2ZAMwIrpnirL/xoYoyz7MJQYwUuMvBPToZJrxNSsjI+S2Z+I3iEJAELMAAA==";
+
+ std::vector<U8> binary_data(apr_base64_decode_len(protected_data.c_str()));
+ apr_base64_decode_binary(&binary_data[0], protected_data.c_str());
+
+ LLXORCipher cipher(gMACAddress, MAC_ADDRESS_BYTES);
+ cipher.decrypt(&binary_data[0], 16);
+ unsigned char unique_id[MAC_ADDRESS_BYTES];
+ LLMachineID::getUniqueID(unique_id, sizeof(unique_id));
+ LLXORCipher cipher2(unique_id, sizeof(unique_id));
+ cipher2.encrypt(&binary_data[0], 16);
+ std::ofstream temp_file("sechandler_settings.tmp", std::ofstream::binary);
+ temp_file.write((const char *)&binary_data[0], binary_data.size());
+ temp_file.close();
+
+ LLPointer<LLSecAPIBasicHandler> handler = new LLSecAPIBasicHandler("sechandler_settings.tmp",
+ "test_password.dat");
+ handler->init();
+ // data retrieval for existing data
+ LLSD data = handler->getProtectedData("test_data_type", "test_data_id");
+
+
+ ensure_equals("retrieve existing data1", (std::string)data["data1"], "test_data_1");
+ ensure_equals("retrieve existing data2", (std::string)data["data2"], "test_data_2");
+ ensure_equals("retrieve existing data3", (std::string)data["data3"]["elem1"], "test element1");
+
+ // data storage
+ LLSD store_data = LLSD::emptyMap();
+ store_data["store_data1"] = "test_store_data1";
+ store_data["store_data2"] = 27;
+ store_data["store_data3"] = LLSD::emptyMap();
+ store_data["store_data3"]["subelem1"] = "test_subelem1";
+
+ handler->setProtectedData("test_data_type", "test_data_id1", store_data);
+ data = handler->getProtectedData("test_data_type", "test_data_id");
+
+ data = handler->getProtectedData("test_data_type", "test_data_id");
+ // verify no overwrite of existing data
+ ensure_equals("verify no overwrite 1", (std::string)data["data1"], "test_data_1");
+ ensure_equals("verify no overwrite 2", (std::string)data["data2"], "test_data_2");
+ ensure_equals("verify no overwrite 3", (std::string)data["data3"]["elem1"], "test element1");
+
+ // verify written data is good
+ data = handler->getProtectedData("test_data_type", "test_data_id1");
+ ensure_equals("verify stored data1", (std::string)data["store_data1"], "test_store_data1");
+ ensure_equals("verify stored data2", (int)data["store_data2"], 27);
+ ensure_equals("verify stored data3", (std::string)data["store_data3"]["subelem1"], "test_subelem1");
+
+ // verify overwrite works
+ handler->setProtectedData("test_data_type", "test_data_id", store_data);
+ data = handler->getProtectedData("test_data_type", "test_data_id");
+ ensure_equals("verify overwrite stored data1", (std::string)data["store_data1"], "test_store_data1");
+ ensure_equals("verify overwrite stored data2", (int)data["store_data2"], 27);
+ ensure_equals("verify overwrite stored data3", (std::string)data["store_data3"]["subelem1"], "test_subelem1");
+
+ // verify other datatype doesn't conflict
+ store_data["store_data3"] = "test_store_data3";
+ store_data["store_data4"] = 28;
+ store_data["store_data5"] = LLSD::emptyMap();
+ store_data["store_data5"]["subelem2"] = "test_subelem2";
+
+ handler->setProtectedData("test_data_type1", "test_data_id", store_data);
+ data = handler->getProtectedData("test_data_type1", "test_data_id");
+ ensure_equals("verify datatype stored data3", (std::string)data["store_data3"], "test_store_data3");
+ ensure_equals("verify datatype stored data4", (int)data["store_data4"], 28);
+ ensure_equals("verify datatype stored data5", (std::string)data["store_data5"]["subelem2"], "test_subelem2");
+
+ // test data not found
+
+ data = handler->getProtectedData("test_data_type1", "test_data_not_found");
+ ensure("not found", data.isUndefined());
+
+ // cause a 'write' by using 'LLPointer' to delete then instantiate a handler
+ handler = NULL;
+ handler = new LLSecAPIBasicHandler("sechandler_settings.tmp", "test_password.dat");
+ handler->init();
+
+ data = handler->getProtectedData("test_data_type1", "test_data_id");
+ ensure_equals("verify datatype stored data3a", (std::string)data["store_data3"], "test_store_data3");
+ ensure_equals("verify datatype stored data4a", (int)data["store_data4"], 28);
+ ensure_equals("verify datatype stored data5a", (std::string)data["store_data5"]["subelem2"], "test_subelem2");
+
+ // rewrite the initial file to verify reloads
+ handler = NULL;
+ std::ofstream temp_file2("sechandler_settings.tmp", std::ofstream::binary);
+ temp_file2.write((const char *)&binary_data[0], binary_data.size());
+ temp_file2.close();
+
+ // cause a 'write'
+ handler = new LLSecAPIBasicHandler("sechandler_settings.tmp", "test_password.dat");
+ handler->init();
+ data = handler->getProtectedData("test_data_type1", "test_data_id");
+ ensure("not found", data.isUndefined());
+
+ handler->deleteProtectedData("test_data_type", "test_data_id");
+ ensure("Deleted data not found", handler->getProtectedData("test_data_type", "test_data_id").isUndefined());
+
+ LLFile::remove("sechandler_settings.tmp");
+ handler = new LLSecAPIBasicHandler("sechandler_settings.tmp", "test_password.dat");
+ handler->init();
+ data = handler->getProtectedData("test_data_type1", "test_data_id");
+ ensure("not found", data.isUndefined());
+ handler = NULL;
+
+ ensure(LLFile::isfile("sechandler_settings.tmp"));
+ }
+
+ // test credenitals
+ template<> template<>
+ void sechandler_basic_test_object::test<3>()
+ {
+ LLPointer<LLSecAPIBasicHandler> handler = new LLSecAPIBasicHandler("sechandler_settings.tmp", "test_password.dat");
+ handler->init();
+
+ LLSD my_id = LLSD::emptyMap();
+ LLSD my_authenticator = LLSD::emptyMap();
+ my_id["type"] = "test_type";
+ my_id["username"] = "testuser@lindenlab.com";
+ my_authenticator["type"] = "test_auth";
+ my_authenticator["creds"] = "12345";
+
+ // test creation of credentials
+ LLPointer<LLCredential> my_cred = handler->createCredential("my_grid", my_id, my_authenticator);
+
+ // test retrieval of credential components
+ ensure_equals("basic credential creation: identifier", my_id, my_cred->getIdentifier());
+ ensure_equals("basic credential creation: authenticator", my_authenticator, my_cred->getAuthenticator());
+ ensure_equals("basic credential creation: grid", "my_grid", my_cred->getGrid());
+
+ // test setting/overwriting of credential components
+ my_id["first_name"] = "firstname";
+ my_id.erase("username");
+ my_authenticator.erase("creds");
+ my_authenticator["hash"] = "6563245";
+
+ my_cred->setCredentialData(my_id, my_authenticator);
+ ensure_equals("set credential data: identifier", my_id, my_cred->getIdentifier());
+ ensure_equals("set credential data: authenticator", my_authenticator, my_cred->getAuthenticator());
+ ensure_equals("set credential data: grid", "my_grid", my_cred->getGrid());
+
+ // test loading of a credential, that hasn't been saved, without
+ // any legacy saved credential data
+ LLPointer<LLCredential> my_new_cred = handler->loadCredential("my_grid2");
+ ensure("unknown credential load test", my_new_cred->getIdentifier().isMap());
+ ensure("unknown credential load test", !my_new_cred->getIdentifier().has("type"));
+ ensure("unknown credential load test", my_new_cred->getAuthenticator().isMap());
+ ensure("unknown credential load test", !my_new_cred->getAuthenticator().has("type"));
+ // test saving of a credential
+ handler->saveCredential(my_cred, true);
+
+ // test loading of a known credential
+ my_new_cred = handler->loadCredential("my_grid");
+ ensure_equals("load a known credential: identifier", my_id, my_new_cred->getIdentifier());
+ ensure_equals("load a known credential: authenticator",my_authenticator, my_new_cred->getAuthenticator());
+ ensure_equals("load a known credential: grid", "my_grid", my_cred->getGrid());
+
+ // test deletion of a credential
+ handler->deleteCredential(my_new_cred);
+
+ ensure("delete credential: identifier", my_new_cred->getIdentifier().isUndefined());
+ ensure("delete credentialt: authenticator", my_new_cred->getIdentifier().isUndefined());
+ ensure_equals("delete credential: grid", "my_grid", my_cred->getGrid());
+ // load unknown cred
+
+ my_new_cred = handler->loadCredential("my_grid");
+ ensure("deleted credential load test", my_new_cred->getIdentifier().isMap());
+ ensure("deleted credential load test", !my_new_cred->getIdentifier().has("type"));
+ ensure("deleted credential load test", my_new_cred->getAuthenticator().isMap());
+ ensure("deleted credential load test", !my_new_cred->getAuthenticator().has("type"));
+
+ // test loading of an unknown credential with legacy saved username, but without
+ // saved password
+ gFirstName = "myfirstname";
+ gLastName = "mylastname";
+ my_new_cred = handler->loadCredential("my_legacy_grid");
+ ensure_equals("legacy credential with no password: type",
+ (const std::string)my_new_cred->getIdentifier()["type"], "agent");
+ ensure_equals("legacy credential with no password: first_name",
+ (const std::string)my_new_cred->getIdentifier()["first_name"], "myfirstname");
+ ensure_equals("legacy credential with no password: last_name",
+ (const std::string)my_new_cred->getIdentifier()["last_name"], "mylastname");
+
+ ensure("legacy credential with no password: no authenticator", my_new_cred->getAuthenticator().isUndefined());
+
+ // test loading of an unknown credential with legacy saved password and username
+
+ std::string hashed_password = "fSQcLG03eyIWJmkzfyYaKm81dSweLmsxeSAYKGE7fSQ=";
+ int length = apr_base64_decode_len(hashed_password.c_str());
+ std::vector<char> decoded_password(length);
+ apr_base64_decode(&decoded_password[0], hashed_password.c_str());
+ LLXORCipher cipher(gMACAddress, MAC_ADDRESS_BYTES);
+ cipher.decrypt((U8*)&decoded_password[0], length);
+ unsigned char unique_id[MAC_ADDRESS_BYTES];
+ LLMachineID::getUniqueID(unique_id, sizeof(unique_id));
+ LLXORCipher cipher2(unique_id, sizeof(unique_id));
+ cipher2.encrypt((U8*)&decoded_password[0], length);
+ llofstream password_file("test_password.dat", std::ofstream::binary);
+ password_file.write(&decoded_password[0], length);
+ password_file.close();
+
+ my_new_cred = handler->loadCredential("my_legacy_grid2");
+ ensure_equals("legacy credential with password: type",
+ (const std::string)my_new_cred->getIdentifier()["type"], "agent");
+ ensure_equals("legacy credential with password: first_name",
+ (const std::string)my_new_cred->getIdentifier()["first_name"], "myfirstname");
+ ensure_equals("legacy credential with password: last_name",
+ (const std::string)my_new_cred->getIdentifier()["last_name"], "mylastname");
+
+ LLSD legacy_authenticator = my_new_cred->getAuthenticator();
+ ensure_equals("legacy credential with password: type",
+ (std::string)legacy_authenticator["type"],
+ "hash");
+ ensure_equals("legacy credential with password: algorithm",
+ (std::string)legacy_authenticator["algorithm"],
+ "md5");
+ ensure_equals("legacy credential with password: algorithm",
+ (std::string)legacy_authenticator["secret"],
+ "01234567890123456789012345678901");
+
+ // test creation of credentials
+ my_cred = handler->createCredential("mysavedgrid", my_id, my_authenticator);
+ // test save without saving authenticator.
+ handler->saveCredential(my_cred, FALSE);
+ my_new_cred = handler->loadCredential("mysavedgrid");
+ ensure_equals("saved credential without auth",
+ (const std::string)my_new_cred->getIdentifier()["type"], "test_type");
+ ensure("no authenticator values were saved", my_new_cred->getAuthenticator().isUndefined());
+ }
+
+ // test cert vector
+ template<> template<>
+ void sechandler_basic_test_object::test<4>()
+ {
+
+ // validate create from empty vector
+ LLPointer<LLBasicCertificateVector> test_vector = new LLBasicCertificateVector();
+ ensure_equals("when loading with nothing, we should result in no certs in vector", test_vector->size(), 0);
+
+ test_vector->add(new LLBasicCertificate(mPemTestCert));
+ ensure_equals("one element in vector", test_vector->size(), 1);
+ test_vector->add(new LLBasicCertificate(mPemChildCert));
+ ensure_equals("two elements in vector after add", test_vector->size(), 2);
+
+ test_vector->add(new LLBasicCertificate(mPemChildCert));
+ ensure_equals("two elements in vector after re-add", test_vector->size(), 2);
+ // validate order
+ X509* test_cert = (*test_vector)[0]->getOpenSSLX509();
+ ensure("first cert added remains first cert", !X509_cmp(test_cert, mX509TestCert));
+ X509_free(test_cert);
+
+ test_cert = (*test_vector)[1]->getOpenSSLX509();
+ ensure("adding a duplicate cert", !X509_cmp(test_cert, mX509ChildCert));
+ X509_free(test_cert);
+
+ //
+ // validate iterator
+ //
+ LLBasicCertificateVector::iterator current_cert = test_vector->begin();
+ LLBasicCertificateVector::iterator copy_current_cert = current_cert;
+ // operator++(int)
+ ensure("validate iterator++ element in vector is expected cert", *current_cert++ == (*test_vector)[0]);
+ ensure("validate 2nd iterator++ element in vector is expected cert", *current_cert++ == (*test_vector)[1]);
+ ensure("validate end iterator++", current_cert == test_vector->end());
+
+ // copy
+ ensure("validate copy iterator element in vector is expected cert", *copy_current_cert == (*test_vector)[0]);
+
+ // operator--(int)
+ current_cert--;
+ ensure("validate iterator-- element in vector is expected cert", *current_cert-- == (*test_vector)[1]);
+ ensure("validate iterator-- element in vector is expected cert", *current_cert == (*test_vector)[0]);
+
+ ensure("begin iterator is equal", current_cert == test_vector->begin());
+
+ // operator++
+ ensure("validate ++iterator element in vector is expected cert", *++current_cert == (*test_vector)[1]);
+ ensure("end of cert vector after ++iterator", ++current_cert == test_vector->end());
+ // operator--
+ ensure("validate --iterator element in vector is expected cert", *--current_cert == (*test_vector)[1]);
+ ensure("validate 2nd --iterator element in vector is expected cert", *--current_cert == (*test_vector)[0]);
+
+ // validate remove
+ // validate create from empty vector
+ test_vector = new LLBasicCertificateVector();
+ test_vector->add(new LLBasicCertificate(mPemTestCert));
+ test_vector->add(new LLBasicCertificate(mPemChildCert));
+ test_vector->erase(test_vector->begin());
+ ensure_equals("one element in store after remove", test_vector->size(), 1);
+ test_cert = (*test_vector)[0]->getOpenSSLX509();
+ ensure("validate cert was removed", !X509_cmp(test_cert, mX509ChildCert));
+ X509_free(test_cert);
+
+ // validate insert
+ test_vector->insert(test_vector->begin(), new LLBasicCertificate(mPemChildCert));
+ test_cert = (*test_vector)[0]->getOpenSSLX509();
+
+ ensure("validate cert was inserted", !X509_cmp(test_cert, mX509ChildCert));
+ X509_free(test_cert);
+
+ //validate find
+ LLSD find_info = LLSD::emptyMap();
+ test_vector->insert(test_vector->begin(), new LLBasicCertificate(mPemRootCert));
+ find_info["issuer_name"] = LLSD::emptyMap();
+ find_info["issuer_name"]["commonName"] = "Roxies intermediate CA";
+ find_info["md5_digest"] = "97:24:c7:4c:d4:ba:2d:0e:9c:a1:18:8e:3a:c6:1f:c3";
+ current_cert = test_vector->find(find_info);
+ ensure("found", current_cert != test_vector->end());
+ ensure("found cert", (*current_cert).get() == (*test_vector)[1].get());
+ find_info["sha1_digest"] = "bad value";
+ current_cert =test_vector->find(find_info);
+ ensure("didn't find cert", current_cert == test_vector->end());
+ }
+
+ // test cert store
+ template<> template<>
+ void sechandler_basic_test_object::test<5>()
+ {
+ // validate load with nothing
+ LLFile::remove("mycertstore.pem");
+ LLPointer<LLBasicCertificateStore> test_store = new LLBasicCertificateStore("mycertstore.pem");
+ ensure_equals("when loading with nothing, we should result in no certs in store", test_store->size(), 0);
+
+ // validate load with empty file
+ test_store->save();
+ test_store = NULL;
+ test_store = new LLBasicCertificateStore("mycertstore.pem");
+ ensure_equals("when loading with nothing, we should result in no certs in store", test_store->size(), 0);
+ test_store=NULL;
+
+ // instantiate a cert store from a file
+ llofstream certstorefile("mycertstore.pem", std::ios::out);
+ certstorefile << mPemChildCert << std::endl << mPemTestCert << std::endl;
+ certstorefile.close();
+ // validate loaded certs
+ test_store = new LLBasicCertificateStore("mycertstore.pem");
+ ensure_equals("two elements in store", test_store->size(), 2);
+
+ // operator[]
+ X509* test_cert = (*test_store)[0]->getOpenSSLX509();
+
+ ensure("validate first element in store is expected cert", !X509_cmp(test_cert, mX509ChildCert));
+ X509_free(test_cert);
+ test_cert = (*test_store)[1]->getOpenSSLX509();
+ ensure("validate second element in store is expected cert", !X509_cmp(test_cert, mX509TestCert));
+ X509_free(test_cert);
+
+
+ // validate save
+ LLFile::remove("mycertstore.pem");
+ test_store->save();
+ test_store = NULL;
+ test_store = new LLBasicCertificateStore("mycertstore.pem");
+ ensure_equals("two elements in store after save", test_store->size(), 2);
+ LLCertificateStore::iterator current_cert = test_store->begin();
+ test_cert = (*current_cert)->getOpenSSLX509();
+ ensure("validate first element in store is expected cert", !X509_cmp(test_cert, mX509ChildCert));
+ current_cert++;
+ X509_free(test_cert);
+ test_cert = (*current_cert)->getOpenSSLX509();
+ ensure("validate second element in store is expected cert", !X509_cmp(test_cert, mX509TestCert));
+ X509_free(test_cert);
+ current_cert++;
+ ensure("end of cert store", current_cert == test_store->end());
+
+ }
+
+ // cert name wildcard matching
+ template<> template<>
+ void sechandler_basic_test_object::test<6>()
+ {
+ ensure("simple name match",
+ _cert_hostname_wildcard_match("foo", "foo"));
+
+ ensure("simple name match, with end period",
+ _cert_hostname_wildcard_match("foo.", "foo."));
+
+ ensure("simple name match, with begin period",
+ _cert_hostname_wildcard_match(".foo", ".foo"));
+
+ ensure("simple name match, with mismatched period cn",
+ _cert_hostname_wildcard_match("foo.", "foo"));
+
+ ensure("simple name match, with mismatched period hostname",
+ _cert_hostname_wildcard_match("foo", "foo."));
+
+ ensure("simple name match, with subdomain",
+ _cert_hostname_wildcard_match("foo.bar", "foo.bar"));
+
+ ensure("stutter name match",
+ _cert_hostname_wildcard_match("foobbbbfoo", "foo*bbbfoo"));
+
+ ensure("simple name match, with beginning wildcard",
+ _cert_hostname_wildcard_match("foobar", "*bar"));
+
+ ensure("simple name match, with ending wildcard",
+ _cert_hostname_wildcard_match("foobar", "foo*"));
+
+ ensure("simple name match, with beginning null wildcard",
+ _cert_hostname_wildcard_match("foobar", "*foobar"));
+
+ ensure("simple name match, with ending null wildcard",
+ _cert_hostname_wildcard_match("foobar", "foobar*"));
+
+ ensure("simple name match, with embedded wildcard",
+ _cert_hostname_wildcard_match("foobar", "f*r"));
+
+ ensure("simple name match, with embedded null wildcard",
+ _cert_hostname_wildcard_match("foobar", "foo*bar"));
+
+ ensure("simple name match, with dual embedded wildcard",
+ _cert_hostname_wildcard_match("foobar", "f*o*ar"));
+
+ ensure("simple name mismatch",
+ !_cert_hostname_wildcard_match("bar", "foo"));
+
+ ensure("simple name mismatch, with end period",
+ !_cert_hostname_wildcard_match("foobar.", "foo."));
+
+ ensure("simple name mismatch, with begin period",
+ !_cert_hostname_wildcard_match(".foobar", ".foo"));
+
+ ensure("simple name mismatch, with subdomain",
+ !_cert_hostname_wildcard_match("foobar.bar", "foo.bar"));
+
+ ensure("simple name mismatch, with beginning wildcard",
+ !_cert_hostname_wildcard_match("foobara", "*bar"));
+
+ ensure("simple name mismatch, with ending wildcard",
+ !_cert_hostname_wildcard_match("oobar", "foo*"));
+
+ ensure("simple name mismatch, with embedded wildcard",
+ !_cert_hostname_wildcard_match("oobar", "f*r"));
+
+ ensure("simple name mismatch, with dual embedded wildcard",
+ !_cert_hostname_wildcard_match("foobar", "f*d*ar"));
+
+ ensure("simple wildcard",
+ _cert_hostname_wildcard_match("foobar", "*"));
+
+ ensure("long domain",
+ _cert_hostname_wildcard_match("foo.bar.com", "foo.bar.com"));
+
+ ensure("long domain with multiple wildcards",
+ _cert_hostname_wildcard_match("foo.bar.com", "*.b*r.com"));
+
+ ensure("end periods",
+ _cert_hostname_wildcard_match("foo.bar.com.", "*.b*r.com."));
+
+ ensure("match end period",
+ _cert_hostname_wildcard_match("foo.bar.com.", "*.b*r.com"));
+
+ ensure("match end period2",
+ _cert_hostname_wildcard_match("foo.bar.com", "*.b*r.com."));
+
+ ensure("wildcard mismatch",
+ !_cert_hostname_wildcard_match("bar.com", "*.bar.com"));
+
+ ensure("wildcard match",
+ _cert_hostname_wildcard_match("foo.bar.com", "*.bar.com"));
+
+ ensure("wildcard match",
+ _cert_hostname_wildcard_match("foo.foo.bar.com", "*.bar.com"));
+
+ ensure("wildcard match",
+ _cert_hostname_wildcard_match("foo.foo.bar.com", "*.*.com"));
+
+ ensure("wildcard mismatch",
+ !_cert_hostname_wildcard_match("foo.foo.bar.com", "*.foo.com"));
+ }
+
+ // test cert chain
+ template<> template<>
+ void sechandler_basic_test_object::test<7>()
+ {
+ // validate create from empty chain
+ LLPointer<LLBasicCertificateChain> test_chain = new LLBasicCertificateChain(NULL);
+ ensure_equals("when loading with nothing, we should result in no certs in chain", test_chain->size(), 0);
+
+ // Single cert in the chain.
+ X509_STORE_CTX *test_store = X509_STORE_CTX_new();
+ test_store->cert = mX509ChildCert;
+ test_store->untrusted = NULL;
+ test_chain = new LLBasicCertificateChain(test_store);
+ X509_STORE_CTX_free(test_store);
+ ensure_equals("two elements in store", test_chain->size(), 1);
+ X509* test_cert = (*test_chain)[0]->getOpenSSLX509();
+ ensure("validate first element in store is expected cert", !X509_cmp(test_cert, mX509ChildCert));
+ X509_free(test_cert);
+
+ // cert + CA
+
+ test_store = X509_STORE_CTX_new();
+ test_store->cert = mX509ChildCert;
+ test_store->untrusted = sk_X509_new_null();
+ sk_X509_push(test_store->untrusted, mX509IntermediateCert);
+ test_chain = new LLBasicCertificateChain(test_store);
+ X509_STORE_CTX_free(test_store);
+ ensure_equals("two elements in store", test_chain->size(), 2);
+ test_cert = (*test_chain)[0]->getOpenSSLX509();
+ ensure("validate first element in store is expected cert", !X509_cmp(test_cert, mX509ChildCert));
+ X509_free(test_cert);
+ test_cert = (*test_chain)[1]->getOpenSSLX509();
+ ensure("validate second element in store is expected cert", !X509_cmp(test_cert, mX509IntermediateCert));
+ X509_free(test_cert);
+
+ // cert + nonrelated
+
+ test_store = X509_STORE_CTX_new();
+ test_store->cert = mX509ChildCert;
+ test_store->untrusted = sk_X509_new_null();
+ sk_X509_push(test_store->untrusted, mX509TestCert);
+ test_chain = new LLBasicCertificateChain(test_store);
+ X509_STORE_CTX_free(test_store);
+ ensure_equals("two elements in store", test_chain->size(), 1);
+ test_cert = (*test_chain)[0]->getOpenSSLX509();
+ ensure("validate first element in store is expected cert", !X509_cmp(test_cert, mX509ChildCert));
+ X509_free(test_cert);
+
+ // cert + CA + nonrelated
+ test_store = X509_STORE_CTX_new();
+ test_store->cert = mX509ChildCert;
+ test_store->untrusted = sk_X509_new_null();
+ sk_X509_push(test_store->untrusted, mX509IntermediateCert);
+ sk_X509_push(test_store->untrusted, mX509TestCert);
+ test_chain = new LLBasicCertificateChain(test_store);
+ X509_STORE_CTX_free(test_store);
+ ensure_equals("two elements in store", test_chain->size(), 2);
+ test_cert = (*test_chain)[0]->getOpenSSLX509();
+ ensure("validate first element in store is expected cert", !X509_cmp(test_cert, mX509ChildCert));
+ X509_free(test_cert);
+ test_cert = (*test_chain)[1]->getOpenSSLX509();
+ ensure("validate second element in store is expected cert", !X509_cmp(test_cert, mX509IntermediateCert));
+ X509_free(test_cert);
+
+ // cert + intermediate + CA
+ test_store = X509_STORE_CTX_new();
+ test_store->cert = mX509ChildCert;
+ test_store->untrusted = sk_X509_new_null();
+ sk_X509_push(test_store->untrusted, mX509IntermediateCert);
+ sk_X509_push(test_store->untrusted, mX509RootCert);
+ test_chain = new LLBasicCertificateChain(test_store);
+ X509_STORE_CTX_free(test_store);
+ ensure_equals("three elements in store", test_chain->size(), 3);
+ test_cert = (*test_chain)[0]->getOpenSSLX509();
+ ensure("validate first element in store is expected cert", !X509_cmp(test_cert, mX509ChildCert));
+ X509_free(test_cert);
+ test_cert = (*test_chain)[1]->getOpenSSLX509();
+ ensure("validate second element in store is expected cert", !X509_cmp(test_cert, mX509IntermediateCert));
+ X509_free(test_cert);
+
+ test_cert = (*test_chain)[2]->getOpenSSLX509();
+ ensure("validate second element in store is expected cert", !X509_cmp(test_cert, mX509RootCert));
+ X509_free(test_cert);
+ }
+ // test cert validation
+ template<> template<>
+ void sechandler_basic_test_object::test<8>()
+ {
+ // start with a trusted store with our known root cert
+ LLFile::remove("mycertstore.pem");
+ LLPointer<LLBasicCertificateStore> test_store = new LLBasicCertificateStore("mycertstore.pem");
+ test_store->add(new LLBasicCertificate(mX509RootCert));
+ LLSD validation_params;
+
+ // validate basic trust for a chain containing only the intermediate cert. (1 deep)
+ LLPointer<LLBasicCertificateChain> test_chain = new LLBasicCertificateChain(NULL);
+
+ test_chain->add(new LLBasicCertificate(mX509IntermediateCert));
+
+ test_store->validate(0, test_chain, validation_params);
+
+ // add the root certificate to the chain and revalidate
+ test_chain->add(new LLBasicCertificate(mX509RootCert));
+ test_store->validate(0, test_chain, validation_params);
+
+ // add the child cert at the head of the chain, and revalidate (3 deep chain)
+ test_chain->insert(test_chain->begin(), new LLBasicCertificate(mX509ChildCert));
+ test_store->validate(0, test_chain, validation_params);
+
+ // basic failure cases
+ test_chain = new LLBasicCertificateChain(NULL);
+ //validate with only the child cert in chain, but child cert was previously
+ // trusted
+ test_chain->add(new LLBasicCertificate(mX509ChildCert));
+
+ // validate without the trust flag.
+ test_store->validate(VALIDATION_POLICY_TRUSTED, test_chain, validation_params);
+
+ // Validate with child cert but no parent, and no parent in CA store
+ test_store = new LLBasicCertificateStore("mycertstore.pem");
+ ensure_throws("no CA, with only a child cert",
+ LLCertValidationTrustException,
+ (*test_chain)[0],
+ test_store->validate,
+ VALIDATION_POLICY_TRUSTED,
+ test_chain,
+ validation_params);
+
+
+ // validate without the trust flag.
+ test_store->validate(0, test_chain, validation_params);
+
+ // clear out the store
+ test_store = new LLBasicCertificateStore("mycertstore.pem");
+ // append the intermediate cert
+ test_chain->add(new LLBasicCertificate(mX509IntermediateCert));
+ ensure_throws("no CA, with child and intermediate certs",
+ LLCertValidationTrustException,
+ (*test_chain)[1],
+ test_store->validate,
+ VALIDATION_POLICY_TRUSTED,
+ test_chain,
+ validation_params);
+ // validate without the trust flag
+ test_store->validate(0, test_chain, validation_params);
+
+ // Test time validity
+ LLSD child_info;
+ ((*test_chain)[0])->getLLSD(child_info);
+ validation_params = LLSD::emptyMap();
+ validation_params[CERT_VALIDATION_DATE] = LLDate(child_info[CERT_VALID_FROM].asDate().secondsSinceEpoch() + 1.0);
+ test_store->validate(VALIDATION_POLICY_TIME, test_chain, validation_params);
+
+ validation_params = LLSD::emptyMap();
+ validation_params[CERT_VALIDATION_DATE] = child_info[CERT_VALID_FROM].asDate();
+
+ validation_params[CERT_VALIDATION_DATE] = LLDate(child_info[CERT_VALID_FROM].asDate().secondsSinceEpoch() - 1.0);
+
+ // test not yet valid
+ ensure_throws("Child cert not yet valid" ,
+ LLCertValidationExpirationException,
+ (*test_chain)[0],
+ test_store->validate,
+ VALIDATION_POLICY_TIME,
+ test_chain,
+ validation_params);
+ validation_params = LLSD::emptyMap();
+ validation_params[CERT_VALIDATION_DATE] = LLDate(child_info[CERT_VALID_TO].asDate().secondsSinceEpoch() + 1.0);
+
+ // test cert expired
+ ensure_throws("Child cert expired",
+ LLCertValidationExpirationException,
+ (*test_chain)[0],
+ test_store->validate,
+ VALIDATION_POLICY_TIME,
+ test_chain,
+ validation_params);
+
+ // test SSL KU
+ // validate basic trust for a chain containing child and intermediate.
+ test_chain = new LLBasicCertificateChain(NULL);
+ test_chain->add(new LLBasicCertificate(mX509ChildCert));
+ test_chain->add(new LLBasicCertificate(mX509IntermediateCert));
+ test_store->validate(VALIDATION_POLICY_SSL_KU, test_chain, validation_params);
+
+ test_chain = new LLBasicCertificateChain(NULL);
+ test_chain->add(new LLBasicCertificate(mX509TestCert));
+
+ test_store = new LLBasicCertificateStore("mycertstore.pem");
+ ensure_throws("Cert doesn't have ku",
+ LLCertKeyUsageValidationException,
+ (*test_chain)[0],
+ test_store->validate,
+ VALIDATION_POLICY_SSL_KU,
+ test_chain,
+ validation_params);
+
+ // test sha1RSA validation
+ test_chain = new LLBasicCertificateChain(NULL);
+ test_chain->add(new LLBasicCertificate(mSha1RSATestCert));
+ test_chain->add(new LLBasicCertificate(mSha1RSATestCA));
+
+ test_store->validate(0, test_chain, validation_params);
+ }
+
+};
+
diff --git a/indra/newview/tests/llsky_stub.cpp b/indra/newview/tests/llsky_stub.cpp
new file mode 100755
index 0000000000..241d740635
--- /dev/null
+++ b/indra/newview/tests/llsky_stub.cpp
@@ -0,0 +1,37 @@
+/**
+ * @file llsky_stub.cpp
+ * @brief stub class to allow unit testing
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2011, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+class LLSky
+{
+public:
+ void setOverrideSun(BOOL override);
+ void setSunDirection(const LLVector3 &sun_direction, const LLVector3 &sun_ang_velocity);
+};
+
+void LLSky::setOverrideSun(BOOL override) {}
+void LLSky::setSunDirection(const LLVector3 &sun_direction, const LLVector3 &sun_ang_velocity) {}
+
+LLSky gSky;
diff --git a/indra/newview/tests/llslurl_test.cpp b/indra/newview/tests/llslurl_test.cpp
new file mode 100755
index 0000000000..2bc0d5a086
--- /dev/null
+++ b/indra/newview/tests/llslurl_test.cpp
@@ -0,0 +1,320 @@
+/**
+ * @file llsecapi_test.cpp
+ * @author Roxie
+ * @date 2009-02-10
+ * @brief Test the sec api functionality
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2014, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+#include "../llviewerprecompiledheaders.h"
+#include "../llviewernetwork.h"
+#include "../test/lltut.h"
+#include "../llslurl.h"
+#include "../../llxml/llcontrol.h"
+#include "llsdserialize.h"
+
+namespace
+{
+
+// Should not collide with other test programs creating temp files.
+static const char * const TEST_FILENAME("llslurl_test.xml");
+
+}
+
+//----------------------------------------------------------------------------
+// Mock objects for the dependencies of the code we're testing
+
+LLControlGroup::LLControlGroup(const std::string& name)
+: LLInstanceTracker<LLControlGroup, std::string>(name) {}
+LLControlGroup::~LLControlGroup() {}
+LLControlVariable* LLControlGroup::declareString(const std::string& name,
+ const std::string& initial_val,
+ const std::string& comment,
+ LLControlVariable::ePersist persist) {return NULL;}
+void LLControlGroup::setString(const std::string& name, const std::string& val){}
+
+std::string gCmdLineLoginURI;
+std::string gCmdLineGridChoice;
+std::string gCmdLineHelperURI;
+std::string gLoginPage;
+std::string gCurrentGrid;
+std::string LLControlGroup::getString(const std::string& name)
+{
+ if (name == "CmdLineGridChoice")
+ return gCmdLineGridChoice;
+ else if (name == "CmdLineHelperURI")
+ return gCmdLineHelperURI;
+ else if (name == "LoginPage")
+ return gLoginPage;
+ else if (name == "CurrentGrid")
+ return gCurrentGrid;
+ return "";
+}
+
+LLSD LLControlGroup::getLLSD(const std::string& name)
+{
+ if (name == "CmdLineLoginURI")
+ {
+ if(!gCmdLineLoginURI.empty())
+ {
+ return LLSD(gCmdLineLoginURI);
+ }
+ }
+ return LLSD();
+}
+
+LLPointer<LLControlVariable> LLControlGroup::getControl(const std::string& name)
+{
+ ctrl_name_table_t::iterator iter = mNameTable.find(name);
+ return iter == mNameTable.end() ? LLPointer<LLControlVariable>() : iter->second;
+}
+
+LLControlGroup gSavedSettings("test");
+const char *gSampleGridFile =
+ "<?xml version=\"1.0\"?>"
+ "<llsd>"
+ " <map>"
+ " <key>foo.bar.com</key>"
+ " <map>"
+ " <key>helper_uri</key><string>https://foobar/helpers/</string>"
+ " <key>label</key><string>Foobar Grid</string>"
+ " <key>login_page</key><string>foobar/loginpage</string>"
+ " <key>login_uri</key>"
+ " <array>"
+ " <string>foobar/loginuri</string>"
+ " </array>"
+ " <key>keyname</key><string>foo.bar.com</string>"
+ " <key>credential_type</key><string>agent</string>"
+ " <key>grid_login_id</key><string>FooBar</string>"
+ " </map>"
+ " <key>my.grid.com</key>"
+ " <map>"
+ " <key>helper_uri</key><string>https://mygrid/helpers/</string>"
+ " <key>label</key><string>My Grid</string>"
+ " <key>login_page</key><string>mygrid/loginpage</string>"
+ " <key>login_uri</key>"
+ " <array>"
+ " <string>mygrid/loginuri</string>"
+ " </array>"
+ " <key>keyname</key><string>my.grid.com</string>"
+ " <key>credential_type</key><string>agent</string>"
+ " <key>grid_login_id</key><string>MyGrid</string>"
+ " </map>"
+ " </map>"
+ "</llsd>"
+ ;
+
+// -------------------------------------------------------------------------------------------
+// TUT
+// -------------------------------------------------------------------------------------------
+namespace tut
+{
+ // Test wrapper declaration : wrapping nothing for the moment
+ struct slurlTest
+ {
+ slurlTest()
+ {
+ LLGridManager::getInstance()->initialize(std::string(""));
+ }
+ ~slurlTest()
+ {
+ }
+ };
+
+ // Tut templating thingamagic: test group, object and test instance
+ typedef test_group<slurlTest> slurlTestFactory;
+ typedef slurlTestFactory::object slurlTestObject;
+ tut::slurlTestFactory tut_test("LLSlurl");
+
+ // ---------------------------------------------------------------------------------------
+ // Test functions
+ // ---------------------------------------------------------------------------------------
+ // construction from slurl string
+ template<> template<>
+ void slurlTestObject::test<1>()
+ {
+ llofstream gridfile(TEST_FILENAME);
+ gridfile << gSampleGridFile;
+ gridfile.close();
+
+ LLGridManager::getInstance()->initialize(TEST_FILENAME);
+
+ LLGridManager::getInstance()->setGridChoice("util.agni.lindenlab.com");
+
+ LLSLURL slurl = LLSLURL("");
+ ensure_equals("null slurl", (int)slurl.getType(), LLSLURL::LAST_LOCATION);
+
+ slurl = LLSLURL("http://slurl.com/secondlife/myregion");
+ ensure_equals("slurl.com slurl, region only - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals("slurl.com slurl, region only", slurl.getSLURLString(),
+ "http://maps.secondlife.com/secondlife/myregion/128/128/0");
+
+ slurl = LLSLURL("http://maps.secondlife.com/secondlife/myregion/1/2/3");
+ ensure_equals("maps.secondlife.com slurl, region + coords - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals("maps.secondlife.com slurl, region + coords", slurl.getSLURLString(),
+ "http://maps.secondlife.com/secondlife/myregion/1/2/3");
+
+ slurl = LLSLURL("secondlife://myregion");
+ ensure_equals("secondlife: slurl, region only - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals("secondlife: slurl, region only", slurl.getSLURLString(),
+ "http://maps.secondlife.com/secondlife/myregion/128/128/0");
+
+ slurl = LLSLURL("secondlife://myregion/1/2/3");
+ ensure_equals("secondlife: slurl, region + coords - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals("secondlife slurl, region + coords", slurl.getSLURLString(),
+ "http://maps.secondlife.com/secondlife/myregion/1/2/3");
+
+ slurl = LLSLURL("/myregion");
+ ensure_equals("/region slurl, region- type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals("/region slurl, region ", slurl.getSLURLString(),
+ "http://maps.secondlife.com/secondlife/myregion/128/128/0");
+
+ slurl = LLSLURL("/myregion/1/2/3");
+ ensure_equals("/: slurl, region + coords - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals("/ slurl, region + coords", slurl.getSLURLString(),
+ "http://maps.secondlife.com/secondlife/myregion/1/2/3");
+
+ slurl = LLSLURL("my region/1/2/3");
+ ensure_equals(" slurl, region + coords - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals(" slurl, region + coords", slurl.getSLURLString(),
+ "http://maps.secondlife.com/secondlife/my%20region/1/2/3");
+
+ LLGridManager::getInstance()->setGridChoice("my.grid.com");
+ slurl = LLSLURL("https://my.grid.com/region/my%20region/1/2/3");
+ ensure_equals("grid slurl, region + coords - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals("grid slurl, region + coords", slurl.getSLURLString(),
+ "https://my.grid.com/region/my%20region/1/2/3");
+
+ slurl = LLSLURL("https://my.grid.com/region/my region");
+ ensure_equals("grid slurl, region + coords - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals("grid slurl, region + coords", slurl.getSLURLString(),
+ "https://my.grid.com/region/my%20region/128/128/0");
+
+ LLGridManager::getInstance()->setGridChoice("foo.bar.com");
+ slurl = LLSLURL("/myregion/1/2/3");
+ ensure_equals("/: slurl, region + coords - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals("/ slurl, region + coords", slurl.getSLURLString(),
+ "https://foo.bar.com/region/myregion/1/2/3");
+
+ slurl = LLSLURL("myregion/1/2/3");
+ ensure_equals(": slurl, region + coords - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals(" slurl, region + coords", slurl.getSLURLString(),
+ "https://foo.bar.com/region/myregion/1/2/3");
+
+ slurl = LLSLURL(LLSLURL::SIM_LOCATION_HOME);
+ ensure_equals("home", slurl.getType(), LLSLURL::HOME_LOCATION);
+
+ slurl = LLSLURL(LLSLURL::SIM_LOCATION_LAST);
+ ensure_equals("last", slurl.getType(), LLSLURL::LAST_LOCATION);
+
+ slurl = LLSLURL("secondlife:///app/foo/bar?12345");
+ ensure_equals("app", slurl.getType(), LLSLURL::APP);
+ ensure_equals("appcmd", slurl.getAppCmd(), "foo");
+ ensure_equals("apppath", slurl.getAppPath().size(), 1);
+ ensure_equals("apppath2", slurl.getAppPath()[0].asString(), "bar");
+ ensure_equals("appquery", slurl.getAppQuery(), "12345");
+ ensure_equals("grid1", slurl.getGrid(), "FooBar");
+
+ slurl = LLSLURL("secondlife://Aditi/app/foo/bar?12345");
+ ensure_equals("app", slurl.getType(), LLSLURL::APP);
+ ensure_equals("appcmd", slurl.getAppCmd(), "foo");
+ ensure_equals("apppath", slurl.getAppPath().size(), 1);
+ ensure_equals("apppath2", slurl.getAppPath()[0].asString(), "bar");
+ ensure_equals("appquery", slurl.getAppQuery(), "12345");
+ ensure_equals("grid2", slurl.getGrid(), "Aditi");
+
+ LLGridManager::getInstance()->setGridChoice("foo.bar.com");
+ slurl = LLSLURL("secondlife:///secondlife/myregion/1/2/3");
+ ensure_equals("/: slurl, region + coords - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals("location", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals("region" , "myregion", slurl.getRegion());
+ ensure_equals("grid3", slurl.getGrid(), "util.agni.lindenlab.com");
+
+ slurl = LLSLURL("secondlife://Aditi/secondlife/myregion/1/2/3");
+ ensure_equals("/: slurl, region + coords - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals("location", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals("region" , "myregion", slurl.getRegion());
+ ensure_equals("grid4", slurl.getGrid(), "Aditi" );
+
+ LLGridManager::getInstance()->setGridChoice("my.grid.com");
+ slurl = LLSLURL("https://my.grid.com/app/foo/bar?12345");
+ ensure_equals("app", slurl.getType(), LLSLURL::APP);
+ ensure_equals("appcmd", slurl.getAppCmd(), "foo");
+ ensure_equals("apppath", slurl.getAppPath().size(), 1);
+ ensure_equals("apppath2", slurl.getAppPath()[0].asString(), "bar");
+ ensure_equals("appquery", slurl.getAppQuery(), "12345");
+
+ }
+
+ // construction from grid/region/vector combos
+ template<> template<>
+ void slurlTestObject::test<2>()
+ {
+ llofstream gridfile(TEST_FILENAME);
+ gridfile << gSampleGridFile;
+ gridfile.close();
+
+ LLGridManager::getInstance()->initialize(TEST_FILENAME);
+
+ LLSLURL slurl = LLSLURL("my.grid.com", "my region");
+ ensure_equals("grid/region - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals("grid/region", slurl.getSLURLString(),
+ "https://my.grid.com/region/my%20region/128/128/0");
+
+ slurl = LLSLURL("my.grid.com", "my region", LLVector3(1,2,3));
+ ensure_equals("grid/region/vector - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals(" grid/region/vector", slurl.getSLURLString(),
+ "https://my.grid.com/region/my%20region/1/2/3");
+
+ LLGridManager::getInstance()->setGridChoice("util.agni.lindenlab.com");
+ slurl = LLSLURL("my region", LLVector3(1,2,3));
+ ensure_equals("default grid/region/vector - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals(" default grid/region/vector", slurl.getSLURLString(),
+ "http://maps.secondlife.com/secondlife/my%20region/1/2/3");
+
+ LLGridManager::getInstance()->setGridChoice("MyGrid");
+ slurl = LLSLURL("my region", LLVector3(1,2,3));
+ ensure_equals("default grid/region/vector - type", slurl.getType(), LLSLURL::LOCATION);
+ ensure_equals(" default grid/region/vector", slurl.getSLURLString(),
+ "https://my.grid.com/region/my%20region/1/2/3");
+
+ }
+ // Accessors
+ template<> template<>
+ void slurlTestObject::test<3>()
+ {
+ llofstream gridfile(TEST_FILENAME);
+ gridfile << gSampleGridFile;
+ gridfile.close();
+
+ LLGridManager::getInstance()->initialize(TEST_FILENAME);
+
+ LLGridManager::getInstance()->setGridChoice("my.grid.com");
+ LLSLURL slurl = LLSLURL("https://my.grid.com/region/my%20region/1/2/3");
+ ensure_equals("login string", slurl.getLoginString(), "uri:my region&amp;1&amp;2&amp;3");
+ ensure_equals("location string", slurl.getLocationString(), "my region/1/2/3");
+ ensure_equals("grid", slurl.getGrid(), "my.grid.com");
+ ensure_equals("region", slurl.getRegion(), "my region");
+ ensure_equals("position", slurl.getPosition(), LLVector3(1, 2, 3));
+
+ }
+}
diff --git a/indra/newview/tests/lltextureinfo_test.cpp b/indra/newview/tests/lltextureinfo_test.cpp
index 8dfba46262..73ace1de37 100644..100755
--- a/indra/newview/tests/lltextureinfo_test.cpp
+++ b/indra/newview/tests/lltextureinfo_test.cpp
@@ -3,31 +3,25 @@
* @author Si & Gabriel
* @date 2009-03-30
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -74,7 +68,7 @@ namespace tut
// Tut templating thingamagic: test group, object and test instance
typedef test_group<textureinfo_test> textureinfo_t;
typedef textureinfo_t::object textureinfo_object_t;
- tut::textureinfo_t tut_textureinfo("textureinfo");
+ tut::textureinfo_t tut_textureinfo("LLTectureInfo");
// ---------------------------------------------------------------------------------------
diff --git a/indra/newview/tests/lltextureinfodetails_test.cpp b/indra/newview/tests/lltextureinfodetails_test.cpp
index aa2697fb8e..31ec5f9d4e 100644..100755
--- a/indra/newview/tests/lltextureinfodetails_test.cpp
+++ b/indra/newview/tests/lltextureinfodetails_test.cpp
@@ -3,31 +3,25 @@
* @author Si & Gabriel
* @date 2009-03-30
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -73,7 +67,7 @@ namespace tut
// Tut templating thingamagic: test group, object and test instance
typedef test_group<textureinfodetails_test> textureinfodetails_t;
typedef textureinfodetails_t::object textureinfodetails_object_t;
- tut::textureinfodetails_t tut_textureinfodetails("textureinfodetails");
+ tut::textureinfodetails_t tut_textureinfodetails("LLTextureInfoDetails");
// ---------------------------------------------------------------------------------------
diff --git a/indra/newview/tests/lltexturestatsuploader_test.cpp b/indra/newview/tests/lltexturestatsuploader_test.cpp
index 77a3e2c3d8..4438523022 100644..100755
--- a/indra/newview/tests/lltexturestatsuploader_test.cpp
+++ b/indra/newview/tests/lltexturestatsuploader_test.cpp
@@ -3,31 +3,25 @@
* @author Si
* @date 2009-05-27
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -96,7 +90,7 @@ namespace tut
// Tut templating thingamagic: test group, object and test instance
typedef test_group<texturestatsuploader_test> texturestatsuploader_t;
typedef texturestatsuploader_t::object texturestatsuploader_object_t;
- tut::texturestatsuploader_t tut_texturestatsuploader("texturestatsuploader");
+ tut::texturestatsuploader_t tut_texturestatsuploader("LLTextureStatsUploader");
// ---------------------------------------------------------------------------------------
@@ -117,7 +111,7 @@ namespace tut
void texturestatsuploader_object_t::test<1>()
{
LLTextureStatsUploader tsu;
- llinfos << &tsu << llendl;
+ LL_INFOS() << &tsu << LL_ENDL;
ensure("have we crashed?", true);
}
diff --git a/indra/newview/tests/lltranslate_test.cpp b/indra/newview/tests/lltranslate_test.cpp
new file mode 100755
index 0000000000..5e73dbb981
--- /dev/null
+++ b/indra/newview/tests/lltranslate_test.cpp
@@ -0,0 +1,340 @@
+/**
+ * @file lltranslate_test.cpp
+ *
+ * $LicenseInfo:firstyear=2011&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2011, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#include "linden_common.h"
+
+#include "../test/lltut.h"
+#include "../lltranslate.h"
+#include "../llversioninfo.h"
+#include "../llviewercontrol.h"
+
+#include "llbufferstream.h"
+#include "lltrans.h"
+#include "llui.h"
+
+#include "../../llmessage/llhttpconstants.cpp"
+
+static const std::string GOOGLE_VALID_RESPONSE1 =
+"{\
+ \"data\": {\
+ \"translations\": [\
+ {\
+ \"translatedText\": \"привет\",\
+ \"detectedSourceLanguage\": \"es\"\
+ }\
+ ]\
+ }\
+}";
+
+static const std::string GOOGLE_VALID_RESPONSE2 =
+"{\
+ \"data\": {\
+ \"translations\": [\
+ {\
+ \"translatedText\": \"привет\"\
+ }\
+ ]\
+ }\
+}\
+";
+
+static const std::string GOOGLE_VALID_RESPONSE3 =
+"{\
+ \"error\": {\
+ \"errors\": [\
+ {\
+ \"domain\": \"global\",\
+ \"reason\": \"invalid\",\
+ \"message\": \"Invalid Value\"\
+ }\
+ ],\
+ \"code\": 400,\
+ \"message\": \"Invalid Value\"\
+ }\
+}";
+
+static const std::string BING_VALID_RESPONSE1 =
+"<string xmlns=\"http://schemas.microsoft.com/2003/10/Serialization/\">Привет</string>";
+
+static const std::string BING_VALID_RESPONSE2 =
+"<html><body><h1>Argument Exception</h1><p>Method: Translate()</p><p>Parameter: </p>\
+<p>Message: 'from' must be a valid language</p><code></code>\
+<p>message id=3743.V2_Rest.Translate.58E8454F</p></body></html>";
+
+static const std::string BING_VALID_RESPONSE3 =
+"<html><body><h1>Argument Exception</h1><p>Method: Translate()</p>\
+<p>Parameter: appId</p><p>Message: Invalid appId&#xD;\nParameter name: appId</p>\
+<code></code><p>message id=3737.V2_Rest.Translate.56016759</p></body></html>";
+
+namespace tut
+{
+ class translate_test
+ {
+ protected:
+ void test_translation(
+ LLTranslationAPIHandler& handler,
+ int status, const std::string& resp,
+ const std::string& exp_trans, const std::string& exp_lang, const std::string& exp_err)
+ {
+ std::string translation, detected_lang, err_msg;
+ bool rc = handler.parseResponse(status, resp, translation, detected_lang, err_msg);
+ ensure_equals("rc", rc, (status == 200));
+ ensure_equals("err_msg", err_msg, exp_err);
+ ensure_equals("translation", translation, exp_trans);
+ ensure_equals("detected_lang", detected_lang, exp_lang);
+ }
+
+ LLGoogleTranslationHandler mGoogle;
+ LLBingTranslationHandler mBing;
+ };
+
+ typedef test_group<translate_test> translate_test_group_t;
+ typedef translate_test_group_t::object translate_test_object_t;
+ tut::translate_test_group_t tut_translate("LLTranslate");
+
+ template<> template<>
+ void translate_test_object_t::test<1>()
+ {
+ test_translation(mGoogle, 200, GOOGLE_VALID_RESPONSE1, "привет", "es", "");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<2>()
+ {
+ test_translation(mGoogle, 200, GOOGLE_VALID_RESPONSE2, "привет", "", "");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<3>()
+ {
+ test_translation(mGoogle, 400, GOOGLE_VALID_RESPONSE3, "", "", "Invalid Value");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<4>()
+ {
+ test_translation(mGoogle, 400,
+ "",
+ "", "", "* Line 1, Column 1\n Syntax error: value, object or array expected.\n");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<5>()
+ {
+ test_translation(mGoogle, 400,
+ "[]",
+ "", "", "");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<6>()
+ {
+ test_translation(mGoogle, 400,
+ "{\"oops\": \"invalid\"}",
+ "", "", "");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<7>()
+ {
+ test_translation(mGoogle, 400,
+ "{\"data\": {}}",
+ "", "", "");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<8>()
+ {
+ test_translation(mGoogle, 400,
+ "{\"data\": { \"translations\": [ {} ] }}",
+ "", "", "");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<9>()
+ {
+ test_translation(mGoogle, 400,
+ "{\"data\": { \"translations\": [ { \"translatedTextZZZ\": \"привет\", \"detectedSourceLanguageZZZ\": \"es\" } ] }}",
+ "", "", "");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<10>()
+ {
+ test_translation(mBing, 200, BING_VALID_RESPONSE1, "Привет", "", "");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<11>()
+ {
+ test_translation(mBing, 400, BING_VALID_RESPONSE2, "", "", "'from' must be a valid language");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<12>()
+ {
+ test_translation(mBing, 400, BING_VALID_RESPONSE3, "", "", "Invalid appId\nParameter name: appId");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<13>()
+ {
+ test_translation(mBing, 200,
+ "Привет</string>",
+ "Привет", "", "");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<14>()
+ {
+ test_translation(mBing, 200,
+ "<string xmlns=\"http://schemas.microsoft.com/2003/10/Serialization/\">Привет",
+ "Привет", "", "");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<15>()
+ {
+ test_translation(mBing, 200,
+ "Привет",
+ "Привет", "", "");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<16>()
+ {
+ test_translation(mBing, 400,
+ "Message: some error</p>",
+ "", "", "some error");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<17>()
+ {
+ test_translation(mBing, 400,
+ "Message: some error",
+ "", "", "some error");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<18>()
+ {
+ test_translation(mBing, 400,
+ "some error</p>",
+ "", "", "some error");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<19>()
+ {
+ test_translation(mBing, 400,
+ "some error",
+ "", "", "some error");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<20>()
+ {
+ std::string url;
+ mBing.getTranslateURL(url, "en", "es", "hi");
+ ensure_equals("bing URL", url,
+ "http://api.microsofttranslator.com/v2/Http.svc/Translate?appId=dummy&text=hi&to=es&from=en");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<21>()
+ {
+ std::string url;
+ mBing.getTranslateURL(url, "", "es", "hi");
+ ensure_equals("bing URL", url,
+ "http://api.microsofttranslator.com/v2/Http.svc/Translate?appId=dummy&text=hi&to=es");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<22>()
+ {
+ std::string url;
+ mGoogle.getTranslateURL(url, "en", "es", "hi");
+ ensure_equals("google URL", url,
+ "https://www.googleapis.com/language/translate/v2?key=dummy&q=hi&target=es&source=en");
+ }
+
+ template<> template<>
+ void translate_test_object_t::test<23>()
+ {
+ std::string url;
+ mGoogle.getTranslateURL(url, "", "es", "hi");
+ ensure_equals("google URL", url,
+ "https://www.googleapis.com/language/translate/v2?key=dummy&q=hi&target=es");
+ }
+}
+
+//== Misc stubs ===============================================================
+LLControlGroup gSavedSettings("test");
+
+std::string LLUI::getLanguage() { return "en"; }
+std::string LLTrans::getString(const std::string &xml_desc, const LLStringUtil::format_map_t& args) { return "dummy"; }
+
+LLControlGroup::LLControlGroup(const std::string& name) : LLInstanceTracker<LLControlGroup, std::string>(name) {}
+std::string LLControlGroup::getString(const std::string& name) { return "dummy"; }
+LLControlGroup::~LLControlGroup() {}
+
+LLCurl::Responder::Responder() {}
+void LLCurl::Responder::httpFailure() { }
+void LLCurl::Responder::httpSuccess() { }
+void LLCurl::Responder::httpCompleted() { }
+void LLCurl::Responder::completedRaw(LLChannelDescriptors const &,boost::shared_ptr<LLBufferArray> const &) { }
+LLCurl::Responder::~Responder() {}
+
+void LLHTTPClient::get(const std::string&, const LLSD&, ResponderPtr, const LLSD&, const F32, bool) {}
+void LLHTTPClient::get(const std::string&, LLPointer<LLCurl::Responder>, const LLSD&, const F32, bool) {}
+
+LLBufferStream::LLBufferStream(const LLChannelDescriptors& channels, LLBufferArray* buffer)
+: std::iostream(&mStreamBuf), mStreamBuf(channels, buffer) {}
+LLBufferStream::~LLBufferStream() {}
+
+LLBufferStreamBuf::LLBufferStreamBuf(const LLChannelDescriptors&, LLBufferArray*) {}
+#if( LL_WINDOWS || __GNUC__ > 2)
+LLBufferStreamBuf::pos_type LLBufferStreamBuf::seekoff(
+ off_type off,
+ std::ios::seekdir way,
+ std::ios::openmode which)
+#else
+streampos LLBufferStreamBuf::seekoff(
+ streamoff off,
+ std::ios::seekdir way,
+ std::ios::openmode which)
+#endif
+{ return 0; }
+int LLBufferStreamBuf::sync() {return 0;}
+int LLBufferStreamBuf::underflow() {return 0;}
+int LLBufferStreamBuf::overflow(int) {return 0;}
+LLBufferStreamBuf::~LLBufferStreamBuf() {}
+
+S32 LLVersionInfo::getBuild() { return 0; }
+const std::string& LLVersionInfo::getChannel() {static std::string dummy; return dummy;}
+S32 LLVersionInfo::getMajor() { return 0; }
+S32 LLVersionInfo::getMinor() { return 0; }
+S32 LLVersionInfo::getPatch() { return 0; }
diff --git a/indra/newview/tests/llversioninfo_test.cpp b/indra/newview/tests/llversioninfo_test.cpp
new file mode 100755
index 0000000000..6b0be29c2d
--- /dev/null
+++ b/indra/newview/tests/llversioninfo_test.cpp
@@ -0,0 +1,112 @@
+/**
+ * @file llversioninfo_test.cpp
+ *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#include "linden_common.h"
+
+#include "../test/lltut.h"
+
+#include "../llversioninfo.h"
+
+namespace tut
+{
+ struct versioninfo
+ {
+ versioninfo()
+ : mResetChannel("Reset Channel")
+ {
+ std::ostringstream stream;
+ stream << LL_VIEWER_VERSION_MAJOR << "."
+ << LL_VIEWER_VERSION_MINOR << "."
+ << LL_VIEWER_VERSION_PATCH << "."
+ << LL_VIEWER_VERSION_BUILD;
+ mVersion = stream.str();
+ stream.str("");
+
+ stream << LL_VIEWER_VERSION_MAJOR << "."
+ << LL_VIEWER_VERSION_MINOR << "."
+ << LL_VIEWER_VERSION_PATCH;
+ mShortVersion = stream.str();
+ stream.str("");
+
+ stream << LL_VIEWER_CHANNEL
+ << " "
+ << mVersion;
+ mVersionAndChannel = stream.str();
+ stream.str("");
+
+ stream << mResetChannel
+ << " "
+ << mVersion;
+ mResetVersionAndChannel = stream.str();
+ }
+ std::string mResetChannel;
+ std::string mVersion;
+ std::string mShortVersion;
+ std::string mVersionAndChannel;
+ std::string mResetVersionAndChannel;
+ };
+
+ typedef test_group<versioninfo> versioninfo_t;
+ typedef versioninfo_t::object versioninfo_object_t;
+ tut::versioninfo_t tut_versioninfo("LLVersionInfo");
+
+ template<> template<>
+ void versioninfo_object_t::test<1>()
+ {
+ ensure_equals("Major version",
+ LLVersionInfo::getMajor(),
+ LL_VIEWER_VERSION_MAJOR);
+ ensure_equals("Minor version",
+ LLVersionInfo::getMinor(),
+ LL_VIEWER_VERSION_MINOR);
+ ensure_equals("Patch version",
+ LLVersionInfo::getPatch(),
+ LL_VIEWER_VERSION_PATCH);
+ ensure_equals("Build version",
+ LLVersionInfo::getBuild(),
+ LL_VIEWER_VERSION_BUILD);
+ ensure_equals("Channel version",
+ LLVersionInfo::getChannel(),
+ LL_VIEWER_CHANNEL);
+ ensure_equals("Version String",
+ LLVersionInfo::getVersion(),
+ mVersion);
+ ensure_equals("Short Version String",
+ LLVersionInfo::getShortVersion(),
+ mShortVersion);
+ ensure_equals("Version and channel String",
+ LLVersionInfo::getChannelAndVersion(),
+ mVersionAndChannel);
+
+ LLVersionInfo::resetChannel(mResetChannel);
+ ensure_equals("Reset channel version",
+ LLVersionInfo::getChannel(),
+ mResetChannel);
+
+ ensure_equals("Reset Version and channel String",
+ LLVersionInfo::getChannelAndVersion(),
+ mResetVersionAndChannel);
+ }
+}
diff --git a/indra/newview/tests/llviewerassetstats_test.cpp b/indra/newview/tests/llviewerassetstats_test.cpp
new file mode 100755
index 0000000000..a08e32cb49
--- /dev/null
+++ b/indra/newview/tests/llviewerassetstats_test.cpp
@@ -0,0 +1,561 @@
+/**
+ * @file llviewerassetstats_tut.cpp
+ * @date 2010-10-28
+ * @brief Test cases for some of newview/llviewerassetstats.cpp
+ *
+ * $LicenseInfo:firstyear=2010&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#include "linden_common.h"
+
+#include <tut/tut.hpp>
+#include <iostream>
+
+#include "lltut.h"
+#include "../llviewerassetstats.h"
+#include "lluuid.h"
+#include "llsdutil.h"
+#include "llregionhandle.h"
+#include "lltracethreadrecorder.h"
+#include "../llvoavatar.h"
+
+namespace LLStatViewer
+{
+ LLTrace::SampleStatHandle<> FPS_SAMPLE("fpssample");
+}
+
+void LLVOAvatar::getNearbyRezzedStats(std::vector<S32>& counts)
+{
+ counts.resize(3);
+ counts[0] = 0;
+ counts[1] = 0;
+ counts[2] = 1;
+}
+
+// static
+std::string LLVOAvatar::rezStatusToString(S32 rez_status)
+{
+ if (rez_status==0) return "cloud";
+ if (rez_status==1) return "gray";
+ if (rez_status==2) return "textured";
+ return "unknown";
+}
+
+// static
+LLViewerStats::StatsAccumulator& LLViewerStats::PhaseMap::getPhaseStats(const std::string& phase_name)
+{
+ static LLViewerStats::StatsAccumulator junk;
+ return junk;
+}
+
+static const char * all_keys[] =
+{
+ "duration",
+ "fps",
+ "get_other",
+ "get_texture_temp_http",
+ "get_texture_temp_udp",
+ "get_texture_non_temp_http",
+ "get_texture_non_temp_udp",
+ "get_wearable_udp",
+ "get_sound_udp",
+ "get_gesture_udp"
+};
+
+static const char * resp_keys[] =
+{
+ "get_other",
+ "get_texture_temp_http",
+ "get_texture_temp_udp",
+ "get_texture_non_temp_http",
+ "get_texture_non_temp_udp",
+ "get_wearable_udp",
+ "get_sound_udp",
+ "get_gesture_udp"
+};
+
+static const char * sub_keys[] =
+{
+ "dequeued",
+ "enqueued",
+ "resp_count",
+ "resp_max",
+ "resp_min",
+ "resp_mean"
+};
+
+static const char * mmm_resp_keys[] =
+{
+ "fps"
+};
+
+static const char * mmm_sub_keys[] =
+{
+ "count",
+ "max",
+ "min",
+ "mean"
+};
+
+static const LLUUID region1("4e2d81a3-6263-6ffe-ad5c-8ce04bee07e8");
+static const LLUUID region2("68762cc8-b68b-4e45-854b-e830734f2d4a");
+static const U64 region1_handle(0x0000040000003f00ULL);
+static const U64 region2_handle(0x0000030000004200ULL);
+static const std::string region1_handle_str("0000040000003f00");
+static const std::string region2_handle_str("0000030000004200");
+
+#if 0
+static bool
+is_empty_map(const LLSD & sd)
+{
+ return sd.isMap() && 0 == sd.size();
+}
+#endif
+
+#if 0
+static bool
+is_single_key_map(const LLSD & sd, const std::string & key)
+{
+ return sd.isMap() && 1 == sd.size() && sd.has(key);
+}
+#endif
+
+static bool
+is_double_key_map(const LLSD & sd, const std::string & key1, const std::string & key2)
+{
+ return sd.isMap() && 2 == sd.size() && sd.has(key1) && sd.has(key2);
+}
+
+#if 0
+static bool
+is_triple_key_map(const LLSD & sd, const std::string & key1, const std::string & key2, const std::string& key3)
+{
+ return sd.isMap() && 3 == sd.size() && sd.has(key1) && sd.has(key2) && sd.has(key3);
+}
+#endif
+
+static bool
+is_no_stats_map(const LLSD & sd)
+{
+ return is_double_key_map(sd, "duration", "regions");
+}
+
+static bool
+is_single_slot_array(const LLSD & sd, U64 region_handle)
+{
+ U32 grid_x(0), grid_y(0);
+ grid_from_region_handle(region_handle, &grid_x, &grid_y);
+
+ return (sd.isArray() &&
+ 1 == sd.size() &&
+ sd[0].has("grid_x") &&
+ sd[0].has("grid_y") &&
+ sd[0]["grid_x"].isInteger() &&
+ sd[0]["grid_y"].isInteger() &&
+ grid_x == sd[0]["grid_x"].asInteger() &&
+ grid_y == sd[0]["grid_y"].asInteger());
+}
+
+static bool
+is_double_slot_array(const LLSD & sd, U64 region_handle1, U64 region_handle2)
+{
+ U32 grid_x1(0), grid_y1(0);
+ U32 grid_x2(0), grid_y2(0);
+ grid_from_region_handle(region_handle1, &grid_x1, &grid_y1);
+ grid_from_region_handle(region_handle2, &grid_x2, &grid_y2);
+
+ return (sd.isArray() &&
+ 2 == sd.size() &&
+ sd[0].has("grid_x") &&
+ sd[0].has("grid_y") &&
+ sd[0]["grid_x"].isInteger() &&
+ sd[0]["grid_y"].isInteger() &&
+ sd[1].has("grid_x") &&
+ sd[1].has("grid_y") &&
+ sd[1]["grid_x"].isInteger() &&
+ sd[1]["grid_y"].isInteger() &&
+ ((grid_x1 == sd[0]["grid_x"].asInteger() &&
+ grid_y1 == sd[0]["grid_y"].asInteger() &&
+ grid_x2 == sd[1]["grid_x"].asInteger() &&
+ grid_y2 == sd[1]["grid_y"].asInteger()) ||
+ (grid_x1 == sd[1]["grid_x"].asInteger() &&
+ grid_y1 == sd[1]["grid_y"].asInteger() &&
+ grid_x2 == sd[0]["grid_x"].asInteger() &&
+ grid_y2 == sd[0]["grid_y"].asInteger())));
+}
+
+static LLSD
+get_region(const LLSD & sd, U64 region_handle1)
+{
+ U32 grid_x(0), grid_y(0);
+ grid_from_region_handle(region_handle1, &grid_x, &grid_y);
+
+ for (LLSD::array_const_iterator it(sd["regions"].beginArray());
+ sd["regions"].endArray() != it;
+ ++it)
+ {
+ if ((*it).has("grid_x") &&
+ (*it).has("grid_y") &&
+ (*it)["grid_x"].isInteger() &&
+ (*it)["grid_y"].isInteger() &&
+ (*it)["grid_x"].asInteger() == grid_x &&
+ (*it)["grid_y"].asInteger() == grid_y)
+ {
+ return *it;
+ }
+ }
+ return LLSD();
+}
+
+namespace tut
+{
+ struct tst_viewerassetstats_index
+ {
+ tst_viewerassetstats_index()
+ {
+ LLTrace::set_master_thread_recorder(&mThreadRecorder);
+ }
+
+ ~tst_viewerassetstats_index()
+ {
+ LLTrace::set_master_thread_recorder(NULL);
+ }
+
+ LLTrace::ThreadRecorder mThreadRecorder;
+ };
+ typedef test_group<tst_viewerassetstats_index> tst_viewerassetstats_index_t;
+ typedef tst_viewerassetstats_index_t::object tst_viewerassetstats_index_object_t;
+ tut::tst_viewerassetstats_index_t tut_tst_viewerassetstats_index("tst_viewerassetstats_test");
+
+ // Testing free functions without global stats allocated
+ template<> template<>
+ void tst_viewerassetstats_index_object_t::test<1>()
+ {
+ // Check that helpers aren't bothered by missing global stats
+ ensure("Global gViewerAssetStats should be NULL", (NULL == gViewerAssetStats));
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_TEXTURE, false, false);
+
+ LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_TEXTURE, false, false);
+
+ LLViewerAssetStatsFF::record_response(LLViewerAssetType::AT_GESTURE, false, false, (U64Microseconds)12300000ULL);
+ }
+
+ // Create a non-global instance and check the structure
+ template<> template<>
+ void tst_viewerassetstats_index_object_t::test<2>()
+ {
+ ensure("Global gViewerAssetStats should be NULL", (NULL == gViewerAssetStats));
+
+ LLViewerAssetStats * it = new LLViewerAssetStats();
+
+ ensure("Global gViewerAssetStats should still be NULL", (NULL == gViewerAssetStats));
+
+ LLSD sd_full = it->asLLSD(false);
+
+ // Default (NULL) region ID doesn't produce LLSD results so should
+ // get an empty map back from output
+ ensure("Stat-less LLSD initially", is_no_stats_map(sd_full));
+
+ // Once the region is set, we will get a response even with no data collection
+ it->setRegion(region1_handle);
+ sd_full = it->asLLSD(false);
+ ensure("Correct single-key LLSD map root", is_double_key_map(sd_full, "duration", "regions"));
+ ensure("Correct single-slot LLSD array regions", is_single_slot_array(sd_full["regions"], region1_handle));
+
+ LLSD sd = sd_full["regions"][0];
+
+ delete it;
+
+ // Check the structure of the LLSD
+ for (int i = 0; i < LL_ARRAY_SIZE(all_keys); ++i)
+ {
+ std::string line = llformat("Has '%s' key", all_keys[i]);
+ ensure(line, sd.has(all_keys[i]));
+ }
+
+ for (int i = 0; i < LL_ARRAY_SIZE(resp_keys); ++i)
+ {
+ for (int j = 0; j < LL_ARRAY_SIZE(sub_keys); ++j)
+ {
+ std::string line = llformat("Key '%s' has '%s' key", resp_keys[i], sub_keys[j]);
+ ensure(line, sd[resp_keys[i]].has(sub_keys[j]));
+ }
+ }
+
+ for (int i = 0; i < LL_ARRAY_SIZE(mmm_resp_keys); ++i)
+ {
+ for (int j = 0; j < LL_ARRAY_SIZE(mmm_sub_keys); ++j)
+ {
+ std::string line = llformat("Key '%s' has '%s' key", mmm_resp_keys[i], mmm_sub_keys[j]);
+ ensure(line, sd[mmm_resp_keys[i]].has(mmm_sub_keys[j]));
+ }
+ }
+ }
+
+ // Create a non-global instance and check some content
+ template<> template<>
+ void tst_viewerassetstats_index_object_t::test<3>()
+ {
+ LLViewerAssetStats * it = new LLViewerAssetStats();
+ it->setRegion(region1_handle);
+
+ LLSD sd = it->asLLSD(false);
+ ensure("Correct single-key LLSD map root", is_double_key_map(sd, "regions", "duration"));
+ ensure("Correct single-slot LLSD array regions", is_single_slot_array(sd["regions"], region1_handle));
+ sd = sd[0];
+
+ delete it;
+
+ // Check a few points on the tree for content
+ ensure("sd[get_texture_temp_http][dequeued] is 0", (0 == sd["get_texture_temp_http"]["dequeued"].asInteger()));
+ ensure("sd[get_sound_udp][resp_min] is 0", (0.0 == sd["get_sound_udp"]["resp_min"].asReal()));
+ }
+
+ // Create a global instance and verify free functions do something useful
+ template<> template<>
+ void tst_viewerassetstats_index_object_t::test<4>()
+ {
+ gViewerAssetStats = new LLViewerAssetStats();
+ LLViewerAssetStatsFF::set_region(region1_handle);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_TEXTURE, false, false);
+ LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_TEXTURE, false, false);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_BODYPART, false, false);
+ LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_BODYPART, false, false);
+
+ LLSD sd = gViewerAssetStats->asLLSD(false);
+ ensure("Correct single-key LLSD map root", is_double_key_map(sd, "regions", "duration"));
+ ensure("Correct single-slot LLSD array regions", is_single_slot_array(sd["regions"], region1_handle));
+ sd = sd["regions"][0];
+
+ // Check a few points on the tree for content
+ ensure("sd[get_texture_non_temp_udp][enqueued] is 1", (1 == sd["get_texture_non_temp_udp"]["enqueued"].asInteger()));
+ ensure("sd[get_texture_temp_udp][enqueued] is 0", (0 == sd["get_texture_temp_udp"]["enqueued"].asInteger()));
+ ensure("sd[get_texture_non_temp_http][enqueued] is 0", (0 == sd["get_texture_non_temp_http"]["enqueued"].asInteger()));
+ ensure("sd[get_texture_temp_http][enqueued] is 0", (0 == sd["get_texture_temp_http"]["enqueued"].asInteger()));
+ ensure("sd[get_gesture_udp][dequeued] is 0", (0 == sd["get_gesture_udp"]["dequeued"].asInteger()));
+
+ // Reset and check zeros...
+ // Reset leaves current region in place
+ gViewerAssetStats->reset();
+ sd = gViewerAssetStats->asLLSD(false)["regions"][region1_handle_str];
+
+ delete gViewerAssetStats;
+ gViewerAssetStats = NULL;
+
+ ensure("sd[get_texture_non_temp_udp][enqueued] is reset", (0 == sd["get_texture_non_temp_udp"]["enqueued"].asInteger()));
+ ensure("sd[get_gesture_udp][dequeued] is reset", (0 == sd["get_gesture_udp"]["dequeued"].asInteger()));
+ }
+
+ // Check multiple region collection
+ template<> template<>
+ void tst_viewerassetstats_index_object_t::test<5>()
+ {
+ gViewerAssetStats = new LLViewerAssetStats();
+
+ LLViewerAssetStatsFF::set_region(region1_handle);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_TEXTURE, false, false);
+ LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_TEXTURE, false, false);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_BODYPART, false, false);
+ LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_BODYPART, false, false);
+
+ LLViewerAssetStatsFF::set_region(region2_handle);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_GESTURE, false, false);
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_GESTURE, false, false);
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_GESTURE, false, false);
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_GESTURE, false, false);
+
+ LLSD sd = gViewerAssetStats->asLLSD(false);
+
+ // std::cout << sd << std::endl;
+
+ ensure("Correct double-key LLSD map root", is_double_key_map(sd, "duration", "regions"));
+ ensure("Correct double-slot LLSD array regions", is_double_slot_array(sd["regions"], region1_handle, region2_handle));
+ LLSD sd1 = get_region(sd, region1_handle);
+ LLSD sd2 = get_region(sd, region2_handle);
+ ensure("Region1 is present in results", sd1.isMap());
+ ensure("Region2 is present in results", sd2.isMap());
+
+ // Check a few points on the tree for content
+ ensure_equals("sd1[get_texture_non_temp_udp][enqueued] is 1", sd1["get_texture_non_temp_udp"]["enqueued"].asInteger(), 1);
+ ensure_equals("sd1[get_texture_temp_udp][enqueued] is 0", sd1["get_texture_temp_udp"]["enqueued"].asInteger(), 0);
+ ensure_equals("sd1[get_texture_non_temp_http][enqueued] is 0", sd1["get_texture_non_temp_http"]["enqueued"].asInteger(), 0);
+ ensure_equals("sd1[get_texture_temp_http][enqueued] is 0", sd1["get_texture_temp_http"]["enqueued"].asInteger(), 0);
+ ensure_equals("sd1[get_gesture_udp][dequeued] is 0", sd1["get_gesture_udp"]["dequeued"].asInteger(), 0);
+
+ // Check a few points on the tree for content
+ ensure("sd2[get_gesture_udp][enqueued] is 4", (4 == sd2["get_gesture_udp"]["enqueued"].asInteger()));
+ ensure("sd2[get_gesture_udp][dequeued] is 0", (0 == sd2["get_gesture_udp"]["dequeued"].asInteger()));
+ ensure("sd2[get_texture_non_temp_udp][enqueued] is 0", (0 == sd2["get_texture_non_temp_udp"]["enqueued"].asInteger()));
+
+ // Reset and check zeros...
+ // Reset leaves current region in place
+ gViewerAssetStats->reset();
+ sd = gViewerAssetStats->asLLSD(false);
+ ensure("Correct single-key LLSD map root", is_double_key_map(sd, "regions", "duration"));
+ ensure("Correct single-slot LLSD array regions (p2)", is_single_slot_array(sd["regions"], region2_handle));
+ sd2 = sd["regions"][0];
+
+ delete gViewerAssetStats;
+ gViewerAssetStats = NULL;
+
+ ensure("sd2[get_texture_non_temp_udp][enqueued] is reset", (0 == sd2["get_texture_non_temp_udp"]["enqueued"].asInteger()));
+ ensure("sd2[get_gesture_udp][enqueued] is reset", (0 == sd2["get_gesture_udp"]["enqueued"].asInteger()));
+ }
+
+ // Check multiple region collection jumping back-and-forth between regions
+ template<> template<>
+ void tst_viewerassetstats_index_object_t::test<6>()
+ {
+ gViewerAssetStats = new LLViewerAssetStats();
+
+ LLViewerAssetStatsFF::set_region(region1_handle);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_TEXTURE, false, false);
+ LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_TEXTURE, false, false);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_BODYPART, false, false);
+ LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_BODYPART, false, false);
+
+ LLViewerAssetStatsFF::set_region(region2_handle);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_GESTURE, false, false);
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_GESTURE, false, false);
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_GESTURE, false, false);
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_GESTURE, false, false);
+
+ LLViewerAssetStatsFF::set_region(region1_handle);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_TEXTURE, true, true);
+ LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_TEXTURE, true, true);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_BODYPART, false, false);
+ LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_BODYPART, false, false);
+
+ LLViewerAssetStatsFF::set_region(region2_handle);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_GESTURE, false, false);
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_GESTURE, false, false);
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_GESTURE, false, false);
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_GESTURE, false, false);
+
+ LLSD sd = gViewerAssetStats->asLLSD(false);
+
+ ensure("Correct double-key LLSD map root", is_double_key_map(sd, "duration", "regions"));
+ ensure("Correct double-slot LLSD array regions", is_double_slot_array(sd["regions"], region1_handle, region2_handle));
+ LLSD sd1 = get_region(sd, region1_handle);
+ LLSD sd2 = get_region(sd, region2_handle);
+ ensure("Region1 is present in results", sd1.isMap());
+ ensure("Region2 is present in results", sd2.isMap());
+
+ // Check a few points on the tree for content
+ ensure("sd1[get_texture_non_temp_udp][enqueued] is 1", (1 == sd1["get_texture_non_temp_udp"]["enqueued"].asInteger()));
+ ensure("sd1[get_texture_temp_udp][enqueued] is 0", (0 == sd1["get_texture_temp_udp"]["enqueued"].asInteger()));
+ ensure("sd1[get_texture_non_temp_http][enqueued] is 0", (0 == sd1["get_texture_non_temp_http"]["enqueued"].asInteger()));
+ ensure("sd1[get_texture_temp_http][enqueued] is 1", (1 == sd1["get_texture_temp_http"]["enqueued"].asInteger()));
+ ensure("sd1[get_gesture_udp][dequeued] is 0", (0 == sd1["get_gesture_udp"]["dequeued"].asInteger()));
+
+ // Check a few points on the tree for content
+ ensure("sd2[get_gesture_udp][enqueued] is 8", (8 == sd2["get_gesture_udp"]["enqueued"].asInteger()));
+ ensure("sd2[get_gesture_udp][dequeued] is 0", (0 == sd2["get_gesture_udp"]["dequeued"].asInteger()));
+ ensure("sd2[get_texture_non_temp_udp][enqueued] is 0", (0 == sd2["get_texture_non_temp_udp"]["enqueued"].asInteger()));
+
+ // Reset and check zeros...
+ // Reset leaves current region in place
+ gViewerAssetStats->reset();
+ sd = gViewerAssetStats->asLLSD(false);
+ ensure("Correct single-key LLSD map root", is_double_key_map(sd, "duration", "regions"));
+ ensure("Correct single-slot LLSD array regions (p2)", is_single_slot_array(sd["regions"], region2_handle));
+ sd2 = get_region(sd, region2_handle);
+ ensure("Region2 is present in results", sd2.isMap());
+
+ delete gViewerAssetStats;
+ gViewerAssetStats = NULL;
+
+ ensure_equals("sd2[get_texture_non_temp_udp][enqueued] is reset", sd2["get_texture_non_temp_udp"]["enqueued"].asInteger(), 0);
+ ensure_equals("sd2[get_gesture_udp][enqueued] is reset", sd2["get_gesture_udp"]["enqueued"].asInteger(), 0);
+ }
+
+ // Non-texture assets ignore transport and persistence flags
+ template<> template<>
+ void tst_viewerassetstats_index_object_t::test<7>()
+ {
+ gViewerAssetStats = new LLViewerAssetStats();
+ LLViewerAssetStatsFF::set_region(region1_handle);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_TEXTURE, false, false);
+ LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_TEXTURE, false, false);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_BODYPART, false, false);
+ LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_BODYPART, false, false);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_BODYPART, false, true);
+ LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_BODYPART, false, true);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_BODYPART, true, false);
+ LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_BODYPART, true, false);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_BODYPART, true, true);
+ LLViewerAssetStatsFF::record_dequeue(LLViewerAssetType::AT_BODYPART, true, true);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_LSL_BYTECODE, false, false);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_LSL_BYTECODE, false, true);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_LSL_BYTECODE, true, false);
+
+ LLViewerAssetStatsFF::record_enqueue(LLViewerAssetType::AT_LSL_BYTECODE, true, true);
+
+ LLSD sd = gViewerAssetStats->asLLSD(false);
+ ensure("Correct single-key LLSD map root", is_double_key_map(sd, "regions", "duration"));
+ ensure("Correct single-slot LLSD array regions", is_single_slot_array(sd["regions"], region1_handle));
+ sd = get_region(sd, region1_handle);
+ ensure("Region1 is present in results", sd.isMap());
+
+ // Check a few points on the tree for content
+ ensure("sd[get_gesture_udp][enqueued] is 0", (0 == sd["get_gesture_udp"]["enqueued"].asInteger()));
+ ensure("sd[get_gesture_udp][dequeued] is 0", (0 == sd["get_gesture_udp"]["dequeued"].asInteger()));
+
+ ensure("sd[get_wearable_udp][enqueued] is 4", (4 == sd["get_wearable_udp"]["enqueued"].asInteger()));
+ ensure("sd[get_wearable_udp][dequeued] is 4", (4 == sd["get_wearable_udp"]["dequeued"].asInteger()));
+
+ ensure("sd[get_other][enqueued] is 4", (4 == sd["get_other"]["enqueued"].asInteger()));
+ ensure("sd[get_other][dequeued] is 0", (0 == sd["get_other"]["dequeued"].asInteger()));
+
+ // Reset and check zeros...
+ // Reset leaves current region in place
+ gViewerAssetStats->reset();
+ sd = get_region(gViewerAssetStats->asLLSD(false), region1_handle);
+ ensure("Region1 is present in results", sd.isMap());
+
+ delete gViewerAssetStats;
+ gViewerAssetStats = NULL;
+
+ ensure_equals("sd[get_texture_non_temp_udp][enqueued] is reset", sd["get_texture_non_temp_udp"]["enqueued"].asInteger(), 0);
+ ensure_equals("sd[get_gesture_udp][dequeued] is reset", sd["get_gesture_udp"]["dequeued"].asInteger(), 0);
+ }
+}
diff --git a/indra/newview/tests/llviewerhelputil_test.cpp b/indra/newview/tests/llviewerhelputil_test.cpp
index ec612c4606..f6456a2839 100644..100755
--- a/indra/newview/tests/llviewerhelputil_test.cpp
+++ b/indra/newview/tests/llviewerhelputil_test.cpp
@@ -3,31 +3,25 @@
* @brief LLViewerHelpUtil tests
* @author Tofu Linden
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
// Precompiled header
@@ -55,10 +49,10 @@ static std::string gOS;
LLControlGroup::LLControlGroup(const std::string& name)
: LLInstanceTracker<LLControlGroup, std::string>(name) {}
LLControlGroup::~LLControlGroup() {}
-BOOL LLControlGroup::declareString(const std::string& name,
+LLControlVariable* LLControlGroup::declareString(const std::string& name,
const std::string& initial_val,
const std::string& comment,
- BOOL persist) {return TRUE;}
+ LLControlVariable::ePersist persist) {return NULL;}
void LLControlGroup::setString(const std::string& name, const std::string& val){}
std::string LLControlGroup::getString(const std::string& name)
{
@@ -78,9 +72,17 @@ static void substitute_string(std::string &input, const std::string &search, con
}
}
+#include "../llagent.h"
+LLAgent::LLAgent() : mAgentAccess(NULL) { }
+LLAgent::~LLAgent() { }
+bool LLAgent::isGodlike() const { return FALSE; }
+
+LLAgent gAgent;
+
std::string LLWeb::expandURLSubstitutions(const std::string &url,
const LLSD &default_subs)
{
+ (void)gAgent.isGodlike(); // ref symbol to stop compiler from stripping it
std::string new_url = url;
substitute_string(new_url, "[TOPIC]", default_subs["TOPIC"].asString());
substitute_string(new_url, "[VERSION]", gVersion);
@@ -91,6 +93,7 @@ std::string LLWeb::expandURLSubstitutions(const std::string &url,
return new_url;
}
+
//----------------------------------------------------------------------------
namespace tut
@@ -101,7 +104,7 @@ namespace tut
typedef test_group<viewerhelputil> viewerhelputil_t;
typedef viewerhelputil_t::object viewerhelputil_object_t;
- tut::viewerhelputil_t tut_viewerhelputil("viewerhelputil");
+ tut::viewerhelputil_t tut_viewerhelputil("LLViewerHelpUtil");
template<> template<>
void viewerhelputil_object_t::test<1>()
diff --git a/indra/newview/tests/llviewernetwork_test.cpp b/indra/newview/tests/llviewernetwork_test.cpp
new file mode 100755
index 0000000000..0eb0ab6500
--- /dev/null
+++ b/indra/newview/tests/llviewernetwork_test.cpp
@@ -0,0 +1,425 @@
+/**
+ * @file llviewernetwork_test.cpp
+ * @author Roxie
+ * @date 2009-03-9
+ * @brief Test the viewernetwork functionality
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2014, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+#include "../llviewerprecompiledheaders.h"
+#include "../llviewernetwork.h"
+#include "../test/lltut.h"
+#include "../../llxml/llcontrol.h"
+#include "llfile.h"
+
+namespace
+{
+
+// Should not collide with other test programs creating temp files.
+static const char * const TEST_FILENAME("llviewernetwork_test.xml");
+
+}
+//----------------------------------------------------------------------------
+// Mock objects for the dependencies of the code we're testing
+
+LLControlGroup::LLControlGroup(const std::string& name)
+: LLInstanceTracker<LLControlGroup, std::string>(name) {}
+LLControlGroup::~LLControlGroup() {}
+LLControlVariable* LLControlGroup::declareString(const std::string& name,
+ const std::string& initial_val,
+ const std::string& comment,
+ LLControlVariable::ePersist persist) {return NULL;}
+void LLControlGroup::setString(const std::string& name, const std::string& val){}
+
+std::string gCmdLineLoginURI;
+std::string gCmdLineGridChoice;
+std::string gCmdLineHelperURI;
+std::string gLoginPage;
+std::string gCurrentGrid;
+std::string LLControlGroup::getString(const std::string& name)
+{
+ if (name == "CmdLineGridChoice")
+ return gCmdLineGridChoice;
+ else if (name == "CmdLineHelperURI")
+ return gCmdLineHelperURI;
+ else if (name == "LoginPage")
+ return gLoginPage;
+ else if (name == "CurrentGrid")
+ return gCurrentGrid;
+ return "";
+}
+
+LLSD LLControlGroup::getLLSD(const std::string& name)
+{
+ if (name == "CmdLineLoginURI")
+ {
+ if(!gCmdLineLoginURI.empty())
+ {
+ return LLSD(gCmdLineLoginURI);
+ }
+ }
+ return LLSD();
+}
+
+LLPointer<LLControlVariable> LLControlGroup::getControl(const std::string& name)
+{
+ ctrl_name_table_t::iterator iter = mNameTable.find(name);
+ return iter == mNameTable.end() ? LLPointer<LLControlVariable>() : iter->second;
+}
+
+LLControlGroup gSavedSettings("test");
+
+const char *gSampleGridFile =
+ "<?xml version=\"1.0\"?>"
+ "<llsd>"
+ " <map>"
+ " <key>altgrid.long.name</key>"
+ " <map>"
+ " <key>helper_uri</key><string>https://helper1/helpers/</string>"
+ " <key>label</key><string>Alternative Grid</string>"
+ " <key>login_page</key><string>altgrid/loginpage</string>"
+ " <key>login_uri</key>"
+ " <array>"
+ " <string>altgrid/myloginuri1</string>"
+ " <string>altgrid/myloginuri2</string>"
+ " </array>"
+ " <key>keyname</key><string>altgrid.long.name</string>"
+ " <key>credential_type</key><string>agent</string>"
+ " <key>grid_login_id</key><string>AltGrid</string>"
+ " </map>"
+ " <key>minimal.long.name</key>"
+ " <map>"
+ " <key>keyname</key><string>minimal.long.name</string>"
+ " </map>"
+ " <!-- Note that the values for agni and aditi below are deliberately"
+ " incorrect to test that they are not overwritten -->"
+ " <key>util.agni.lindenlab.com</key> <!-- conflict -->"
+ " <map>"
+ " <key>helper_uri</key><string>https://helper1/helpers/</string>"
+ " <key>grid_login_id</key><string>mylabel</string>"
+ " <key>label</key><string>mylabel</string>"
+ " <key>login_page</key><string>loginpage</string>"
+ " <key>login_uri</key>"
+ " <array>"
+ " <string>myloginuri</string>"
+ " </array>"
+ " <key>keyname</key><string>util.agni.lindenlab.com</string> <!-- conflict -->"
+ " </map>"
+ " <key>util.foobar.lindenlab.com</key>"
+ " <map>"
+ " <key>helper_uri</key><string>https://helper1/helpers/</string>"
+ " <key>grid_login_id</key><string>Aditi</string> <!-- conflict -->"
+ " <key>label</key><string>mylabel</string>"
+ " <key>login_page</key><string>loginpage</string>"
+ " <key>login_uri</key>"
+ " <array>"
+ " <string>myloginuri</string>"
+ " </array>"
+ " <key>update_query_url_base</key><string>https://update.secondlife.com/update</string>"
+ " <key>keyname</key><string>util.foobar.lindenlab.com</string>"
+ " </map>"
+ " </map>"
+ "</llsd>"
+ ;
+// -------------------------------------------------------------------------------------------
+// TUT
+// -------------------------------------------------------------------------------------------
+namespace tut
+{
+ // Test wrapper declaration : wrapping nothing for the moment
+ struct viewerNetworkTest
+ {
+ viewerNetworkTest()
+ {
+ LLFile::remove(TEST_FILENAME);
+ gCmdLineLoginURI.clear();
+ gCmdLineGridChoice.clear();
+ gCmdLineHelperURI.clear();
+ gLoginPage.clear();
+ gCurrentGrid.clear();
+ }
+ ~viewerNetworkTest()
+ {
+ LLFile::remove(TEST_FILENAME);
+ }
+ };
+
+ // Tut templating thingamagic: test group, object and test instance
+ typedef test_group<viewerNetworkTest> viewerNetworkTestFactory;
+ typedef viewerNetworkTestFactory::object viewerNetworkTestObject;
+ tut::viewerNetworkTestFactory tut_test("LLViewerNetwork");
+
+ // ---------------------------------------------------------------------------------------
+ // Test functions
+ // ---------------------------------------------------------------------------------------
+ // initialization without a grid file
+ template<> template<>
+ void viewerNetworkTestObject::test<1>()
+ {
+ LLGridManager *manager = LLGridManager::getInstance();
+ // grid file doesn't exist
+ manager->initialize(TEST_FILENAME);
+ // validate that some of the defaults are available.
+ std::map<std::string, std::string> known_grids = manager->getKnownGrids();
+ ensure_equals("Known grids is a string-string map of size 2", known_grids.size(), 2);
+ ensure_equals("Agni has the right name and label",
+ known_grids[std::string("util.agni.lindenlab.com")],
+ std::string("Second Life Main Grid (Agni)"));
+ ensure_equals("Aditi has the right name and label",
+ known_grids[std::string("util.aditi.lindenlab.com")],
+ std::string("Second Life Beta Test Grid (Aditi)"));
+ ensure_equals("name for agni",
+ LLGridManager::getInstance()->getGrid("util.agni.lindenlab.com"),
+ std::string("util.agni.lindenlab.com"));
+ ensure_equals("id for agni",
+ std::string("Agni"),
+ LLGridManager::getInstance()->getGridId("util.agni.lindenlab.com"));
+ ensure_equals("update url base for Agni", // relies on agni being the default
+ std::string("https://update.secondlife.com/update"),
+ LLGridManager::getInstance()->getUpdateServiceURL());
+ ensure_equals("label for agni",
+ LLGridManager::getInstance()->getGridLabel("util.agni.lindenlab.com"),
+ std::string("Second Life Main Grid (Agni)"));
+
+ std::vector<std::string> login_uris;
+ LLGridManager::getInstance()->getLoginURIs(std::string("util.agni.lindenlab.com"), login_uris);
+ ensure_equals("Number of login uris for agni", 1, login_uris.size());
+ ensure_equals("Agni login uri",
+ login_uris[0],
+ std::string("https://login.agni.lindenlab.com/cgi-bin/login.cgi"));
+ ensure_equals("Agni helper uri",
+ LLGridManager::getInstance()->getHelperURI("util.agni.lindenlab.com"),
+ std::string("https://secondlife.com/helpers/"));
+ ensure_equals("Agni login page",
+ LLGridManager::getInstance()->getLoginPage("util.agni.lindenlab.com"),
+ std::string("http://viewer-login.agni.lindenlab.com/"));
+ ensure("Agni is a system grid",
+ LLGridManager::getInstance()->isSystemGrid("util.agni.lindenlab.com"));
+
+ ensure_equals("name for aditi",
+ LLGridManager::getInstance()->getGrid("util.aditi.lindenlab.com"),
+ std::string("util.aditi.lindenlab.com"));
+ ensure_equals("id for aditi",
+ LLGridManager::getInstance()->getGridId("util.aditi.lindenlab.com"),
+ std::string("Aditi"));
+ ensure_equals("label for aditi",
+ LLGridManager::getInstance()->getGridLabel("util.aditi.lindenlab.com"),
+ std::string("Second Life Beta Test Grid (Aditi)"));
+
+ LLGridManager::getInstance()->getLoginURIs(std::string("util.aditi.lindenlab.com"), login_uris);
+
+ ensure_equals("Number of login uris for aditi", 1, login_uris.size());
+ ensure_equals("Aditi login uri",
+ login_uris[0],
+ std::string("https://login.aditi.lindenlab.com/cgi-bin/login.cgi"));
+ ensure_equals("Aditi helper uri",
+ LLGridManager::getInstance()->getHelperURI("util.aditi.lindenlab.com"),
+ std::string("http://aditi-secondlife.webdev.lindenlab.com/helpers/"));
+ ensure_equals("Aditi login page",
+ LLGridManager::getInstance()->getLoginPage("util.aditi.lindenlab.com"),
+ std::string("http://viewer-login.agni.lindenlab.com/"));
+ ensure("Aditi is a system grid",
+ LLGridManager::getInstance()->isSystemGrid("util.aditi.lindenlab.com"));
+ }
+
+ // initialization with a grid file
+ template<> template<>
+ void viewerNetworkTestObject::test<2>()
+ {
+ llofstream gridfile(TEST_FILENAME);
+ gridfile << gSampleGridFile;
+ gridfile.close();
+
+ LLGridManager::getInstance()->initialize(TEST_FILENAME);
+ std::map<std::string, std::string> known_grids = LLGridManager::getInstance()->getKnownGrids();
+ ensure_equals("adding a grid via a grid file increases known grid size",4,
+ known_grids.size());
+
+ // Verify that Agni and Aditi were not overwritten
+ ensure_equals("Agni has the right name and label",
+ known_grids[std::string("util.agni.lindenlab.com")],
+ std::string("Second Life Main Grid (Agni)"));
+ ensure_equals("Aditi has the right name and label",
+ known_grids[std::string("util.aditi.lindenlab.com")],
+ std::string("Second Life Beta Test Grid (Aditi)"));
+ ensure_equals("name for agni",
+ LLGridManager::getInstance()->getGrid("util.agni.lindenlab.com"),
+ std::string("util.agni.lindenlab.com"));
+ ensure_equals("id for agni",
+ LLGridManager::getInstance()->getGridId("util.agni.lindenlab.com"),
+ std::string("Agni"));
+ ensure_equals("update url base for Agni", // relies on agni being the default
+ std::string("https://update.secondlife.com/update"),
+ LLGridManager::getInstance()->getUpdateServiceURL());
+ ensure_equals("label for agni",
+ LLGridManager::getInstance()->getGridLabel("util.agni.lindenlab.com"),
+ std::string("Second Life Main Grid (Agni)"));
+ std::vector<std::string> login_uris;
+ LLGridManager::getInstance()->getLoginURIs(std::string("util.agni.lindenlab.com"), login_uris);
+ ensure_equals("Number of login uris for agni", 1, login_uris.size());
+ ensure_equals("Agni login uri",
+ login_uris[0],
+ std::string("https://login.agni.lindenlab.com/cgi-bin/login.cgi"));
+ ensure_equals("Agni helper uri",
+ LLGridManager::getInstance()->getHelperURI("util.agni.lindenlab.com"),
+ std::string("https://secondlife.com/helpers/"));
+ ensure_equals("Agni login page",
+ LLGridManager::getInstance()->getLoginPage("util.agni.lindenlab.com"),
+ std::string("http://viewer-login.agni.lindenlab.com/"));
+ ensure("Agni is a system grid",
+ LLGridManager::getInstance()->isSystemGrid("util.agni.lindenlab.com"));
+
+ ensure_equals("name for aditi",
+ LLGridManager::getInstance()->getGrid("util.aditi.lindenlab.com"),
+ std::string("util.aditi.lindenlab.com"));
+ ensure_equals("id for aditi",
+ LLGridManager::getInstance()->getGridId("util.aditi.lindenlab.com"),
+ std::string("Aditi"));
+ ensure_equals("label for aditi",
+ LLGridManager::getInstance()->getGridLabel("util.aditi.lindenlab.com"),
+ std::string("Second Life Beta Test Grid (Aditi)"));
+
+ LLGridManager::getInstance()->getLoginURIs(std::string("util.aditi.lindenlab.com"), login_uris);
+ ensure_equals("Number of login uris for aditi", 1, login_uris.size());
+ ensure_equals("Aditi login uri",
+ login_uris[0],
+ std::string("https://login.aditi.lindenlab.com/cgi-bin/login.cgi"));
+ ensure_equals("Aditi helper uri",
+ LLGridManager::getInstance()->getHelperURI("util.aditi.lindenlab.com"),
+ std::string("http://aditi-secondlife.webdev.lindenlab.com/helpers/"));
+ ensure_equals("Aditi login page",
+ LLGridManager::getInstance()->getLoginPage("util.aditi.lindenlab.com"),
+ std::string("http://viewer-login.agni.lindenlab.com/"));
+ ensure("Aditi is a system grid",
+ LLGridManager::getInstance()->isSystemGrid("util.aditi.lindenlab.com"));
+
+ // Check the additional grid from the file
+ ensure_equals("alternative grid is in name<->label map",
+ known_grids["altgrid.long.name"],
+ std::string("Alternative Grid"));
+ ensure_equals("alternative grid name is set",
+ LLGridManager::getInstance()->getGrid("altgrid.long.name"),
+ std::string("altgrid.long.name"));
+ ensure_equals("alternative grid id",
+ LLGridManager::getInstance()->getGridId("altgrid.long.name"),
+ std::string("AltGrid"));
+ ensure_equals("alternative grid label",
+ LLGridManager::getInstance()->getGridLabel("altgrid.long.name"),
+ std::string("Alternative Grid"));
+ std::vector<std::string> alt_login_uris;
+ LLGridManager::getInstance()->getLoginURIs(std::string("altgrid.long.name"), alt_login_uris);
+ ensure_equals("Number of login uris for altgrid", 2, alt_login_uris.size());
+ ensure_equals("alternative grid first login uri",
+ alt_login_uris[0],
+ std::string("altgrid/myloginuri1"));
+ ensure_equals("alternative grid second login uri",
+ alt_login_uris[1],
+ std::string("altgrid/myloginuri2"));
+ ensure_equals("alternative grid helper uri",
+ LLGridManager::getInstance()->getHelperURI("altgrid.long.name"),
+ std::string("https://helper1/helpers/"));
+ ensure_equals("alternative grid login page",
+ LLGridManager::getInstance()->getLoginPage("altgrid.long.name"),
+ std::string("altgrid/loginpage"));
+ ensure("alternative grid is NOT a system grid",
+ ! LLGridManager::getInstance()->isSystemGrid("altgrid.long.name"));
+
+ ensure_equals("minimal grid is in name<->label map",
+ known_grids["minimal.long.name"],
+ std::string("minimal.long.name"));
+ ensure_equals("minimal grid name is set",
+ LLGridManager::getInstance()->getGrid("minimal.long.name"),
+ std::string("minimal.long.name"));
+ ensure_equals("minimal grid id",
+ LLGridManager::getInstance()->getGridId("minimal.long.name"),
+ std::string("minimal.long.name"));
+ ensure_equals("minimal grid label",
+ LLGridManager::getInstance()->getGridLabel("minimal.long.name"),
+ std::string("minimal.long.name"));
+
+ LLGridManager::getInstance()->getLoginURIs(std::string("minimal.long.name"), alt_login_uris);
+ ensure_equals("Number of login uris for altgrid", 1, alt_login_uris.size());
+ ensure_equals("minimal grid login uri",
+ alt_login_uris[0],
+ std::string("https://minimal.long.name/cgi-bin/login.cgi"));
+ ensure_equals("minimal grid helper uri",
+ LLGridManager::getInstance()->getHelperURI("minimal.long.name"),
+ std::string("https://minimal.long.name/helpers/"));
+ ensure_equals("minimal grid login page",
+ LLGridManager::getInstance()->getLoginPage("minimal.long.name"),
+ std::string("http://minimal.long.name/app/login/"));
+
+ }
+
+
+ // validate grid selection
+ template<> template<>
+ void viewerNetworkTestObject::test<7>()
+ {
+ // adding a grid with simply a name will populate the values.
+ llofstream gridfile(TEST_FILENAME);
+ gridfile << gSampleGridFile;
+ gridfile.close();
+
+ LLGridManager::getInstance()->initialize(TEST_FILENAME);
+
+ LLGridManager::getInstance()->setGridChoice("util.agni.lindenlab.com");
+ ensure_equals("getGridLabel",
+ LLGridManager::getInstance()->getGridLabel(),
+ std::string("Second Life Main Grid (Agni)"));
+ ensure_equals("getGridId",
+ LLGridManager::getInstance()->getGridId(),
+ std::string("Agni"));
+ ensure_equals("getGrid",
+ LLGridManager::getInstance()->getGrid(),
+ std::string("util.agni.lindenlab.com"));
+ ensure_equals("getHelperURI",
+ LLGridManager::getInstance()->getHelperURI(),
+ std::string("https://secondlife.com/helpers/"));
+ ensure_equals("getLoginPage",
+ LLGridManager::getInstance()->getLoginPage(),
+ std::string("http://viewer-login.agni.lindenlab.com/"));
+ ensure_equals("update url base for Agni", // relies on agni being the default
+ std::string("https://update.secondlife.com/update"),
+ LLGridManager::getInstance()->getUpdateServiceURL());
+ ensure("Is Agni a production grid", LLGridManager::getInstance()->isInProductionGrid());
+ std::vector<std::string> uris;
+ LLGridManager::getInstance()->getLoginURIs(uris);
+ ensure_equals("getLoginURIs size", 1, uris.size());
+ ensure_equals("getLoginURIs",
+ uris[0],
+ std::string("https://login.agni.lindenlab.com/cgi-bin/login.cgi"));
+
+ LLGridManager::getInstance()->setGridChoice("altgrid.long.name");
+ ensure_equals("getGridLabel",
+ LLGridManager::getInstance()->getGridLabel(),
+ std::string("Alternative Grid"));
+ ensure_equals("getGridId",
+ LLGridManager::getInstance()->getGridId(),
+ std::string("AltGrid"));
+ ensure("alternative grid is not a system grid",
+ !LLGridManager::getInstance()->isSystemGrid());
+ ensure("alternative grid is not a production grid",
+ !LLGridManager::getInstance()->isInProductionGrid());
+ }
+
+}
diff --git a/indra/newview/tests/llviewershadermgr_stub.cpp b/indra/newview/tests/llviewershadermgr_stub.cpp
new file mode 100755
index 0000000000..18eff72f3c
--- /dev/null
+++ b/indra/newview/tests/llviewershadermgr_stub.cpp
@@ -0,0 +1,50 @@
+/**
+ * @file llglslshader_stub.cpp
+ * @brief stub class to allow unit testing
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2011, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#include "../llviewershadermgr.h"
+
+LLShaderMgr::LLShaderMgr() {}
+LLShaderMgr::~LLShaderMgr() {}
+
+LLViewerShaderMgr::LLViewerShaderMgr() {}
+LLViewerShaderMgr::~LLViewerShaderMgr() {}
+
+LLViewerShaderMgr* stub_instance = NULL;
+
+LLViewerShaderMgr* LLViewerShaderMgr::instance() {
+ if(NULL == stub_instance)
+ {
+ stub_instance = new LLViewerShaderMgr();
+ }
+
+ return stub_instance;
+}
+LLViewerShaderMgr::shader_iter fake_iter;
+LLViewerShaderMgr::shader_iter LLViewerShaderMgr::beginShaders() const {return fake_iter;}
+LLViewerShaderMgr::shader_iter LLViewerShaderMgr::endShaders() const {return fake_iter;}
+
+void LLViewerShaderMgr::updateShaderUniforms(LLGLSLShader* shader) {return;}
+std::string LLViewerShaderMgr::getShaderDirPrefix() {return "SHADER_DIR_PREFIX-";}
diff --git a/indra/newview/tests/llviewertexture_stub.cpp b/indra/newview/tests/llviewertexture_stub.cpp
new file mode 100644
index 0000000000..889ab9bea5
--- /dev/null
+++ b/indra/newview/tests/llviewertexture_stub.cpp
@@ -0,0 +1,34 @@
+/**
+ * @file llviewertexture_stub.cpp
+ * @brief stub class to allow unit testing
+ *
+ * $LicenseInfo:firstyear=2012&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2011, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#include "linden_common.h"
+#include "../llviewertexture.h"
+#include "../../llrender/llgltexture.h"
+
+void LLViewerTexture::setBoostLevel(int level)
+{
+}
+
diff --git a/indra/newview/tests/llwlanimator_stub.cpp b/indra/newview/tests/llwlanimator_stub.cpp
new file mode 100755
index 0000000000..f5e15b2e7b
--- /dev/null
+++ b/indra/newview/tests/llwlanimator_stub.cpp
@@ -0,0 +1,29 @@
+/**
+ * @file llwlanimator_stub.cpp
+ * @brief stub class to allow unit testing
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2011, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+LLWLAnimator::LLWLAnimator(void) {}
+void LLWLAnimator::update(LLWLParamSet& set) {}
+void LLWLAnimator::setTrack(std::map<F32, LLWLParamKey>& track, F32 dayRate, F64 dayTime, bool run) {}
diff --git a/indra/newview/tests/llwldaycycle_stub.cpp b/indra/newview/tests/llwldaycycle_stub.cpp
new file mode 100755
index 0000000000..a7bc9a7b83
--- /dev/null
+++ b/indra/newview/tests/llwldaycycle_stub.cpp
@@ -0,0 +1,52 @@
+/**
+ * @file llwldaycycle_stub.cpp
+ * @brief stub class to allow unit testing
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2011, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+LLWLDayCycle::LLWLDayCycle(void)
+{
+}
+
+LLWLDayCycle::~LLWLDayCycle(void)
+{
+}
+
+bool LLWLDayCycle::getKeytime(LLWLParamKey keyFrame, F32& keyTime)
+{
+ keyTime = 0.5;
+ return true;
+}
+
+bool LLWLDayCycle::removeKeyframe(F32 time)
+{
+ return true;
+}
+
+void LLWLDayCycle::loadDayCycleFromFile(const std::string& fileName)
+{
+}
+
+void LLWLDayCycle::removeReferencesTo(const LLWLParamKey &keyframe)
+{
+}
diff --git a/indra/newview/tests/llwlparammanager_test.cpp b/indra/newview/tests/llwlparammanager_test.cpp
new file mode 100755
index 0000000000..be0dc9fd0c
--- /dev/null
+++ b/indra/newview/tests/llwlparammanager_test.cpp
@@ -0,0 +1,271 @@
+/**
+ * @file llwlparammanager_test.cpp
+ * @brief LLWLParamManager tests
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2011, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+// Precompiled headers
+#include "../llviewerprecompiledheaders.h"
+
+// Class to test
+#include "../llwlparammanager.h"
+
+// Dependencies
+#include "linden_common.h"
+
+// TUT header
+#include "lltut.h"
+
+// Stubs
+#include "llwldaycycle_stub.cpp"
+#include "llwlparamset_stub.cpp"
+#include "llwlanimator_stub.cpp"
+#include "llglslshader_stub.cpp"
+#include "lldir_stub.cpp"
+#include "llsky_stub.cpp"
+#include "llpipeline_stub.cpp"
+#include "llviewershadermgr_stub.cpp"
+
+void assert_glerror(void) {}
+LLViewerCamera::LLViewerCamera() {}
+void LLViewerCamera::setView(F32 vertical_fov_rads) {}
+std::string LLTrans::getString(const std::string &xml_desc, const LLStringUtil::format_map_t& args) { return std::string(""); }
+
+char* curl_unescape(const char* c_str, int length)
+{
+ char* copy = new char[length+4];
+ memcpy(copy, c_str, length);
+ copy[length+0] = 'E';
+ copy[length+1] = 'S';
+ copy[length+2] = 'C';
+ copy[length+3] = '\0';
+ return copy;
+}
+void curl_free(void* p) {delete[] ((char*)p);}
+char* curl_escape(const char* c_str, int length) {
+ char* copy = new char[length+6];
+ memcpy(copy, c_str, length);
+ copy[length+0] = 'U';
+ copy[length+1] = 'N';
+ copy[length+2] = 'E';
+ copy[length+3] = 'S';
+ copy[length+4] = 'C';
+ copy[length+5] = '\0';
+ return copy;
+}
+
+namespace tut
+{
+ // Main Setup
+ struct LLWLParamManagerFixture
+ {
+ class LLWLParamManagerTest
+ {
+ };
+
+ LLWLParamManager* mTestManager;
+
+ LLWLParamManagerFixture()
+ : mTestManager(LLWLParamManager::getInstance())
+ {
+ }
+
+ ~LLWLParamManagerFixture()
+ {
+ }
+ };
+ typedef test_group<LLWLParamManagerFixture> factory;
+ typedef factory::object object;
+ factory tf("LLWLParamManager test");
+
+ // Tests
+ template<> template<>
+ void object::test<1>()
+ {
+ try
+ {
+ std::string preset =
+ "<llsd>\
+ <map>\
+ <key>ambient</key>\
+ <array>\
+ <real>1.0499999523162842</real>\
+ <real>1.0499999523162842</real>\
+ <real>1.0499999523162842</real>\
+ <real>0.34999999403953552</real>\
+ </array>\
+ <key>blue_density</key>\
+ <array>\
+ <real>0.2447581488182351</real>\
+ <real>0.44872328639030457</real>\
+ <real>0.75999999046325684</real>\
+ <real>0.38000004053115788</real>\
+ </array>\
+ <key>blue_horizon</key>\
+ <array>\
+ <real>0.49548382097675159</real>\
+ <real>0.49548381382419748</real>\
+ <real>0.63999999284744291</real>\
+ <real>0.31999999642372146</real>\
+ </array>\
+ <key>cloud_color</key>\
+ <array>\
+ <real>0.40999999165535073</real>\
+ <real>0.40999999165535073</real>\
+ <real>0.40999999165535073</real>\
+ <real>0.40999999165535073</real>\
+ </array>\
+ <key>cloud_pos_density1</key>\
+ <array>\
+ <real>1.6884100437164307</real>\
+ <real>0.52609699964523315</real>\
+ <real>0.99999999999999289</real>\
+ <real>1</real>\
+ </array>\
+ <key>cloud_pos_density2</key>\
+ <array>\
+ <real>1.6884100437164307</real>\
+ <real>0.52609699964523315</real>\
+ <real>0.125</real>\
+ <real>1</real>\
+ </array>\
+ <key>cloud_scale</key>\
+ <array>\
+ <real>0.4199999868869746</real>\
+ <real>0</real>\
+ <real>0</real>\
+ <real>1</real>\
+ </array>\
+ <key>cloud_scroll_rate</key>\
+ <array>\
+ <real>10.199999809265137</real>\
+ <real>10.01099967956543</real>\
+ </array>\
+ <key>cloud_shadow</key>\
+ <array>\
+ <real>0.26999998092651367</real>\
+ <real>0</real>\
+ <real>0</real>\
+ <real>1</real>\
+ </array>\
+ <key>density_multiplier</key>\
+ <array>\
+ <real>0.00017999998817685818</real>\
+ <real>0</real>\
+ <real>0</real>\
+ <real>1</real>\
+ </array>\
+ <key>distance_multiplier</key>\
+ <array>\
+ <real>0.80000001192093606</real>\
+ <real>0</real>\
+ <real>0</real>\
+ <real>1</real>\
+ </array>\
+ <key>east_angle</key>\
+ <real>0</real>\
+ <key>enable_cloud_scroll</key>\
+ <array>\
+ <boolean>1</boolean>\
+ <boolean>1</boolean>\
+ </array>\
+ <key>gamma</key>\
+ <array>\
+ <real>1</real>\
+ <real>0</real>\
+ <real>0</real>\
+ <real>1</real>\
+ </array>\
+ <key>glow</key>\
+ <array>\
+ <real>5</real>\
+ <real>0.0010000000474974513</real>\
+ <real>-0.47999998927116394</real>\
+ <real>1</real>\
+ </array>\
+ <key>haze_density</key>\
+ <array>\
+ <real>0.69999998807907104</real>\
+ <real>0</real>\
+ <real>0</real>\
+ <real>1</real>\
+ </array>\
+ <key>haze_horizon</key>\
+ <array>\
+ <real>0.18999999761581243</real>\
+ <real>0.19915600121021271</real>\
+ <real>0.19915600121021271</real>\
+ <real>1</real>\
+ </array>\
+ <key>lightnorm</key>\
+ <array>\
+ <real>0</real>\
+ <real>0.70710659027099609</real>\
+ <real>-0.70710694789886475</real>\
+ <real>0</real>\
+ </array>\
+ <key>max_y</key>\
+ <array>\
+ <real>1605</real>\
+ <real>0</real>\
+ <real>0</real>\
+ <real>1</real>\
+ </array>\
+ <key>preset_num</key>\
+ <integer>22</integer>\
+ <key>star_brightness</key>\
+ <real>0</real>\
+ <key>sun_angle</key>\
+ <real>2.3561947345733643</real>\
+ <key>sunlight_color</key>\
+ <array>\
+ <real>0.73421055078505759</real>\
+ <real>0.78157895803450828</real>\
+ <real>0.89999997615813498</real>\
+ <real>0.29999998211860301</real>\
+ </array>\
+ </map>\
+ </llsd>";
+
+ std::stringstream preset_stream(preset);
+ mTestManager->loadPresetFromXML(LLWLParamKey("test1", LLWLParamKey::SCOPE_LOCAL), preset_stream);
+ LLWLParamSet dummy;
+ ensure("Couldn't get ParamSet after loading it", mTestManager->getParamSet(LLWLParamKey("test1", LLWLParamKey::SCOPE_LOCAL), dummy));
+ }
+ catch (...)
+ {
+ fail("loadPresetFromXML test crashed!");
+ }
+ }
+
+ template<> template<>
+ void object::test<2>()
+ {
+ mTestManager->propagateParameters();
+ ensure_equals("Wrong value from getDomeOffset()", mTestManager->getDomeOffset(), 0.96f);
+ ensure_equals("Wrong value from getDomeRadius()", mTestManager->getDomeRadius(), 15000.f);
+ ensure_equals("Wrong value from getLightDir()", mTestManager->getLightDir(), LLVector4(-0,0,1,0));
+ ensure_equals("Wrong value from getClampedLightDir()", mTestManager->getClampedLightDir(), LLVector4(-0,0,1,0));
+ ensure_equals("Wrong value from getRotatedLightDir()", mTestManager->getRotatedLightDir(), LLVector4(0,0,0,1));
+ }
+}
diff --git a/indra/newview/tests/llwlparamset_stub.cpp b/indra/newview/tests/llwlparamset_stub.cpp
new file mode 100755
index 0000000000..ccb99db475
--- /dev/null
+++ b/indra/newview/tests/llwlparamset_stub.cpp
@@ -0,0 +1,41 @@
+/**
+ * @file llwlparamset_stub.cpp
+ * @brief stub class to allow unit testing
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2011, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+LLWLParamSet::LLWLParamSet(void)
+{
+}
+
+void LLWLParamSet::updateCloudScrolling()
+{
+}
+
+void LLWLParamSet::set(const std::string& name, const LLVector4& val)
+{
+}
+
+void LLWLParamSet::update(LLGLSLShader *shader) const
+{
+}
diff --git a/indra/newview/tests/llworldmap_test.cpp b/indra/newview/tests/llworldmap_test.cpp
index 56cf86f6df..84194adb5d 100644..100755
--- a/indra/newview/tests/llworldmap_test.cpp
+++ b/indra/newview/tests/llworldmap_test.cpp
@@ -3,41 +3,38 @@
* @author Merov Linden
* @date 2009-03-09
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
-// Precompiled header: almost always required for newview cpp files
-#include "../llviewerprecompiledheaders.h"
-// Class to test
-#include "../llworldmap.h"
// Dependencies
-#include "../llviewerimagelist.h"
+#include "linden_common.h"
+#include "llapr.h"
+#include "llsingleton.h"
+#include "lltrans.h"
+#include "lluistring.h"
+#include "../llviewertexture.h"
#include "../llworldmapmessage.h"
+// Class to test
+#include "../llworldmap.h"
// Tut header
#include "../test/lltut.h"
@@ -50,34 +47,29 @@
// * A simulator for a class can be implemented here. Please comment and document thoroughly.
// Stub image calls
-LLViewerImageList::LLViewerImageList() { }
-LLViewerImageList::~LLViewerImageList() { }
-LLViewerImageList gImageList;
-LLViewerImage* LLViewerImageList::getImage(const LLUUID &image_id,
- BOOL usemipmaps,
- BOOL level_immediate,
- LLGLint internal_format,
- LLGLenum primary_format,
- LLHost request_from_host)
-{ return NULL; }
-void LLViewerImage::setBoostLevel(S32 level) { }
-void LLImageGL::setAddressMode(LLTexUnit::eTextureAddressMode mode) { }
+void LLGLTexture::setBoostLevel(S32 ) { }
+void LLGLTexture::setAddressMode(LLTexUnit::eTextureAddressMode ) { }
+LLViewerFetchedTexture* LLViewerTextureManager::getFetchedTexture(const LLUUID&, FTType, BOOL, LLGLTexture::EBoostLevel, S8,
+ LLGLint, LLGLenum, LLHost ) { return NULL; }
// Stub related map calls
LLWorldMapMessage::LLWorldMapMessage() { }
LLWorldMapMessage::~LLWorldMapMessage() { }
void LLWorldMapMessage::sendItemRequest(U32 type, U64 handle) { }
void LLWorldMapMessage::sendMapBlockRequest(U16 min_x, U16 min_y, U16 max_x, U16 max_y, bool return_nonexistent) { }
+
LLWorldMipmap::LLWorldMipmap() { }
LLWorldMipmap::~LLWorldMipmap() { }
void LLWorldMipmap::reset() { }
void LLWorldMipmap::dropBoostLevels() { }
void LLWorldMipmap::equalizeBoostLevels() { }
-LLPointer<LLViewerImage> LLWorldMipmap::getObjectsTile(U32 grid_x, U32 grid_y, S32 level, bool load)
-{ return NULL; }
+LLPointer<LLViewerFetchedTexture> LLWorldMipmap::getObjectsTile(U32 grid_x, U32 grid_y, S32 level, bool load) { return NULL; }
// Stub other stuff
-BOOL gPacificDaylightTime;
+std::string LLTrans::getString(const std::string &, const LLStringUtil::format_map_t& ) { return std::string("test_trans"); }
+void LLUIString::updateResult() const { }
+void LLUIString::setArg(const std::string& , const std::string& ) { }
+void LLUIString::assign(const std::string& ) { }
// End Stubbing
// -------------------------------------------------------------------------------------------
@@ -150,15 +142,15 @@ namespace tut
// Tut templating thingamagic: test group, object and test instance
typedef test_group<iteminfo_test> iteminfo_t;
typedef iteminfo_t::object iteminfo_object_t;
- tut::iteminfo_t tut_iteminfo("iteminfo");
+ tut::iteminfo_t tut_iteminfo("LLItemInfo");
typedef test_group<siminfo_test> siminfo_t;
typedef siminfo_t::object siminfo_object_t;
- tut::siminfo_t tut_siminfo("siminfo");
+ tut::siminfo_t tut_siminfo("LLSimInfo");
typedef test_group<worldmap_test> worldmap_t;
typedef worldmap_t::object worldmap_object_t;
- tut::worldmap_t tut_worldmap("worldmap");
+ tut::worldmap_t tut_worldmap("LLWorldMap");
// ---------------------------------------------------------------------------------------
// Test functions
@@ -243,7 +235,7 @@ namespace tut
// Test 9 : setLandForSaleImage() / getLandForSaleImage()
LLUUID id;
mSim->setLandForSaleImage(id);
- LLPointer<LLViewerImage> image = mSim->getLandForSaleImage();
+ LLPointer<LLViewerFetchedTexture> image = mSim->getLandForSaleImage();
ensure("LLSimInfo::getLandForSaleImage() test failed", image.isNull());
// Test 10 : isPG()
mSim->setAccess(SIM_ACCESS_PG);
@@ -376,7 +368,7 @@ namespace tut
}
// Test 7 : getObjectsTile()
try {
- LLPointer<LLViewerImage> image = mWorld->getObjectsTile((U32)(X_WORLD_TEST/REGION_WIDTH_METERS), (U32)(Y_WORLD_TEST/REGION_WIDTH_METERS), 1);
+ LLPointer<LLViewerFetchedTexture> image = mWorld->getObjectsTile((U32)(X_WORLD_TEST/REGION_WIDTH_METERS), (U32)(Y_WORLD_TEST/REGION_WIDTH_METERS), 1);
ensure("LLWorldMap::getObjectsTile() failed", image.isNull());
} catch (...) {
fail("LLWorldMap::getObjectsTile() test failed with exception");
diff --git a/indra/newview/tests/llworldmipmap_test.cpp b/indra/newview/tests/llworldmipmap_test.cpp
index 9938175c55..142d75bcfd 100644..100755
--- a/indra/newview/tests/llworldmipmap_test.cpp
+++ b/indra/newview/tests/llworldmipmap_test.cpp
@@ -3,40 +3,34 @@
* @author Merov Linden
* @date 2009-02-03
*
- * $LicenseInfo:firstyear=2006&license=viewergpl$
- *
- * Copyright (c) 2006-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2006&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
-// Precompiled header: almost always required for newview cpp files
-#include "../llviewerprecompiledheaders.h"
+// Dependencies
+#include "linden_common.h"
+#include "../llviewertexture.h"
+#include "../llviewercontrol.h"
// Class to test
#include "../llworldmipmap.h"
-// Dependencies
-#include "../llviewerimagelist.h"
// Tut header
#include "../test/lltut.h"
@@ -48,19 +42,14 @@
// * Do not make any assumption as to how those classes or methods work (i.e. don't copy/paste code)
// * A simulator for a class can be implemented here. Please comment and document thoroughly.
-LLViewerImageList::LLViewerImageList() { }
-LLViewerImageList::~LLViewerImageList() { }
-
-LLViewerImageList gImageList;
+void LLGLTexture::setBoostLevel(S32 ) { }
+LLViewerFetchedTexture* LLViewerTextureManager::getFetchedTextureFromUrl(const std::string&, FTType, BOOL, LLGLTexture::EBoostLevel, S8,
+ LLGLint, LLGLenum, const LLUUID& ) { return NULL; }
-LLViewerImage* LLViewerImageList::getImageFromUrl(const std::string& url,
- BOOL usemipmaps,
- BOOL level_immediate,
- LLGLint internal_format,
- LLGLenum primary_format,
- const LLUUID& force_id)
-{ return NULL; }
-void LLViewerImage::setBoostLevel(S32 level) { }
+LLControlGroup::LLControlGroup(const std::string& name) : LLInstanceTracker<LLControlGroup, std::string>(name) { }
+LLControlGroup::~LLControlGroup() { }
+std::string LLControlGroup::getString(const std::string& ) { return std::string("test_url"); }
+LLControlGroup gSavedSettings("test_settings");
// End Stubbing
// -------------------------------------------------------------------------------------------
@@ -95,7 +84,7 @@ namespace tut
// Tut templating thingamagic: test group, object and test instance
typedef test_group<worldmipmap_test> worldmipmap_t;
typedef worldmipmap_t::object worldmipmap_object_t;
- tut::worldmipmap_t tut_worldmipmap("worldmipmap");
+ tut::worldmipmap_t tut_worldmipmap("LLWorldMipmap");
// ---------------------------------------------------------------------------------------
// Test functions
@@ -111,9 +100,9 @@ namespace tut
{
S32 level = mMap->scaleToLevel(0.0);
ensure("scaleToLevel() test 1 failed", level == LLWorldMipmap::MAP_LEVELS);
- level = mMap->scaleToLevel(LLWorldMipmap::MAP_TILE_SIZE);
+ level = mMap->scaleToLevel((F32)LLWorldMipmap::MAP_TILE_SIZE);
ensure("scaleToLevel() test 2 failed", level == 1);
- level = mMap->scaleToLevel(10 * LLWorldMipmap::MAP_TILE_SIZE);
+ level = mMap->scaleToLevel(10.f * LLWorldMipmap::MAP_TILE_SIZE);
ensure("scaleToLevel() test 3 failed", level == 1);
}
// Test 2 : globalToMipmap()
diff --git a/indra/newview/tests/llxmlrpclistener_test.cpp b/indra/newview/tests/llxmlrpclistener_test.cpp
index c94ba0a3e8..6e9756e7d5 100644..100755
--- a/indra/newview/tests/llxmlrpclistener_test.cpp
+++ b/indra/newview/tests/llxmlrpclistener_test.cpp
@@ -4,8 +4,25 @@
* @date 2009-03-20
* @brief Test for llxmlrpclistener.
*
- * $LicenseInfo:firstyear=2009&license=internal$
- * Copyright (c) 2009, Linden Research, Inc.
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -23,8 +40,10 @@
#include "llevents.h"
#include "lleventfilter.h"
#include "llsd.h"
+#include "llhost.h"
#include "llcontrol.h"
#include "tests/wrapllerrs.h"
+#include "tests/commtest.h"
LLControlGroup gSavedSettings("Global");
@@ -37,13 +56,14 @@ namespace tut
{
data():
pumps(LLEventPumps::instance()),
- uri("http://127.0.0.1:8000")
+ uri(std::string("http://") +
+ LLHost("127.0.0.1", commtest_data::getport("PORT")).getString())
{
// These variables are required by machinery used by
// LLXMLRPCTransaction. The values reflect reality for this test
// executable; hopefully these values are correct.
- gSavedSettings.declareBOOL("BrowserProxyEnabled", FALSE, "", FALSE); // don't persist
- gSavedSettings.declareBOOL("NoVerifySSLCert", TRUE, "", FALSE); // don't persist
+ gSavedSettings.declareBOOL("BrowserProxyEnabled", FALSE, "", LLControlVariable::PERSIST_NO); // don't persist
+ gSavedSettings.declareBOOL("NoVerifySSLCert", TRUE, "", LLControlVariable::PERSIST_NO); // don't persist
}
// LLEventPump listener signature
@@ -65,7 +85,7 @@ namespace tut
void object::test<1>()
{
set_test_name("request validation");
- WrapLL_ERRS capture;
+ WrapLLErrs capture;
LLSD request;
request["uri"] = uri;
std::string threw;
@@ -73,7 +93,7 @@ namespace tut
{
pumps.obtain("LLXMLRPCTransaction").post(request);
}
- catch (const WrapLL_ERRS::FatalException& e)
+ catch (const WrapLLErrs::FatalException& e)
{
threw = e.what();
}
@@ -86,7 +106,7 @@ namespace tut
void object::test<2>()
{
set_test_name("param types validation");
- WrapLL_ERRS capture;
+ WrapLLErrs capture;
LLSD request;
request["uri"] = uri;
request["method"] = "hello";
@@ -98,7 +118,7 @@ namespace tut
{
pumps.obtain("LLXMLRPCTransaction").post(request);
}
- catch (const WrapLL_ERRS::FatalException& e)
+ catch (const WrapLLErrs::FatalException& e)
{
threw = e.what();
}
@@ -128,7 +148,7 @@ namespace tut
pumps.obtain("LLXMLRPCTransaction").post(request);
// Set the timer
F32 timeout(10);
- watchdog.eventAfter(timeout, LLSD().insert("timeout", 0));
+ watchdog.eventAfter(timeout, LLSD().with("timeout", 0));
// and pump "mainloop" until we get something, whether from
// LLXMLRPCListener or from the watchdog filter.
LLTimer timer;
@@ -165,7 +185,7 @@ namespace tut
pumps.obtain("LLXMLRPCTransaction").post(request);
// Set the timer
F32 timeout(10);
- watchdog.eventAfter(timeout, LLSD().insert("timeout", 0));
+ watchdog.eventAfter(timeout, LLSD().with("timeout", 0));
// and pump "mainloop" until we get something, whether from
// LLXMLRPCListener or from the watchdog filter.
LLTimer timer;
@@ -201,7 +221,7 @@ namespace tut
pumps.obtain("LLXMLRPCTransaction").post(request);
// Set the timer
F32 timeout(10);
- watchdog.eventAfter(timeout, LLSD().insert("timeout", 0));
+ watchdog.eventAfter(timeout, LLSD().with("timeout", 0));
// and pump "mainloop" until we get something, whether from
// LLXMLRPCListener or from the watchdog filter.
LLTimer timer;
diff --git a/indra/newview/tests/test_llxmlrpc_peer.py b/indra/newview/tests/test_llxmlrpc_peer.py
index cb8f7d26c4..281b72a058 100644..100755
--- a/indra/newview/tests/test_llxmlrpc_peer.py
+++ b/indra/newview/tests/test_llxmlrpc_peer.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
"""\
@file test_llxmlrpc_peer.py
@author Nat Goodspeed
@@ -7,8 +7,25 @@
the command line, returning its result code. While that executable is
running, we provide dummy local services for use by C++ tests.
-$LicenseInfo:firstyear=2008&license=viewergpl$
-Copyright (c) 2008, Linden Research, Inc.
+$LicenseInfo:firstyear=2008&license=viewerlgpl$
+Second Life Viewer Source Code
+Copyright (C) 2010, Linden Research, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation;
+version 2.1 of the License only.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
$/LicenseInfo$
"""
@@ -20,7 +37,7 @@ from SimpleXMLRPCServer import SimpleXMLRPCServer
mydir = os.path.dirname(__file__) # expected to be .../indra/newview/tests/
sys.path.insert(0, os.path.join(mydir, os.pardir, os.pardir, "lib", "python"))
sys.path.insert(1, os.path.join(mydir, os.pardir, os.pardir, "llmessage", "tests"))
-from testrunner import run, debug
+from testrunner import freeport, run, debug
class TestServer(SimpleXMLRPCServer):
def _dispatch(self, method, params):
@@ -49,11 +66,16 @@ class TestServer(SimpleXMLRPCServer):
# Suppress error output as well
pass
-class ServerRunner(Thread):
- def run(self):
- server = TestServer(('127.0.0.1', 8000))
- debug("Starting XMLRPC server...\n")
- server.serve_forever()
-
if __name__ == "__main__":
- sys.exit(run(server=ServerRunner(name="xmlrpc"), *sys.argv[1:]))
+ # Instantiate a TestServer on the first free port in the specified port
+ # range. Doing this inline is better than in a daemon thread: if it blows
+ # up here, we'll get a traceback. If it blew up in some other thread, the
+ # traceback would get eaten and we'd run the subject test program anyway.
+ xmlrpcd, port = freeport(xrange(8000, 8020),
+ lambda port: TestServer(('127.0.0.1', port)))
+ # Pass the selected port number to the subject test program via the
+ # environment. We don't want to impose requirements on the test program's
+ # command-line parsing -- and anyway, for C++ integration tests, that's
+ # performed in TUT code rather than our own.
+ os.environ["PORT"] = str(port)
+ sys.exit(run(server=Thread(name="xmlrpc", target=xmlrpcd.serve_forever), *sys.argv[1:]))