summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Lihatskiy <alihatskiy@productengine.com>2025-12-23 03:51:39 +0200
committerAndrey Lihatskiy <alihatskiy@productengine.com>2025-12-23 03:51:39 +0200
commit259d28cd788cb6150cffde8f11cde2887c2e3bcb (patch)
tree5969f6504786c0752c805bc833d6aef513a8387f
parent0c8794ef0f7985c9204551d2c6ed315ffa6ee505 (diff)
parent3ff35b8c2b530bc7d4e6fbdeb688506b27af2d66 (diff)
Merge branch 'develop-linux' into marchcat/slua-linux
-rw-r--r--.github/workflows/build.yaml21
-rwxr-xr-xbuild.sh25
-rw-r--r--indra/integration_tests/llimage_libtest/llimage_libtest.cpp2
-rw-r--r--indra/integration_tests/llui_libtest/llui_libtest.cpp2
-rw-r--r--indra/llcharacter/CMakeLists.txt12
-rw-r--r--indra/llcommon/CMakeLists.txt22
-rw-r--r--indra/llcommon/StackWalker.cpp2
-rw-r--r--indra/llcommon/ctype_workaround.h54
-rw-r--r--indra/llcommon/fix_macros.h21
-rw-r--r--indra/llcommon/llapr.h2
-rw-r--r--indra/llcommon/llbase32.cpp238
-rw-r--r--indra/llcommon/llbase32.h37
-rw-r--r--indra/llcommon/llcond.h2
-rw-r--r--indra/llcommon/llcoros.h2
-rw-r--r--indra/llcommon/llfixedbuffer.h2
-rw-r--r--indra/llcommon/llinstancetracker.h2
-rw-r--r--indra/llcommon/llmutex.h2
-rw-r--r--indra/llcommon/llsdjson.cpp1
-rw-r--r--indra/llcommon/llsingleton.h2
-rw-r--r--indra/llcommon/llstreamqueue.cpp24
-rw-r--r--indra/llcommon/llstreamqueue.h240
-rw-r--r--indra/llcommon/llthreadsafequeue.h2
-rw-r--r--indra/llcommon/lockstatic.h2
-rw-r--r--indra/llcommon/mutex.h22
-rw-r--r--indra/llcommon/tests/llallocator_heap_profile_test.cpp144
-rw-r--r--indra/llcommon/tests/llallocator_test.cpp80
-rw-r--r--indra/llcommon/tests/llapp_test.cpp (renamed from indra/test/llapp_tut.cpp)0
-rw-r--r--indra/llcommon/tests/lldoubledispatch_test.cpp (renamed from indra/test/lldoubledispatch_tut.cpp)0
-rw-r--r--indra/llcommon/tests/llevents_test.cpp (renamed from indra/test/llevents_tut.cpp)0
-rw-r--r--indra/llcommon/tests/llhttpdate_test.cpp (renamed from indra/test/llhttpdate_tut.cpp)0
-rw-r--r--indra/llcommon/tests/lllazy_test.cpp239
-rw-r--r--indra/llcommon/tests/llmemtype_test.cpp117
-rw-r--r--indra/llcommon/tests/llsd_test.cpp (renamed from indra/test/llsd_new_tut.cpp)2
-rw-r--r--indra/llcommon/tests/llsdserialize_test.cpp6
-rw-r--r--indra/llcommon/tests/llsdutil_test.cpp (renamed from indra/test/llsdutil_tut.cpp)0
-rw-r--r--indra/llcommon/tests/llstreamqueue_test.cpp194
-rw-r--r--indra/llcommon/tests/llstreamtools_test.cpp (renamed from indra/test/llstreamtools_tut.cpp)0
-rw-r--r--indra/llcommon/timer.h26
-rw-r--r--indra/llcorehttp/_refcounted.h1
-rw-r--r--indra/llcorehttp/tests/test_httprequest.hpp15
-rw-r--r--indra/llfilesystem/lldiriterator.cpp1
-rw-r--r--indra/llinventory/CMakeLists.txt3
-rw-r--r--indra/llinventory/tests/llpermissions_test.cpp (renamed from indra/test/llpermissions_tut.cpp)0
-rw-r--r--indra/llinventory/tests/llsaleinfo_test.cpp (renamed from indra/test/llsaleinfo_tut.cpp)0
-rw-r--r--indra/llinventory/tests/lluserrelations_test.cpp (renamed from indra/test/lluserrelations_tut.cpp)0
-rw-r--r--indra/llmath/CMakeLists.txt4
-rw-r--r--indra/llmath/camera.h27
-rw-r--r--indra/llmath/coordframe.h27
-rw-r--r--indra/llmath/llsphere.cpp370
-rw-r--r--indra/llmath/llsphere.h77
-rw-r--r--indra/llmath/tests/mathmisc_test.cpp161
-rw-r--r--indra/llmessage/CMakeLists.txt17
-rw-r--r--indra/llmessage/partsyspacket.cpp1297
-rw-r--r--indra/llmessage/partsyspacket.h261
-rw-r--r--indra/llmessage/tests/io_test.cpp (renamed from indra/test/io.cpp)0
-rw-r--r--indra/llmessage/tests/llbuffer_test.cpp (renamed from indra/test/llbuffer_tut.cpp)0
-rw-r--r--indra/llmessage/tests/llcurl_stub.cpp99
-rw-r--r--indra/llmessage/tests/lldatapacker_test.cpp (renamed from indra/test/lldatapacker_tut.cpp)12
-rw-r--r--indra/llmessage/tests/llhttpclient_test.cpp311
-rw-r--r--indra/llmessage/tests/llhttpnode_test.cpp (renamed from indra/test/llhttpnode_tut.cpp)0
-rw-r--r--indra/llmessage/tests/lliohttpserver_test.cpp (renamed from indra/test/lliohttpserver_tut.cpp)0
-rw-r--r--indra/llmessage/tests/llmessageconfig_test.cpp (renamed from indra/test/llmessageconfig_tut.cpp)0
-rw-r--r--indra/llmessage/tests/llmessagetemplateparser_test.cpp (renamed from indra/test/llmessagetemplateparser_tut.cpp)0
-rw-r--r--indra/llmessage/tests/llpipeutil.cpp (renamed from indra/test/llpipeutil.cpp)0
-rw-r--r--indra/llmessage/tests/llpipeutil.h (renamed from indra/test/llpipeutil.h)0
-rw-r--r--indra/llmessage/tests/llsdmessagebuilder_test.cpp (renamed from indra/test/llsdmessagebuilder_tut.cpp)0
-rw-r--r--indra/llmessage/tests/llsdmessagereader_test.cpp (renamed from indra/test/llsdmessagereader_tut.cpp)0
-rw-r--r--indra/llmessage/tests/llservicebuilder_test.cpp (renamed from indra/test/llservicebuilder_tut.cpp)0
-rw-r--r--indra/llmessage/tests/lltemplatemessagebuilder_test.cpp (renamed from indra/test/lltemplatemessagebuilder_tut.cpp)0
-rw-r--r--indra/llmessage/tests/llxorcipher_test.cpp (renamed from indra/test/llxorcipher_tut.cpp)0
-rw-r--r--indra/llmessage/tests/message_test.cpp (renamed from indra/test/message_tut.cpp)0
-rw-r--r--indra/llprimitive/llprimlinkinfo.h393
-rw-r--r--indra/llrender/llrendertarget.h2
-rw-r--r--indra/llui/CMakeLists.txt8
-rwxr-xr-xindra/llui/tests/llurlentry_stub.cpp8
-rw-r--r--indra/llwindow/llwindowmacosx.h5
-rw-r--r--indra/newview/CMakeLists.txt109
-rw-r--r--indra/newview/Info-SecondLifeVorbis.plist28
-rw-r--r--indra/newview/VertexCache.h105
-rw-r--r--indra/newview/VorbisFramework.h80
-rwxr-xr-xindra/newview/build_win32_appConfig.py68
-rw-r--r--indra/newview/llcallbacklist.cpp12
-rw-r--r--indra/newview/lleventnotifier.h2
-rw-r--r--indra/newview/llfloaterdirectory.h2
-rw-r--r--indra/newview/llfloaterimsession.h1
-rw-r--r--indra/newview/llfloaterimsessiontab.h1
-rw-r--r--indra/newview/lllocalbitmaps.cpp2
-rw-r--r--indra/newview/lllocalgltfmaterials.cpp2
-rw-r--r--indra/newview/lllookshistorypanel.h67
-rw-r--r--indra/newview/llpaneldirland.cpp2
-rw-r--r--indra/newview/llpanelimcontrolpanel.cpp44
-rw-r--r--indra/newview/llpanelimcontrolpanel.h84
-rw-r--r--indra/newview/lltoolview.cpp196
-rw-r--r--indra/newview/lltoolview.h84
-rw-r--r--indra/newview/llviewermedia.cpp8
-rw-r--r--indra/newview/llvoicevisualizer.cpp1
-rw-r--r--indra/newview/macutil_Prefix.h38
-rw-r--r--indra/newview/macview_Prefix.h229
-rw-r--r--indra/newview/tests/gpus_results.txt3111
-rw-r--r--indra/newview/tests/gpus_seen.txt4225
-rw-r--r--indra/newview/tests/gpus_unmatched.txt9
-rw-r--r--indra/newview/tests/lldir_stub.cpp2
-rw-r--r--indra/newview/tests/llglslshader_stub.cpp39
-rw-r--r--indra/newview/tests/llpipeline_stub.cpp32
-rw-r--r--indra/newview/tests/llremoteparcelrequest_test.cpp12
-rw-r--r--indra/newview/tests/llsky_stub.cpp37
-rw-r--r--indra/newview/tests/lltextureinfo_test.cpp81
-rw-r--r--indra/newview/tests/lltexturestatsuploader_test.cpp150
-rw-r--r--indra/newview/tests/llvieweroctree_stub.cpp8
-rw-r--r--indra/newview/tests/llviewershadermgr_stub.cpp50
-rw-r--r--indra/newview/tests/llwlanimator_stub.cpp29
-rw-r--r--indra/newview/tests/llwldaycycle_stub.cpp52
-rw-r--r--indra/newview/tests/llwlparammanager_test.cpp271
-rw-r--r--indra/newview/tests/llwlparamset_stub.cpp41
-rw-r--r--indra/newview/tests/llxmlrpclistener_test.cpp4
-rw-r--r--indra/test/CMakeLists.txt120
-rw-r--r--indra/test/hexdump.h97
-rw-r--r--indra/test/llassetuploadqueue_tut.cpp195
-rw-r--r--indra/test/lltimestampcache_tut.cpp124
-rw-r--r--indra/test/lltranscode_tut.cpp86
-rw-r--r--indra/test/mock_http_client.cpp82
-rw-r--r--indra/test/mock_http_client.h190
-rw-r--r--indra/test/prim_linkability_tut.cpp495
-rw-r--r--indra/test/test.cpp137
124 files changed, 244 insertions, 15248 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index df927eb187..b6b3ba55ac 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -45,6 +45,7 @@ jobs:
matrix:
runner: ${{ fromJson((github.ref_type == 'tag' && startsWith(github.ref, 'refs/tags/Second_Life')) && '["windows-large","macos-15-xlarge","linux-large"]' || '["windows-2022","macos-15-xlarge","ubuntu-22.04"]') }}
configuration: ${{ fromJson(needs.setup.outputs.configurations) }}
+ build_variant: [Viewer, Tests]
runs-on: ${{ matrix.runner }}
outputs:
viewer_channel: ${{ steps.build.outputs.viewer_channel }}
@@ -68,9 +69,9 @@ jobs:
DEVELOPER_DIR: "/Applications/Xcode_16.4.app/Contents/Developer"
# Ensure that Linden viewer builds engage Bugsplat.
BUGSPLAT_DB: ${{ needs.setup.outputs.bugsplat_db }}
- build_coverity: false
build_log_dir: ${{ github.workspace }}/.logs
- build_viewer: true
+ build_viewer: ${{ matrix.build_variant == 'Viewer' }}
+ build_tests: ${{ matrix.build_variant == 'Tests' }}
BUILDSCRIPTS_SHARED: ${{ github.workspace }}/.shared
# extracted and committed to viewer repo
BUILDSCRIPTS_SUPPORT_FUNCTIONS: ${{ github.workspace }}/buildscripts_support_functions
@@ -91,9 +92,9 @@ jobs:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
- name: Linux Disk Cleanup
- if: runner.os == 'Linux'
+ if: matrix.build_variant == 'Viewer' && runner.os == 'Linux'
run: |
- # Prune various unused files from linux builder to fix free runner disk space exhaustion
+ # Prune various unused files from linux builder for Viewer build to fix runner disk space exhaustion
df -h
sudo docker container prune -f
sudo docker image prune -a -f
@@ -129,8 +130,9 @@ jobs:
uses: actions/cache@v4
with:
path: .autobuild-installables
- key: ${{ runner.os }}-64-${{ matrix.configuration }}-${{ hashFiles('autobuild.xml') }}
+ key: ${{ runner.os }}-64-${{ matrix.configuration }}-${{ matrix.build_variant }}-${{ hashFiles('autobuild.xml') }}
restore-keys: |
+ ${{ runner.os }}-64-${{ matrix.configuration }}-${{ matrix.build_variant }}-
${{ runner.os }}-64-${{ matrix.configuration }}-
${{ runner.os }}-64-
@@ -293,8 +295,8 @@ jobs:
echo "artifact=$RUNNER_OS$cfg_suffix" >> $GITHUB_OUTPUT
- name: Upload executable
- if: steps.build.outputs.viewer_app
uses: actions/upload-artifact@v4
+ if: matrix.build_variant == 'Viewer' && steps.build.outputs.viewer_app
with:
name: "${{ steps.build.outputs.artifact }}-app"
path: |
@@ -303,14 +305,15 @@ jobs:
# The other upload of nontrivial size is the symbol file. Use a distinct
# artifact for that too.
- name: Upload symbol file
- if: steps.build.outputs.symbolfile
uses: actions/upload-artifact@v4
+ if: matrix.build_variant == 'Viewer' && steps.build.outputs.symbolfile
with:
name: "${{ steps.build.outputs.artifact }}-symbols"
path: ${{ steps.build.outputs.symbolfile }}
- name: Upload metadata
uses: actions/upload-artifact@v4
+ if: matrix.build_variant == 'Viewer'
with:
name: "${{ steps.build.outputs.artifact }}-metadata"
# emitted by build.sh, possibly multiple lines
@@ -320,7 +323,7 @@ jobs:
- name: Upload physics package
uses: actions/upload-artifact@v4
# should only be set for viewer-private
- if: matrix.configuration == 'Release' && steps.build.outputs.physicstpv
+ if: matrix.build_variant == 'Viewer' && matrix.configuration == 'Release' && steps.build.outputs.physicstpv
with:
name: "${{ steps.build.outputs.artifact }}-physics"
# emitted by build.sh, zero or one lines
@@ -329,7 +332,7 @@ jobs:
- name: Upload appearance utility package
uses: actions/upload-artifact@v4
- if: steps.build.outputs.appearanceutility
+ if: matrix.build_variant == 'Viewer' && steps.build.outputs.appearanceutility
with:
name: "${{ steps.build.outputs.artifact }}-appearanceutility"
# emitted by build.sh, zero or one lines
diff --git a/build.sh b/build.sh
index 31604663f1..72dc2b96e8 100755
--- a/build.sh
+++ b/build.sh
@@ -150,6 +150,7 @@ pre_build()
RELEASE_CRASH_REPORTING=OFF
HAVOK=OFF
+ TESTING=OFF
SIGNING=()
if [[ "$variant" != *OS ]]
then
@@ -171,6 +172,11 @@ pre_build()
RELEASE_CRASH_REPORTING=OFF
fi
+ if $build_tests
+ then
+ TESTING=ON
+ fi
+
if [ "${RELEASE_CRASH_REPORTING:-}" != "OFF" ]
then
case "$arch" in
@@ -195,7 +201,7 @@ pre_build()
"$autobuild" configure --quiet -c $variant \
${eval_autobuild_configure_parameters:---} \
- -DLL_TESTS:BOOL=ON \
+ -DLL_TESTS:BOOL="$TESTING" \
-DPACKAGE:BOOL=ON \
-DHAVOK:BOOL="$HAVOK" \
-DRELEASE_CRASH_REPORTING:BOOL="$RELEASE_CRASH_REPORTING" \
@@ -246,7 +252,18 @@ package_llphysicsextensions_tpv()
build()
{
local variant="$1"
- if $build_viewer
+ if $build_tests
+ then
+ begin_section "autobuild $variant tests"
+ # honor autobuild_build_parameters same as sling-buildscripts
+ export CTEST_OUTPUT_ON_FAILURE=1 # Output log on test failure
+ eval_autobuild_build_parameters=$(eval $(echo echo $autobuild_build_parameters))
+ "$autobuild" build --no-configure -c $variant \
+ $eval_autobuild_build_parameters -- --target BUILD_AND_RUN_TESTS \
+ || fatal "failed building $variant tests"
+ echo true >"$build_dir"/build_ok
+ end_section "autobuild $variant tests"
+ elif $build_viewer
then
begin_section "autobuild $variant"
# honor autobuild_build_parameters same as sling-buildscripts
@@ -254,10 +271,6 @@ build()
"$autobuild" build --no-configure -c $variant \
$eval_autobuild_build_parameters \
|| fatal "failed building $variant"
-
- ctest -C Release --test-dir "${build_dir}" --output-on-failure -j $(nproc --all) \
- || fatal "failed testing $variant"
-
echo true >"$build_dir"/build_ok
end_section "autobuild $variant"
diff --git a/indra/integration_tests/llimage_libtest/llimage_libtest.cpp b/indra/integration_tests/llimage_libtest/llimage_libtest.cpp
index b82ced2f8d..85c5a8cdd4 100644
--- a/indra/integration_tests/llimage_libtest/llimage_libtest.cpp
+++ b/indra/integration_tests/llimage_libtest/llimage_libtest.cpp
@@ -530,7 +530,7 @@ int main(int argc, char** argv)
}
else
{
- LLFastTimer::sMetricLog = TRUE;
+ LLFastTimer::sMetricLog = true;
LLFastTimer::sLogName = test_name;
arg += 1; // Skip that arg now we know it's a valid test name
if ((arg + 1) == argc) // Break out of the loop if we reach the end of the arg list
diff --git a/indra/integration_tests/llui_libtest/llui_libtest.cpp b/indra/integration_tests/llui_libtest/llui_libtest.cpp
index efb9c47a91..86783049cb 100644
--- a/indra/integration_tests/llui_libtest/llui_libtest.cpp
+++ b/indra/integration_tests/llui_libtest/llui_libtest.cpp
@@ -187,7 +187,7 @@ void export_test_floaters()
LLXMLNodePtr output_node = new LLXMLNode();
LLFloater* floater = new LLFloater(LLSD());
floater->buildFromFile( filename,
- // FALSE, // don't open floater
+ // false, // don't open floater
output_node);
std::string out_filename = gDirUtilp->add(xui_dir, filename);
std::string::size_type extension_pos = out_filename.rfind(".xml");
diff --git a/indra/llcharacter/CMakeLists.txt b/indra/llcharacter/CMakeLists.txt
index 1f019e6aef..0d7802279a 100644
--- a/indra/llcharacter/CMakeLists.txt
+++ b/indra/llcharacter/CMakeLists.txt
@@ -74,3 +74,15 @@ target_link_libraries(
if (USE_PRECOMPILED_HEADERS)
target_precompile_headers(llcharacter REUSE_FROM llprecompiled)
endif ()
+
+
+if (LL_TESTS)
+ include(LLAddBuildTest)
+# SET(llcharacter_TEST_SOURCE_FILES
+# )
+# LL_ADD_PROJECT_UNIT_TESTS(llcharacter "${llcharacter_TEST_SOURCE_FILES}")
+
+ #set(TEST_DEBUG on)
+ set(test_libs llcommon llmath)
+ LL_ADD_INTEGRATION_TEST(lljoint "lljoint.cpp" "${test_libs}")
+endif()
diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt
index f8c24368b2..b41ffb6dbf 100644
--- a/indra/llcommon/CMakeLists.txt
+++ b/indra/llcommon/CMakeLists.txt
@@ -22,7 +22,6 @@ set(llcommon_SOURCE_FILES
llapr.cpp
llassettype.cpp
llatomic.cpp
- llbase32.cpp
llbase64.cpp
llbitpack.cpp
llcallbacklist.cpp
@@ -85,7 +84,6 @@ set(llcommon_SOURCE_FILES
llsdutil.cpp
llsingleton.cpp
llstacktrace.cpp
- llstreamqueue.cpp
llstreamtools.cpp
llstring.cpp
llstringtable.cpp
@@ -117,8 +115,6 @@ set(llcommon_HEADER_FILES
chrono.h
classic_callback.h
commoncontrol.h
- ctype_workaround.h
- fix_macros.h
fsyspath.h
function_types.h
indra_constants.h
@@ -129,7 +125,6 @@ set(llcommon_HEADER_FILES
llapr.h
llassettype.h
llatomic.h
- llbase32.h
llbase64.h
llbitpack.h
llboost.h
@@ -217,7 +212,6 @@ set(llcommon_HEADER_FILES
llsingleton.h
llstacktrace.h
llstl.h
- llstreamqueue.h
llstreamtools.h
llstrider.h
llstring.h
@@ -249,7 +243,6 @@ set(llcommon_HEADER_FILES
threadpool.h
threadpool_fwd.h
threadsafeschedule.h
- timer.h
tuple.h
u64.h
workqueue.h
@@ -317,16 +310,20 @@ if (LL_TESTS)
LL_ADD_INTEGRATION_TEST(classic_callback "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(commonmisc "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lazyeventapi "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llapp "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llbase64 "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llcond "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lldate "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lldeadmantimer "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lldependencies "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(lldoubledispatch "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llerror "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lleventcoro "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lleventdispatcher "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lleventfilter "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llevents "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llframetimer "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llhttpdate "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llheteromap "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llinstancetracker "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llleap "" "${test_libs}")
@@ -336,9 +333,11 @@ if (LL_TESTS)
LL_ADD_INTEGRATION_TEST(llprocessor "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llprocinfo "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llrand "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llsd "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llsdserialize "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llsdutil "" "llcommon;llmath")
LL_ADD_INTEGRATION_TEST(llsingleton "" "${test_libs}")
- LL_ADD_INTEGRATION_TEST(llstreamqueue "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llstreamtools "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llstring "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lltrace "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lltreeiterators "" "${test_libs}")
@@ -354,4 +353,11 @@ if (LL_TESTS)
## throwing and catching exceptions.
##LL_ADD_INTEGRATION_TEST(llexception "" "${test_libs}")
+ # Skip precompiled header for tests that need special handling
+ set_source_files_properties(
+ tests/llsd_test.cpp
+ PROPERTIES
+ SKIP_PRECOMPILE_HEADERS TRUE
+ )
+
endif (LL_TESTS)
diff --git a/indra/llcommon/StackWalker.cpp b/indra/llcommon/StackWalker.cpp
index 77ae4db4bd..a281fe83f6 100644
--- a/indra/llcommon/StackWalker.cpp
+++ b/indra/llcommon/StackWalker.cpp
@@ -904,7 +904,7 @@ bool StackWalker::LoadModules()
SetLastError(ERROR_DLL_INIT_FAILED);
return false;
}
- if (m_modulesLoaded != FALSE)
+ if (m_modulesLoaded)
return true;
// Build the sym-path:
diff --git a/indra/llcommon/ctype_workaround.h b/indra/llcommon/ctype_workaround.h
deleted file mode 100644
index 89a47fe3db..0000000000
--- a/indra/llcommon/ctype_workaround.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * @file ctype_workaround.h
- * @brief The workaround is to create some legacy symbols that point
- * to the correct symbols, which avoids link errors.
- *
- * $LicenseInfo:firstyear=2006&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$
- */
-
-#ifndef _CTYPE_WORKAROUND_H_
-#define _CTYPE_WORKAROUND_H_
-
-/**
- * the CTYPE_WORKAROUND is needed for linux dev stations that don't
- * have the broken libc6 packages needed by our out-of-date static
- * libs (such as libcrypto and libcurl).
- *
- * -- Leviathan 20060113
-*/
-
-#include <cctype>
-
-__const unsigned short int *__ctype_b;
-__const __int32_t *__ctype_tolower;
-__const __int32_t *__ctype_toupper;
-
-// call this function at the beginning of main()
-void ctype_workaround()
-{
- __ctype_b = *(__ctype_b_loc());
- __ctype_toupper = *(__ctype_toupper_loc());
- __ctype_tolower = *(__ctype_tolower_loc());
-}
-
-#endif
-
diff --git a/indra/llcommon/fix_macros.h b/indra/llcommon/fix_macros.h
deleted file mode 100644
index ed6c26a371..0000000000
--- a/indra/llcommon/fix_macros.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * @file fix_macros.h
- * @author Nat Goodspeed
- * @date 2012-11-16
- * @brief The Mac system headers seem to #define macros with obnoxiously
- * generic names, preventing any library from using those names. We've
- * had to fix these in so many places that it's worth making a header
- * file to handle it.
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Copyright (c) 2012, Linden Research, Inc.
- * $/LicenseInfo$
- */
-
-// DON'T use an #include guard: every time we encounter this header, #undef
-// these macros all over again.
-
-// who injects MACROS with such generic names?! Grr.
-#ifdef check
-#undef check
-#endif
diff --git a/indra/llcommon/llapr.h b/indra/llcommon/llapr.h
index 11e474b5dd..0e1e4277e7 100644
--- a/indra/llcommon/llapr.h
+++ b/indra/llcommon/llapr.h
@@ -40,7 +40,7 @@
#include "llstring.h"
-#include "mutex.h"
+#include <mutex>
struct apr_dso_handle_t;
/**
diff --git a/indra/llcommon/llbase32.cpp b/indra/llcommon/llbase32.cpp
deleted file mode 100644
index 979114fe86..0000000000
--- a/indra/llcommon/llbase32.cpp
+++ /dev/null
@@ -1,238 +0,0 @@
-/**
- * @file llbase32.cpp
- * @brief base32 encoding that returns a std::string
- * @author James Cook
- *
- * Based on code from bitter
- * http://ghostwhitecrab.com/bitter/
- *
- * Some parts of this file are:
- * $LicenseInfo:firstyear=2007&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$
- */
-
-/**
- * Copyright (c) 2006 Christian Biere <christianbiere@gmx.de>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the authors nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include "linden_common.h"
-
-#include "llbase32.h"
-
-#include <string>
-
-// bitter - base32.c starts here
-
-/*
- * See RFC 3548 for details about Base 32 encoding:
- * http://www.faqs.org/rfcs/rfc3548.html
- */
-
-static const char base32_alphabet[32] = {
- 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
- 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
- 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
- 'Y', 'Z', '2', '3', '4', '5', '6', '7'
-};
-
-size_t
-base32_encode(char *dst, size_t size, const void *data, size_t len)
-{
- size_t i = 0;
- const U8 *p = (const U8*)data;
- const char *end = &dst[size];
- char *q = dst;
-
- do {
- size_t j, k;
- U8 x[5];
- char s[8];
-
- switch (len - i) {
- case 4: k = 7; break;
- case 3: k = 5; break;
- case 2: k = 3; break;
- case 1: k = 2; break;
- default:
- k = 8;
- }
-
- for (j = 0; j < 5; j++)
- x[j] = i < len ? p[i++] : 0;
-
-/*
- +-------+-----------+--------+
- | target| source | source |
- | byte | bits | byte |
- +-------+-----------+--------+
- | 0 | 7 6 5 4 3 | 0 |
- | 1 | 2 1 0 7 6 | 0-1 |
- | 2 | 5 4 3 2 1 | 1 |
- | 3 | 0 7 6 5 4 | 1-2 |
- | 4 | 3 2 1 0 7 | 2-3 |
- | 5 | 6 5 4 3 2 | 3 |
- | 6 | 1 0 7 6 5 | 3-4 |
- | 7 | 4 3 2 1 0 | 4 |
- +-------+-----------+--------+
-
-*/
-
- s[0] = (x[0] >> 3);
- s[1] = ((x[0] & 0x07) << 2) | (x[1] >> 6);
- s[2] = (x[1] >> 1) & 0x1f;
- s[3] = ((x[1] & 0x01) << 4) | (x[2] >> 4);
- s[4] = ((x[2] & 0x0f) << 1) | (x[3] >> 7);
- s[5] = (x[3] >> 2) & 0x1f;
- s[6] = ((x[3] & 0x03) << 3) | (x[4] >> 5);
- s[7] = x[4] & 0x1f;
-
- for (j = 0; j < k && q != end; j++)
- *q++ = base32_alphabet[(U8) s[j]];
-
- } while (i < len);
-
- return q - dst;
-}
-
-/* *TODO: Implement base32 encode.
-
-static inline int
-ascii_toupper(int c)
-{
- return c >= 97 && c <= 122 ? c - 32 : c;
-}
-
-static inline int
-ascii_tolower(int c)
-{
- return c >= 65 && c <= 90 ? c + 32 : c;
-}
-
-
-static char base32_map[(unsigned char) -1];
-
-size_t
-base32_decode(char *dst, size_t size, const void *data, size_t len)
-{
- const char *end = &dst[size];
- const unsigned char *p = data;
- char *q = dst;
- size_t i;
- unsigned max_pad = 3;
-
- if (0 == base32_map[0]) {
- for (i = 0; i < LL_ARRAY_SIZE(base32_map); i++) {
- const char *x;
-
- x = memchr(base32_alphabet, ascii_toupper(i), sizeof base32_alphabet);
- base32_map[i] = x ? (x - base32_alphabet) : (unsigned char) -1;
- }
- }
-
- for (i = 0; i < len && max_pad > 0; i++) {
- unsigned char c;
- char s[8];
- size_t j;
-
- c = p[i];
- if ('=' == c) {
- max_pad--;
- c = 0;
- } else {
- c = base32_map[c];
- if ((unsigned char) -1 == c) {
- return -1;
- }
- }
-
- j = i % LL_ARRAY_SIZE(s);
- s[j] = c;
-
- if (7 == j) {
- char b[5];
-
- b[0] = ((s[0] << 3) & 0xf8) | ((s[1] >> 2) & 0x07);
- b[1] = ((s[1] & 0x03) << 6) | ((s[2] & 0x1f) << 1) | ((s[3] >> 4) & 1);
- b[2] = ((s[3] & 0x0f) << 4) | ((s[4] >> 1) & 0x0f);
- b[3] = ((s[4] & 1) << 7) | ((s[5] & 0x1f) << 2) | ((s[6] >> 3) & 0x03);
- b[4] = ((s[6] & 0x07) << 5) | (s[7] & 0x1f);
-
- for (j = 0; j < LL_ARRAY_SIZE(b); j++) {
- if (q != end)
- *q = b[j];
- q++;
- }
- }
- }
-
- return q - dst;
-}
-*/
-
-
-// The following is
-// Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
-// static
-std::string LLBase32::encode(const U8* input, size_t input_size)
-{
- std::string output;
- if (input)
- {
- // Each 5 byte chunk of input is represented by an
- // 8 byte chunk of output.
- size_t input_chunks = (input_size + 4) / 5;
- size_t output_size = input_chunks * 8;
-
- output.resize(output_size);
-
- size_t encoded = base32_encode(&output[0], output_size, input, input_size);
-
- LL_INFOS() << "encoded " << encoded << " into buffer of size "
- << output_size << LL_ENDL;
- }
- return output;
-}
diff --git a/indra/llcommon/llbase32.h b/indra/llcommon/llbase32.h
deleted file mode 100644
index 8cfbd7ef53..0000000000
--- a/indra/llcommon/llbase32.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * @file llbase32.h
- * @brief base32 encoding that returns a std::string
- * @author James Cook
- *
- * $LicenseInfo:firstyear=2007&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$
- */
-
-#ifndef LLBASE32_H
-#define LLBASE32_H
-
-class LL_COMMON_API LLBase32
-{
-public:
- static std::string encode(const U8* input, size_t input_size);
-};
-
-#endif
diff --git a/indra/llcommon/llcond.h b/indra/llcommon/llcond.h
index 2df1719941..b72ea33dea 100644
--- a/indra/llcommon/llcond.h
+++ b/indra/llcommon/llcond.h
@@ -17,7 +17,7 @@
#include "llunits.h"
#include "llcoros.h"
#include LLCOROS_MUTEX_HEADER
-#include "mutex.h"
+#include <mutex>
#include <chrono>
/**
diff --git a/indra/llcommon/llcoros.h b/indra/llcommon/llcoros.h
index 9df52b6ed5..602c65b9ba 100644
--- a/indra/llcommon/llcoros.h
+++ b/indra/llcommon/llcoros.h
@@ -34,10 +34,10 @@
#include <boost/fiber/future/future.hpp>
#include <boost/fiber/future/promise.hpp>
#include <boost/fiber/recursive_mutex.hpp>
-#include "mutex.h"
#include "llsingleton.h"
#include "llinstancetracker.h"
#include <functional>
+#include <mutex>
#include <string>
#include <exception>
#include <queue>
diff --git a/indra/llcommon/llfixedbuffer.h b/indra/llcommon/llfixedbuffer.h
index 1234d2014f..d2cd660c18 100644
--- a/indra/llcommon/llfixedbuffer.h
+++ b/indra/llcommon/llfixedbuffer.h
@@ -27,7 +27,7 @@
#ifndef LL_LLFIXEDBUFFER_H
#define LL_LLFIXEDBUFFER_H
-#include "timer.h"
+#include "lltimer.h"
#include <deque>
#include <string>
#include "llstring.h"
diff --git a/indra/llcommon/llinstancetracker.h b/indra/llcommon/llinstancetracker.h
index 5a7f27e688..734365767d 100644
--- a/indra/llcommon/llinstancetracker.h
+++ b/indra/llcommon/llinstancetracker.h
@@ -37,7 +37,7 @@
#include <memory>
#include <type_traits>
-#include "mutex.h"
+#include <mutex>
#include <boost/iterator/transform_iterator.hpp>
#include <boost/iterator/indirect_iterator.hpp>
diff --git a/indra/llcommon/llmutex.h b/indra/llcommon/llmutex.h
index f3615a1270..bc3d8fed06 100644
--- a/indra/llcommon/llmutex.h
+++ b/indra/llcommon/llmutex.h
@@ -30,7 +30,7 @@
#include "stdtypes.h"
#include "llthread.h"
-#include "mutex.h"
+#include <mutex>
#include <shared_mutex>
#include <unordered_map>
#include <condition_variable>
diff --git a/indra/llcommon/llsdjson.cpp b/indra/llcommon/llsdjson.cpp
index 542a3c26e3..9abca48670 100644
--- a/indra/llcommon/llsdjson.cpp
+++ b/indra/llcommon/llsdjson.cpp
@@ -26,7 +26,6 @@
// Must turn on conditional declarations in header file so definitions end up
// with proper linkage.
-#define LLSD_DEBUG_INFO
#include "linden_common.h"
#include "llsdjson.h"
diff --git a/indra/llcommon/llsingleton.h b/indra/llcommon/llsingleton.h
index 3fba8602ee..81e69ab63c 100644
--- a/indra/llcommon/llsingleton.h
+++ b/indra/llcommon/llsingleton.h
@@ -30,7 +30,7 @@
#include <list>
#include <typeinfo>
#include <vector>
-#include "mutex.h"
+#include <mutex>
#include "lockstatic.h"
#include "llthread.h" // on_main_thread()
#include "llmainthreadtask.h"
diff --git a/indra/llcommon/llstreamqueue.cpp b/indra/llcommon/llstreamqueue.cpp
deleted file mode 100644
index 981d913749..0000000000
--- a/indra/llcommon/llstreamqueue.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * @file llstreamqueue.cpp
- * @author Nat Goodspeed
- * @date 2012-01-05
- * @brief Implementation for llstreamqueue.
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Copyright (c) 2012, Linden Research, Inc.
- * $/LicenseInfo$
- */
-
-// Precompiled header
-#include "linden_common.h"
-// associated header
-#include "llstreamqueue.h"
-// STL headers
-// std headers
-// external library headers
-// other Linden headers
-
-// As of this writing, llstreamqueue.h is entirely template-based, therefore
-// we don't strictly need a corresponding .cpp file. However, our CMake test
-// macro assumes one. Here it is.
-bool llstreamqueue_cpp_ignored = true;
diff --git a/indra/llcommon/llstreamqueue.h b/indra/llcommon/llstreamqueue.h
deleted file mode 100644
index 01689457dd..0000000000
--- a/indra/llcommon/llstreamqueue.h
+++ /dev/null
@@ -1,240 +0,0 @@
-/**
- * @file llstreamqueue.h
- * @author Nat Goodspeed
- * @date 2012-01-04
- * @brief Definition of LLStreamQueue
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Copyright (c) 2012, Linden Research, Inc.
- * $/LicenseInfo$
- */
-
-#if ! defined(LL_LLSTREAMQUEUE_H)
-#define LL_LLSTREAMQUEUE_H
-
-#include <string>
-#include <list>
-#include <iosfwd> // std::streamsize
-#include <boost/iostreams/categories.hpp>
-
-/**
- * This class is a growable buffer between a producer and consumer. It serves
- * as a queue usable with Boost.Iostreams -- hence, a "stream queue."
- *
- * This is especially useful for buffering nonblocking I/O. For instance, we
- * want application logic to be able to serialize LLSD to a std::ostream. We
- * may write more data than the destination pipe can handle all at once, but
- * it's imperative NOT to block the application-level serialization call. So
- * we buffer it instead. Successive frames can try nonblocking writes to the
- * destination pipe until all buffered data has been sent.
- *
- * Similarly, we want application logic be able to deserialize LLSD from a
- * std::istream. Again, we must not block that deserialize call waiting for
- * more data to arrive from the input pipe! Instead we build up a buffer over
- * a number of frames, using successive nonblocking reads, until we have
- * "enough" data to be able to present it through a std::istream.
- *
- * @note The use cases for this class overlap somewhat with those for the
- * LLIOPipe/LLPumpIO hierarchies, and indeed we considered using those. This
- * class has two virtues over the older machinery:
- *
- * # It's vastly simpler -- way fewer concepts. It's not clear to me whether
- * there were ever LLIOPipe/etc. use cases that demanded all the fanciness
- * rolled in, or whether they were simply overdesigned. In any case, no
- * remaining Lindens will admit to familiarity with those classes -- and
- * they're sufficiently obtuse that it would take considerable learning
- * curve to figure out how to use them properly. The bottom line is that
- * current management is not keen on any more engineers climbing that curve.
- * # This class is designed around available components such as std::string,
- * std::list, Boost.Iostreams. There's less proprietary code.
- */
-template <typename Ch>
-class LLGenericStreamQueue
-{
-public:
- LLGenericStreamQueue():
- mSize(0),
- mClosed(false)
- {}
-
- /**
- * Boost.Iostreams Source Device facade for use with other Boost.Iostreams
- * functionality. LLGenericStreamQueue doesn't quite fit any of the Boost
- * 1.48 Iostreams concepts; instead it behaves as both a Sink and a
- * Source. This is its Source facade.
- */
- struct Source
- {
- typedef Ch char_type;
- typedef boost::iostreams::source_tag category;
-
- /// Bind the underlying LLGenericStreamQueue
- Source(LLGenericStreamQueue& sq):
- mStreamQueue(sq)
- {}
-
- // Read up to n characters from the underlying data source into the
- // buffer s, returning the number of characters read; return -1 to
- // indicate EOF
- std::streamsize read(Ch* s, std::streamsize n)
- {
- return mStreamQueue.read(s, n);
- }
-
- LLGenericStreamQueue& mStreamQueue;
- };
-
- /**
- * Boost.Iostreams Sink Device facade for use with other Boost.Iostreams
- * functionality. LLGenericStreamQueue doesn't quite fit any of the Boost
- * 1.48 Iostreams concepts; instead it behaves as both a Sink and a
- * Source. This is its Sink facade.
- */
- struct Sink
- {
- typedef Ch char_type;
- typedef boost::iostreams::sink_tag category;
-
- /// Bind the underlying LLGenericStreamQueue
- Sink(LLGenericStreamQueue& sq):
- mStreamQueue(sq)
- {}
-
- /// Write up to n characters from the buffer s to the output sequence,
- /// returning the number of characters written
- std::streamsize write(const Ch* s, std::streamsize n)
- {
- return mStreamQueue.write(s, n);
- }
-
- /// Send EOF to consumer
- void close()
- {
- mStreamQueue.close();
- }
-
- LLGenericStreamQueue& mStreamQueue;
- };
-
- /// Present Boost.Iostreams Source facade
- Source asSource() { return Source(*this); }
- /// Present Boost.Iostreams Sink facade
- Sink asSink() { return Sink(*this); }
-
- /// append data to buffer
- std::streamsize write(const Ch* s, std::streamsize n)
- {
- // Unclear how often we might be asked to write 0 bytes -- perhaps a
- // naive caller responding to an unready nonblocking read. But if we
- // do get such a call, don't add a completely empty BufferList entry.
- if (n == 0)
- return n;
- // We could implement this using a single std::string object, a la
- // ostringstream. But the trouble with appending to a string is that
- // you might have to recopy all previous contents to grow its size. If
- // we want this to scale to large data volumes, better to allocate
- // individual pieces.
- mBuffer.push_back(string(s, n));
- mSize += n;
- return n;
- }
-
- /**
- * Inform this LLGenericStreamQueue that no further data are forthcoming.
- * For our purposes, close() is strictly a producer-side operation;
- * there's little point in closing the consumer side.
- */
- void close()
- {
- mClosed = true;
- }
-
- /// consume data from buffer
- std::streamsize read(Ch* s, std::streamsize n)
- {
- // read() is actually a convenience method for peek() followed by
- // skip().
- std::streamsize got(peek(s, n));
- // We can only skip() as many characters as we can peek(); ignore
- // skip() return here.
- skip(n);
- return got;
- }
-
- /// Retrieve data from buffer without consuming. Like read(), return -1 on
- /// EOF.
- std::streamsize peek(Ch* s, std::streamsize n) const;
-
- /// Consume data from buffer without retrieving. Unlike read() and peek(),
- /// at EOF we simply skip 0 characters.
- std::streamsize skip(std::streamsize n);
-
- /// How many characters do we currently have buffered?
- std::streamsize size() const
- {
- return mSize;
- }
-
-private:
- typedef std::basic_string<Ch> string;
- typedef std::list<string> BufferList;
- BufferList mBuffer;
- std::streamsize mSize;
- bool mClosed;
-};
-
-template <typename Ch>
-std::streamsize LLGenericStreamQueue<Ch>::peek(Ch* s, std::streamsize n) const
-{
- // Here we may have to build up 'n' characters from an arbitrary
- // number of individual BufferList entries.
- typename BufferList::const_iterator bli(mBuffer.begin()), blend(mBuffer.end());
- // Indicate EOF if producer has closed the pipe AND we've exhausted
- // all previously-buffered data.
- if (mClosed && bli == blend)
- {
- return -1;
- }
- // Here either producer hasn't yet closed, or we haven't yet exhausted
- // remaining data.
- std::streamsize needed(n), got(0);
- // Loop until either we run out of BufferList entries or we've
- // completely satisfied the request.
- for ( ; bli != blend && needed; ++bli)
- {
- std::streamsize chunk(std::min(needed, std::streamsize(bli->length())));
- std::copy(bli->begin(), bli->begin() + chunk, s);
- needed -= chunk;
- s += chunk;
- got += chunk;
- }
- return got;
-}
-
-template <typename Ch>
-std::streamsize LLGenericStreamQueue<Ch>::skip(std::streamsize n)
-{
- typename BufferList::iterator bli(mBuffer.begin()), blend(mBuffer.end());
- std::streamsize toskip(n), skipped(0);
- while (bli != blend && (size_t)toskip >= bli->length())
- {
- std::streamsize chunk(bli->length());
- typename BufferList::iterator zap(bli++);
- mBuffer.erase(zap);
- mSize -= chunk;
- toskip -= chunk;
- skipped += chunk;
- }
- if (bli != blend && toskip)
- {
- bli->erase(bli->begin(), bli->begin() + toskip);
- mSize -= toskip;
- skipped += toskip;
- }
- return skipped;
-}
-
-typedef LLGenericStreamQueue<char> LLStreamQueue;
-typedef LLGenericStreamQueue<wchar_t> LLWStreamQueue;
-
-#endif /* ! defined(LL_LLSTREAMQUEUE_H) */
diff --git a/indra/llcommon/llthreadsafequeue.h b/indra/llcommon/llthreadsafequeue.h
index 1a1d06a6fd..2a18b4a438 100644
--- a/indra/llcommon/llthreadsafequeue.h
+++ b/indra/llcommon/llthreadsafequeue.h
@@ -32,7 +32,7 @@
#include <boost/fiber/timed_mutex.hpp>
#include LLCOROS_CONDVAR_HEADER
#include "llexception.h"
-#include "mutex.h"
+#include <mutex>
#include <chrono>
#include <queue>
#include <string>
diff --git a/indra/llcommon/lockstatic.h b/indra/llcommon/lockstatic.h
index 7cc9b7eec0..db4c7af0ec 100644
--- a/indra/llcommon/lockstatic.h
+++ b/indra/llcommon/lockstatic.h
@@ -13,7 +13,7 @@
#if ! defined(LL_LOCKSTATIC_H)
#define LL_LOCKSTATIC_H
-#include "mutex.h" // std::unique_lock
+#include <mutex> // std::unique_lock
namespace llthread
{
diff --git a/indra/llcommon/mutex.h b/indra/llcommon/mutex.h
deleted file mode 100644
index 82e46315e2..0000000000
--- a/indra/llcommon/mutex.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * @file mutex.h
- * @author Nat Goodspeed
- * @date 2019-12-03
- * @brief Wrap <mutex> in odious boilerplate
- *
- * $LicenseInfo:firstyear=2019&license=viewerlgpl$
- * Copyright (c) 2019, Linden Research, Inc.
- * $/LicenseInfo$
- */
-
-#if LL_WINDOWS
-#pragma warning (push)
-#pragma warning (disable:4265)
-#endif
-// warning C4265: 'std::_Pad' : class has virtual functions, but destructor is not virtual
-
-#include <mutex>
-
-#if LL_WINDOWS
-#pragma warning (pop)
-#endif
diff --git a/indra/llcommon/tests/llallocator_heap_profile_test.cpp b/indra/llcommon/tests/llallocator_heap_profile_test.cpp
deleted file mode 100644
index da8b54ffc0..0000000000
--- a/indra/llcommon/tests/llallocator_heap_profile_test.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-/**
- * @file llallocator_heap_profile_test.cpp
- * @author Brad Kittenbrink
- * @date 2008-02-
- * @brief Test for llallocator_heap_profile.cpp.
- *
- * $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 "../llallocator_heap_profile.h"
-#include "../test/lltut.h"
-
-namespace tut
-{
- struct llallocator_heap_profile_data
- {
- LLAllocatorHeapProfile prof;
-
- static char const * const sample_win_profile;
- // *TODO - get test output from mac/linux tcmalloc
- static char const * const sample_mac_profile;
- static char const * const sample_lin_profile;
-
- static char const * const crash_testcase;
- };
- typedef test_group<llallocator_heap_profile_data> factory;
- typedef factory::object object;
-}
-namespace
-{
- tut::factory llallocator_heap_profile_test_factory("LLAllocatorHeapProfile");
-}
-
-namespace tut
-{
- template<> template<>
- void object::test<1>()
- {
- prof.parse(sample_win_profile);
-
- ensure_equals("count lines", prof.mLines.size() , 5);
- ensure_equals("alloc counts", prof.mLines[0].mLiveCount, 2131854U);
- ensure_equals("alloc counts", prof.mLines[0].mLiveSize, 2245710106ULL);
- ensure_equals("alloc counts", prof.mLines[0].mTotalCount, 14069198U);
- ensure_equals("alloc counts", prof.mLines[0].mTotalSize, 4295177308ULL);
- ensure_equals("count markers", prof.mLines[0].mTrace.size(), 0);
- ensure_equals("count markers", prof.mLines[1].mTrace.size(), 0);
- ensure_equals("count markers", prof.mLines[2].mTrace.size(), 4);
- ensure_equals("count markers", prof.mLines[3].mTrace.size(), 6);
- ensure_equals("count markers", prof.mLines[4].mTrace.size(), 7);
-
- //prof.dump(std::cout);
- }
-
- template<> template<>
- void object::test<2>()
- {
- prof.parse(crash_testcase);
-
- ensure_equals("count lines", prof.mLines.size(), 2);
- ensure_equals("alloc counts", prof.mLines[0].mLiveCount, 3U);
- ensure_equals("alloc counts", prof.mLines[0].mLiveSize, 1049652ULL);
- ensure_equals("alloc counts", prof.mLines[0].mTotalCount, 8U);
- ensure_equals("alloc counts", prof.mLines[0].mTotalSize, 1049748ULL);
- ensure_equals("count markers", prof.mLines[0].mTrace.size(), 0);
- ensure_equals("count markers", prof.mLines[1].mTrace.size(), 0);
-
- //prof.dump(std::cout);
- }
-
- template<> template<>
- void object::test<3>()
- {
- // test that we don't crash on edge case data
- prof.parse("");
- ensure("emtpy on error", prof.mLines.empty());
-
- prof.parse("heap profile:");
- ensure("emtpy on error", prof.mLines.empty());
- }
-
-char const * const llallocator_heap_profile_data::sample_win_profile =
-"heap profile: 2131854: 2245710106 [14069198: 4295177308] @\n"
-"308592: 1073398388 [966564: 1280998739] @\n"
-"462651: 375969538 [1177377: 753561247] @ 2 3 6 1\n"
-"314744: 206611283 [2008722: 570934755] @ 2 3 3 7 21 32\n"
-"277152: 82862770 [621961: 168503640] @ 2 3 3 7 21 32 87\n"
-"\n"
-"MAPPED_LIBRARIES:\n"
-"00400000-02681000 r-xp 00000000 00:00 0 c:\\proj\\tcmalloc-eval-9\\indra\\build-vc80\\newview\\RelWithDebInfo\\secondlife-bin.exe\n"
-"77280000-773a7000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\ntdll.dll\n"
-"76df0000-76ecb000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\kernel32.dll\n"
-"76000000-76073000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\comdlg32.dll\n"
-"75ee0000-75f8a000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\msvcrt.dll\n"
-"76c30000-76c88000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\SHLWAPI.dll\n"
-"75f90000-75fdb000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\GDI32.dll\n"
-"77420000-774bd000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\USER32.dll\n"
-"75e10000-75ed6000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\ADVAPI32.dll\n"
-"75b00000-75bc2000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\RPCRT4.dll\n"
-"72ca0000-72d25000 r-xp 00000000 00:00 0 C:\\Windows\\WinSxS\\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.6001.18000_none_886786f450a74a05\\COMCTL32.dll\n"
-"76120000-76c30000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\SHELL32.dll\n"
-"71ce0000-71d13000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\DINPUT8.dll\n";
-
-
-char const * const llallocator_heap_profile_data::crash_testcase =
-"heap profile: 3: 1049652 [ 8: 1049748] @\n"
-" 3: 1049652 [ 8: 1049748] @\n"
-"\n"
-"MAPPED_LIBRARIES:\n"
-"00400000-004d5000 r-xp 00000000 00:00 0 c:\\code\\linden\\tcmalloc\\indra\\build-vc80\\llcommon\\RelWithDebInfo\\llallocator_test.exe\n"
-"7c900000-7c9af000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\ntdll.dll\n"
-"7c800000-7c8f6000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\kernel32.dll\n"
-"77dd0000-77e6b000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\ADVAPI32.dll\n"
-"77e70000-77f02000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\RPCRT4.dll\n"
-"77fe0000-77ff1000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\Secur32.dll\n"
-"71ab0000-71ac7000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\WS2_32.dll\n"
-"77c10000-77c68000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\msvcrt.dll\n"
-"71aa0000-71aa8000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\WS2HELP.dll\n"
-"76bf0000-76bfb000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\PSAPI.DLL\n"
-"5b860000-5b8b5000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\NETAPI32.dll\n"
-"10000000-10041000 r-xp 00000000 00:00 0 c:\\code\\linden\\tcmalloc\\indra\\build-vc80\\llcommon\\RelWithDebInfo\\libtcmalloc_minimal.dll\n"
-"7c420000-7c4a7000 r-xp 00000000 00:00 0 C:\\WINDOWS\\WinSxS\\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.1433_x-ww_5cf844d2\\MSVCP80.dll\n"
-"78130000-781cb000 r-xp 00000000 00:00 0 C:\\WINDOWS\\WinSxS\\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.1433_x-ww_5cf844d2\\MSVCR80.dll\n";
-
-}
diff --git a/indra/llcommon/tests/llallocator_test.cpp b/indra/llcommon/tests/llallocator_test.cpp
deleted file mode 100644
index a7573641c7..0000000000
--- a/indra/llcommon/tests/llallocator_test.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * @file llallocator_test.cpp
- * @author Brad Kittenbrink
- * @date 2008-02-
- * @brief Test for llallocator.cpp.
- *
- * $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 "../llallocator.h"
-#include "../test/lltut.h"
-
-namespace tut
-{
- struct llallocator_data
- {
- LLAllocator llallocator;
- };
- typedef test_group<llallocator_data> factory;
- typedef factory::object object;
-}
-namespace
-{
- tut::factory llallocator_test_factory("LLAllocator");
-}
-
-namespace tut
-{
- template<> template<>
- void object::test<1>()
- {
- llallocator.setProfilingEnabled(false);
- ensure("Profiler disable", !llallocator.isProfiling());
- }
-
-#if LL_USE_TCMALLOC
- template<> template<>
- void object::test<2>()
- {
- llallocator.setProfilingEnabled(true);
- ensure("Profiler enable", llallocator.isProfiling());
- }
-
- template <> template <>
- void object::test<3>()
- {
- llallocator.setProfilingEnabled(true);
-
- char * test_alloc = new char[1024];
-
- llallocator.getProfile();
-
- delete [] test_alloc;
-
- llallocator.getProfile();
-
- // *NOTE - this test isn't ensuring anything right now other than no
- // exceptions are thrown.
- }
-#endif // LL_USE_TCMALLOC
-};
diff --git a/indra/test/llapp_tut.cpp b/indra/llcommon/tests/llapp_test.cpp
index 114af6edbf..114af6edbf 100644
--- a/indra/test/llapp_tut.cpp
+++ b/indra/llcommon/tests/llapp_test.cpp
diff --git a/indra/test/lldoubledispatch_tut.cpp b/indra/llcommon/tests/lldoubledispatch_test.cpp
index 79c4edc058..79c4edc058 100644
--- a/indra/test/lldoubledispatch_tut.cpp
+++ b/indra/llcommon/tests/lldoubledispatch_test.cpp
diff --git a/indra/test/llevents_tut.cpp b/indra/llcommon/tests/llevents_test.cpp
index c5d5dcb9d4..c5d5dcb9d4 100644
--- a/indra/test/llevents_tut.cpp
+++ b/indra/llcommon/tests/llevents_test.cpp
diff --git a/indra/test/llhttpdate_tut.cpp b/indra/llcommon/tests/llhttpdate_test.cpp
index b580b09a9f..b580b09a9f 100644
--- a/indra/test/llhttpdate_tut.cpp
+++ b/indra/llcommon/tests/llhttpdate_test.cpp
diff --git a/indra/llcommon/tests/lllazy_test.cpp b/indra/llcommon/tests/lllazy_test.cpp
deleted file mode 100644
index 923fe952a9..0000000000
--- a/indra/llcommon/tests/lllazy_test.cpp
+++ /dev/null
@@ -1,239 +0,0 @@
-/**
- * @file lllazy_test.cpp
- * @author Nat Goodspeed
- * @date 2009-01-28
- * @brief Tests of lllazy.h.
- *
- * $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$
- */
-
-// Precompiled header
-#include "linden_common.h"
-// associated header
-#include "lllazy.h"
-// STL headers
-#include <iostream>
-// std headers
-// external library headers
-#include <boost/lambda/construct.hpp>
-#include <boost/lambda/bind.hpp>
-// other Linden headers
-#include "../test/lltut.h"
-#include "../test/catch_and_store_what_in.h"
-
-namespace bll = boost::lambda;
-
-/*****************************************************************************
-* Test classes
-*****************************************************************************/
-
-// Let's say that because of its many external dependencies, YuckyFoo is very
-// hard to instantiate in a test harness.
-class YuckyFoo
-{
-public:
- virtual ~YuckyFoo() {}
- virtual std::string whoami() const { return "YuckyFoo"; }
-};
-
-// Let's further suppose that YuckyBar is another hard-to-instantiate class.
-class YuckyBar
-{
-public:
- YuckyBar(const std::string& which):
- mWhich(which)
- {}
- virtual ~YuckyBar() {}
-
- virtual std::string identity() const { return std::string("YuckyBar(") + mWhich + ")"; }
-
-private:
- const std::string mWhich;
-};
-
-// Pretend that this class would be tough to test because, up until we started
-// trying to test it, it contained instances of both YuckyFoo and YuckyBar.
-// Now we've refactored so it contains LLLazy<YuckyFoo> and LLLazy<YuckyBar>.
-// More than that, it contains them by virtue of deriving from
-// LLLazyBase<YuckyFoo> and LLLazyBase<YuckyBar>.
-// We postulate two different LLLazyBases because, with only one, you need not
-// specify *which* get()/set() method you're talking about. That's a simpler
-// case.
-class NeedsTesting: public LLLazyBase<YuckyFoo>, public LLLazyBase<YuckyBar>
-{
-public:
- NeedsTesting():
- // mYuckyBar("RealYuckyBar")
- LLLazyBase<YuckyBar>(bll::bind(bll::new_ptr<YuckyBar>(), "RealYuckyBar"))
- {}
- virtual ~NeedsTesting() {}
-
- virtual std::string describe() const
- {
- return std::string("NeedsTesting(") + getLazy<YuckyFoo>(this).whoami() + ", " +
- getLazy<YuckyBar>(this).identity() + ")";
- }
-
-private:
- // These instance members were moved to LLLazyBases:
- // YuckyFoo mYuckyFoo;
- // YuckyBar mYuckyBar;
-};
-
-// Fake up a test YuckyFoo class
-class TestFoo: public YuckyFoo
-{
-public:
- virtual std::string whoami() const { return "TestFoo"; }
-};
-
-// and a test YuckyBar
-class TestBar: public YuckyBar
-{
-public:
- TestBar(const std::string& which): YuckyBar(which) {}
- virtual std::string identity() const
- {
- return std::string("TestBar(") + YuckyBar::identity() + ")";
- }
-};
-
-// So here's a test subclass of NeedsTesting that uses TestFoo and TestBar
-// instead of YuckyFoo and YuckyBar.
-class TestNeedsTesting: public NeedsTesting
-{
-public:
- TestNeedsTesting()
- {
- // Exercise setLazy(T*)
- setLazy<YuckyFoo>(this, new TestFoo());
- // Exercise setLazy(Factory)
- setLazy<YuckyBar>(this, bll::bind(bll::new_ptr<TestBar>(), "TestYuckyBar"));
- }
-
- virtual std::string describe() const
- {
- return std::string("TestNeedsTesting(") + NeedsTesting::describe() + ")";
- }
-
- void toolate()
- {
- setLazy<YuckyFoo>(this, new TestFoo());
- }
-};
-
-// This class tests having an explicit LLLazy<T> instance as a named member,
-// rather than deriving from LLLazyBase<T>.
-class LazyMember
-{
-public:
- YuckyFoo& getYuckyFoo() { return *mYuckyFoo; }
- std::string whoisit() const { return mYuckyFoo->whoami(); }
-
-protected:
- LLLazy<YuckyFoo> mYuckyFoo;
-};
-
-// This is a test subclass of the above, dynamically replacing the
-// LLLazy<YuckyFoo> member.
-class TestLazyMember: public LazyMember
-{
-public:
- // use factory setter
- TestLazyMember()
- {
- mYuckyFoo.set(bll::new_ptr<TestFoo>());
- }
-
- // use instance setter
- TestLazyMember(YuckyFoo* instance)
- {
- mYuckyFoo.set(instance);
- }
-};
-
-/*****************************************************************************
-* TUT
-*****************************************************************************/
-namespace tut
-{
- struct lllazy_data
- {
- };
- typedef test_group<lllazy_data> lllazy_group;
- typedef lllazy_group::object lllazy_object;
- lllazy_group lllazygrp("lllazy");
-
- template<> template<>
- void lllazy_object::test<1>()
- {
- // Instantiate an official one, just because we can
- NeedsTesting nt;
- // and a test one
- TestNeedsTesting tnt;
-// std::cout << nt.describe() << '\n';
- ensure_equals(nt.describe(), "NeedsTesting(YuckyFoo, YuckyBar(RealYuckyBar))");
-// std::cout << tnt.describe() << '\n';
- ensure_equals(tnt.describe(),
- "TestNeedsTesting(NeedsTesting(TestFoo, TestBar(YuckyBar(TestYuckyBar))))");
- }
-
- template<> template<>
- void lllazy_object::test<2>()
- {
- TestNeedsTesting tnt;
- std::string threw = catch_what<LLLazyCommon::InstanceChange>([&tnt](){
- tnt.toolate();
- });
- ensure_contains("InstanceChange exception", threw, "replace LLLazy instance");
- }
-
- template<> template<>
- void lllazy_object::test<3>()
- {
- {
- LazyMember lm;
- // operator*() on-demand instantiation
- ensure_equals(lm.getYuckyFoo().whoami(), "YuckyFoo");
- }
- {
- LazyMember lm;
- // operator->() on-demand instantiation
- ensure_equals(lm.whoisit(), "YuckyFoo");
- }
- }
-
- template<> template<>
- void lllazy_object::test<4>()
- {
- {
- // factory setter
- TestLazyMember tlm;
- ensure_equals(tlm.whoisit(), "TestFoo");
- }
- {
- // instance setter
- TestLazyMember tlm(new TestFoo());
- ensure_equals(tlm.whoisit(), "TestFoo");
- }
- }
-} // namespace tut
diff --git a/indra/llcommon/tests/llmemtype_test.cpp b/indra/llcommon/tests/llmemtype_test.cpp
deleted file mode 100644
index 2d64d342ae..0000000000
--- a/indra/llcommon/tests/llmemtype_test.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * @file llmemtype_test.cpp
- * @author Palmer Truelson
- * @date 2008-03-
- * @brief Test for llmemtype.cpp.
- *
- * $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 "../llmemtype.h"
-#include "../test/lltut.h"
-#include "../llallocator.h"
-
-
-#include <stack>
-
-std::stack<S32> memTypeStack;
-
-void LLAllocator::pushMemType(S32 i)
-{
- memTypeStack.push(i);
-}
-
-S32 LLAllocator::popMemType(void)
-{
- S32 ret = memTypeStack.top();
- memTypeStack.pop();
- return ret;
-}
-
-namespace tut
-{
- struct llmemtype_data
- {
- };
-
- typedef test_group<llmemtype_data> factory;
- typedef factory::object object;
-}
-namespace
-{
- tut::factory llmemtype_test_factory("LLMemType");
-}
-
-namespace tut
-{
- template<> template<>
- void object::test<1>()
- {
- ensure("Simplest test ever", true);
- }
-
- // test with no scripts
- template<> template<>
- void object::test<2>()
- {
- {
- LLMemType m1(LLMemType::MTYPE_INIT);
- }
- ensure("Test that you can construct and destruct the mem type");
- }
-
- // test creation and stack testing
- template<> template<>
- void object::test<3>()
- {
- {
- ensure("Test that creation and destruction properly inc/dec the stack");
- ensure_equals(memTypeStack.size(), 0);
- {
- LLMemType m1(LLMemType::MTYPE_INIT);
- ensure_equals(memTypeStack.size(), 1);
- LLMemType m2(LLMemType::MTYPE_STARTUP);
- ensure_equals(memTypeStack.size(), 2);
- }
- ensure_equals(memTypeStack.size(), 0);
- }
- }
-
- // test with no scripts
- template<> template<>
- void object::test<4>()
- {
- // catch the begining and end
- std::string test_name = LLMemType::getNameFromID(LLMemType::MTYPE_INIT.mID);
- ensure_equals("Init name", test_name, "Init");
-
- std::string test_name2 = LLMemType::getNameFromID(LLMemType::MTYPE_VOLUME.mID);
- ensure_equals("Volume name", test_name2, "Volume");
-
- std::string test_name3 = LLMemType::getNameFromID(LLMemType::MTYPE_OTHER.mID);
- ensure_equals("Other name", test_name3, "Other");
-
- std::string test_name4 = LLMemType::getNameFromID(-1);
- ensure_equals("Invalid name", test_name4, "INVALID");
- }
-
-};
diff --git a/indra/test/llsd_new_tut.cpp b/indra/llcommon/tests/llsd_test.cpp
index cc084df045..9cc93bcd14 100644
--- a/indra/test/llsd_new_tut.cpp
+++ b/indra/llcommon/tests/llsd_test.cpp
@@ -26,9 +26,9 @@
*/
#define LLSD_DEBUG_INFO
-#include <tut/tut.hpp>
#include "linden_common.h"
#include "lltut.h"
+#include "llsd.h"
#include "llsdtraits.h"
#include "llstring.h"
diff --git a/indra/llcommon/tests/llsdserialize_test.cpp b/indra/llcommon/tests/llsdserialize_test.cpp
index ee315051d8..272eb55521 100644
--- a/indra/llcommon/tests/llsdserialize_test.cpp
+++ b/indra/llcommon/tests/llsdserialize_test.cpp
@@ -52,7 +52,7 @@ typedef U32 uint32_t;
#include "llformat.h"
#include "llmemorystream.h"
-#include "../test/hexdump.h"
+#include "hexdump.h"
#include "../test/lltut.h"
#include "../test/namedtempfile.h"
#include "stringize.h"
@@ -1921,12 +1921,12 @@ namespace tut
int bufflen{ static_cast<int>(buffstr.length()) };
out.write(reinterpret_cast<const char*>(&bufflen), sizeof(bufflen));
LL_DEBUGS() << "Wrote length: "
- << hexdump(reinterpret_cast<const char*>(&bufflen),
+ << LL::hexdump(reinterpret_cast<const char*>(&bufflen),
sizeof(bufflen))
<< LL_ENDL;
out.write(buffstr.c_str(), buffstr.length());
LL_DEBUGS() << "Wrote data: "
- << hexmix(buffstr.c_str(), buffstr.length())
+ << LL::hexmix(buffstr.c_str(), buffstr.length())
<< LL_ENDL;
}
}
diff --git a/indra/test/llsdutil_tut.cpp b/indra/llcommon/tests/llsdutil_test.cpp
index 4b25a02f30..4b25a02f30 100644
--- a/indra/test/llsdutil_tut.cpp
+++ b/indra/llcommon/tests/llsdutil_test.cpp
diff --git a/indra/llcommon/tests/llstreamqueue_test.cpp b/indra/llcommon/tests/llstreamqueue_test.cpp
deleted file mode 100644
index 82b451119e..0000000000
--- a/indra/llcommon/tests/llstreamqueue_test.cpp
+++ /dev/null
@@ -1,194 +0,0 @@
-/**
- * @file llstreamqueue_test.cpp
- * @author Nat Goodspeed
- * @date 2012-01-05
- * @brief Test for llstreamqueue.
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Copyright (c) 2012, Linden Research, Inc.
- * $/LicenseInfo$
- */
-
-// Precompiled header
-#include "linden_common.h"
-// associated header
-#include "llstreamqueue.h"
-// STL headers
-#include <vector>
-// other Linden headers
-#include "../test/lltut.h"
-#include "stringize.h"
-
-/*****************************************************************************
-* TUT
-*****************************************************************************/
-namespace tut
-{
- struct llstreamqueue_data
- {
- llstreamqueue_data():
- // we want a buffer with actual bytes in it, not an empty vector
- buffer(10)
- {}
- // As LLStreamQueue is merely a typedef for
- // LLGenericStreamQueue<char>, and no logic in LLGenericStreamQueue is
- // specific to the <char> instantiation, we're comfortable for now
- // testing only the narrow-char version.
- LLStreamQueue strq;
- // buffer for use in multiple tests
- std::vector<char> buffer;
- };
- typedef test_group<llstreamqueue_data> llstreamqueue_group;
- typedef llstreamqueue_group::object object;
- llstreamqueue_group llstreamqueuegrp("llstreamqueue");
-
- template<> template<>
- void object::test<1>()
- {
- set_test_name("empty LLStreamQueue");
- ensure_equals("brand-new LLStreamQueue isn't empty",
- strq.size(), 0);
- ensure_equals("brand-new LLStreamQueue returns data",
- strq.asSource().read(&buffer[0], buffer.size()), 0);
- strq.asSink().close();
- ensure_equals("closed empty LLStreamQueue not at EOF",
- strq.asSource().read(&buffer[0], buffer.size()), -1);
- }
-
- template<> template<>
- void object::test<2>()
- {
- set_test_name("one internal block, one buffer");
- LLStreamQueue::Sink sink(strq.asSink());
- ensure_equals("write(\"\")", sink.write("", 0), 0);
- ensure_equals("0 write should leave LLStreamQueue empty (size())",
- strq.size(), 0);
- ensure_equals("0 write should leave LLStreamQueue empty (peek())",
- strq.peek(&buffer[0], buffer.size()), 0);
- // The meaning of "atomic" is that it must be smaller than our buffer.
- std::string atomic("atomic");
- ensure("test data exceeds buffer", atomic.length() < buffer.size());
- ensure_equals(STRINGIZE("write(\"" << atomic << "\")"),
- sink.write(&atomic[0], atomic.length()), atomic.length());
- ensure_equals("size() after write()", strq.size(), atomic.length());
- size_t peeklen(strq.peek(&buffer[0], buffer.size()));
- ensure_equals(STRINGIZE("peek(\"" << atomic << "\")"),
- peeklen, atomic.length());
- ensure_equals(STRINGIZE("peek(\"" << atomic << "\") result"),
- std::string(buffer.begin(), buffer.begin() + peeklen), atomic);
- ensure_equals("size() after peek()", strq.size(), atomic.length());
- // peek() should not consume. Use a different buffer to prove it isn't
- // just leftover data from the first peek().
- std::vector<char> again(buffer.size());
- peeklen = size_t(strq.peek(&again[0], again.size()));
- ensure_equals(STRINGIZE("peek(\"" << atomic << "\") again"),
- peeklen, atomic.length());
- ensure_equals(STRINGIZE("peek(\"" << atomic << "\") again result"),
- std::string(again.begin(), again.begin() + peeklen), atomic);
- // now consume.
- std::vector<char> third(buffer.size());
- size_t readlen(strq.read(&third[0], third.size()));
- ensure_equals(STRINGIZE("read(\"" << atomic << "\")"),
- readlen, atomic.length());
- ensure_equals(STRINGIZE("read(\"" << atomic << "\") result"),
- std::string(third.begin(), third.begin() + readlen), atomic);
- ensure_equals("peek() after read()", strq.peek(&buffer[0], buffer.size()), 0);
- ensure_equals("size() after read()", strq.size(), 0);
- }
-
- template<> template<>
- void object::test<3>()
- {
- set_test_name("basic skip()");
- std::string lovecraft("lovecraft");
- ensure("test data exceeds buffer", lovecraft.length() < buffer.size());
- ensure_equals(STRINGIZE("write(\"" << lovecraft << "\")"),
- strq.write(&lovecraft[0], lovecraft.length()), lovecraft.length());
- size_t peeklen(strq.peek(&buffer[0], buffer.size()));
- ensure_equals(STRINGIZE("peek(\"" << lovecraft << "\")"),
- peeklen, lovecraft.length());
- ensure_equals(STRINGIZE("peek(\"" << lovecraft << "\") result"),
- std::string(buffer.begin(), buffer.begin() + peeklen), lovecraft);
- std::streamsize skip1(4);
- ensure_equals(STRINGIZE("skip(" << skip1 << ")"), strq.skip(skip1), skip1);
- ensure_equals("size() after skip()", strq.size(), lovecraft.length() - skip1);
- size_t readlen(strq.read(&buffer[0], buffer.size()));
- ensure_equals(STRINGIZE("read(\"" << lovecraft.substr(skip1) << "\")"),
- readlen, lovecraft.length() - skip1);
- ensure_equals(STRINGIZE("read(\"" << lovecraft.substr(skip1) << "\") result"),
- std::string(buffer.begin(), buffer.begin() + readlen),
- lovecraft.substr(skip1));
- ensure_equals("unconsumed", strq.read(&buffer[0], buffer.size()), 0);
- }
-
- template<> template<>
- void object::test<4>()
- {
- set_test_name("skip() multiple blocks");
- std::string blocks[] = { "books of ", "H.P. ", "Lovecraft" };
- std::streamsize total(blocks[0].length() + blocks[1].length() + blocks[2].length());
- std::streamsize leave(5); // len("craft") above
- std::streamsize skip(total - leave);
- std::streamsize written(0);
- for (const std::string& block : blocks)
- {
- written += strq.write(&block[0], block.length());
- ensure_equals("size() after write()", strq.size(), written);
- }
- std::streamsize skiplen(strq.skip(skip));
- ensure_equals(STRINGIZE("skip(" << skip << ")"), skiplen, skip);
- ensure_equals("size() after skip()", strq.size(), leave);
- size_t readlen(strq.read(&buffer[0], buffer.size()));
- ensure_equals("read(\"craft\")", readlen, leave);
- ensure_equals("read(\"craft\") result",
- std::string(buffer.begin(), buffer.begin() + readlen), "craft");
- }
-
- template<> template<>
- void object::test<5>()
- {
- set_test_name("concatenate blocks");
- std::string blocks[] = { "abcd", "efghij", "klmnopqrs" };
- for (const std::string& block : blocks)
- {
- strq.write(&block[0], block.length());
- }
- std::vector<char> longbuffer(30);
- std::streamsize readlen(strq.read(&longbuffer[0], longbuffer.size()));
- ensure_equals("read() multiple blocks",
- readlen, blocks[0].length() + blocks[1].length() + blocks[2].length());
- ensure_equals("read() multiple blocks result",
- std::string(longbuffer.begin(), longbuffer.begin() + readlen),
- blocks[0] + blocks[1] + blocks[2]);
- }
-
- template<> template<>
- void object::test<6>()
- {
- set_test_name("split blocks");
- std::string blocks[] = { "abcdefghijklm", "nopqrstuvwxyz" };
- for (const std::string& block : blocks)
- {
- strq.write(&block[0], block.length());
- }
- strq.close();
- // We've already verified what strq.size() should be at this point;
- // see above test named "skip() multiple blocks"
- std::streamsize chksize(strq.size());
- std::streamsize readlen(strq.read(&buffer[0], buffer.size()));
- ensure_equals("read() 0", readlen, buffer.size());
- ensure_equals("read() 0 result", std::string(buffer.begin(), buffer.end()), "abcdefghij");
- chksize -= readlen;
- ensure_equals("size() after read() 0", strq.size(), chksize);
- readlen = strq.read(&buffer[0], buffer.size());
- ensure_equals("read() 1", readlen, buffer.size());
- ensure_equals("read() 1 result", std::string(buffer.begin(), buffer.end()), "klmnopqrst");
- chksize -= readlen;
- ensure_equals("size() after read() 1", strq.size(), chksize);
- readlen = strq.read(&buffer[0], buffer.size());
- ensure_equals("read() 2", readlen, chksize);
- ensure_equals("read() 2 result",
- std::string(buffer.begin(), buffer.begin() + readlen), "uvwxyz");
- ensure_equals("read() 3", strq.read(&buffer[0], buffer.size()), -1);
- }
-} // namespace tut
diff --git a/indra/test/llstreamtools_tut.cpp b/indra/llcommon/tests/llstreamtools_test.cpp
index 970afb3b02..970afb3b02 100644
--- a/indra/test/llstreamtools_tut.cpp
+++ b/indra/llcommon/tests/llstreamtools_test.cpp
diff --git a/indra/llcommon/timer.h b/indra/llcommon/timer.h
deleted file mode 100644
index aaa0cf0775..0000000000
--- a/indra/llcommon/timer.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * @file timer.h
- * @brief Legacy wrapper header.
- *
- * $LicenseInfo:firstyear=2000&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 "lltimer.h"
diff --git a/indra/llcorehttp/_refcounted.h b/indra/llcorehttp/_refcounted.h
index 1a01d66d14..bc90f8274d 100644
--- a/indra/llcorehttp/_refcounted.h
+++ b/indra/llcorehttp/_refcounted.h
@@ -30,7 +30,6 @@
#include "linden_common.h"
-#include "fix_macros.h"
#include <boost/intrusive_ptr.hpp>
#include "llatomic.h"
diff --git a/indra/llcorehttp/tests/test_httprequest.hpp b/indra/llcorehttp/tests/test_httprequest.hpp
index 77ed8df066..68f8c4f71f 100644
--- a/indra/llcorehttp/tests/test_httprequest.hpp
+++ b/indra/llcorehttp/tests/test_httprequest.hpp
@@ -2744,13 +2744,6 @@ void HttpRequestTestObjectType::test<22>()
set_test_name("BUG-2295");
-#if LL_WINDOWS && ADDRESS_SIZE == 64
- // teamcity win64 builds freeze on this test, if you figure out the cause, please fix it
- if (getenv("TEAMCITY_PROJECT_NAME"))
- {
- skip("BUG-2295 - partial load on W64 causes freeze");
- }
-#endif
// Handler can be stack-allocated *if* there are no dangling
// references to it after completion of this method.
// Create before memory record as the string copy will bump numbers.
@@ -2924,14 +2917,6 @@ void HttpRequestTestObjectType::test<23>()
set_test_name("HttpRequest GET 503s with 'Retry-After'");
-#if LL_WINDOWS && ADDRESS_SIZE == 64
- // teamcity win64 builds freeze on this test, if you figure out the cause, please fix it
- if (getenv("TEAMCITY_PROJECT_NAME"))
- {
- skip("llcorehttp 503-with-retry test hangs on Windows 64");
- }
-#endif
-
// This tests mainly that the code doesn't fall over if
// various well- and mis-formed Retry-After headers are
// sent along with the response. Direct inspection of
diff --git a/indra/llfilesystem/lldiriterator.cpp b/indra/llfilesystem/lldiriterator.cpp
index b736a577bd..57d4912c94 100644
--- a/indra/llfilesystem/lldiriterator.cpp
+++ b/indra/llfilesystem/lldiriterator.cpp
@@ -28,7 +28,6 @@
#include "lldiriterator.h"
-#include "fix_macros.h"
#include "llregex.h"
#include <boost/filesystem.hpp>
diff --git a/indra/llinventory/CMakeLists.txt b/indra/llinventory/CMakeLists.txt
index 22966bc55b..e8f76eaa7d 100644
--- a/indra/llinventory/CMakeLists.txt
+++ b/indra/llinventory/CMakeLists.txt
@@ -75,4 +75,7 @@ if (LL_TESTS)
set(test_libs llinventory llmath llcorehttp llfilesystem )
LL_ADD_INTEGRATION_TEST(inventorymisc "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llparcel "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llpermissions "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llsaleinfo "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(lluserrelations "" "${test_libs}")
endif (LL_TESTS)
diff --git a/indra/test/llpermissions_tut.cpp b/indra/llinventory/tests/llpermissions_test.cpp
index 1328939004..1328939004 100644
--- a/indra/test/llpermissions_tut.cpp
+++ b/indra/llinventory/tests/llpermissions_test.cpp
diff --git a/indra/test/llsaleinfo_tut.cpp b/indra/llinventory/tests/llsaleinfo_test.cpp
index 1da7101aa3..1da7101aa3 100644
--- a/indra/test/llsaleinfo_tut.cpp
+++ b/indra/llinventory/tests/llsaleinfo_test.cpp
diff --git a/indra/test/lluserrelations_tut.cpp b/indra/llinventory/tests/lluserrelations_test.cpp
index 80a659da65..80a659da65 100644
--- a/indra/test/lluserrelations_tut.cpp
+++ b/indra/llinventory/tests/lluserrelations_test.cpp
diff --git a/indra/llmath/CMakeLists.txt b/indra/llmath/CMakeLists.txt
index fb57e5db11..f97e4a5bb6 100644
--- a/indra/llmath/CMakeLists.txt
+++ b/indra/llmath/CMakeLists.txt
@@ -24,7 +24,6 @@ set(llmath_SOURCE_FILES
llquaternion.cpp
llrigginginfo.cpp
llrect.cpp
- llsphere.cpp
llvector4a.cpp
llvolume.cpp
llvolumemgr.cpp
@@ -46,8 +45,6 @@ set(llmath_SOURCE_FILES
set(llmath_HEADER_FILES
CMakeLists.txt
- camera.h
- coordframe.h
llbbox.h
llbboxlocal.h
llcalc.h
@@ -74,7 +71,6 @@ set(llmath_HEADER_FILES
llsimdmath.h
llsimdtypes.h
llsimdtypes.inl
- llsphere.h
lltreenode.h
llvector4a.h
llvector4a.inl
diff --git a/indra/llmath/camera.h b/indra/llmath/camera.h
deleted file mode 100644
index 14a08c5985..0000000000
--- a/indra/llmath/camera.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * @file camera.h
- * @brief Legacy wrapper header.
- *
- * $LicenseInfo:firstyear=2000&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 "llcamera.h"
diff --git a/indra/llmath/coordframe.h b/indra/llmath/coordframe.h
deleted file mode 100644
index e7395b1212..0000000000
--- a/indra/llmath/coordframe.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * @file coordframe.h
- * @brief Legacy wrapper header.
- *
- * $LicenseInfo:firstyear=2000&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 "llcoordframe.h"
diff --git a/indra/llmath/llsphere.cpp b/indra/llmath/llsphere.cpp
deleted file mode 100644
index 5f48764455..0000000000
--- a/indra/llmath/llsphere.cpp
+++ /dev/null
@@ -1,370 +0,0 @@
-/**
- * @file llsphere.cpp
- * @author Andrew Meadows
- * @brief Simple line class that can compute nearest approach between two lines
- *
- * $LicenseInfo:firstyear=2007&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 "llsphere.h"
-
-LLSphere::LLSphere()
-: mCenter(0.f, 0.f, 0.f),
- mRadius(0.f)
-{ }
-
-LLSphere::LLSphere( const LLVector3& center, F32 radius)
-{
- set(center, radius);
-}
-
-void LLSphere::set( const LLVector3& center, F32 radius )
-{
- mCenter = center;
- setRadius(radius);
-}
-
-void LLSphere::setCenter( const LLVector3& center)
-{
- mCenter = center;
-}
-
-void LLSphere::setRadius( F32 radius)
-{
- if (radius < 0.f)
- {
- radius = -radius;
- }
- mRadius = radius;
-}
-
-const LLVector3& LLSphere::getCenter() const
-{
- return mCenter;
-}
-
-F32 LLSphere::getRadius() const
-{
- return mRadius;
-}
-
-// returns 'true' if this sphere completely contains other_sphere
-bool LLSphere::contains(const LLSphere& other_sphere) const
-{
- F32 separation = (mCenter - other_sphere.mCenter).length();
- return mRadius >= separation + other_sphere.mRadius;
-}
-
-// returns 'true' if this sphere completely contains other_sphere
-bool LLSphere::overlaps(const LLSphere& other_sphere) const
-{
- F32 separation = (mCenter - other_sphere.mCenter).length();
- return mRadius >= separation - other_sphere.mRadius;
-}
-
-// returns overlap
-// negative overlap is closest approach
-F32 LLSphere::getOverlap(const LLSphere& other_sphere) const
-{
- // separation is distance from other_sphere's edge and this center
- return (mCenter - other_sphere.mCenter).length() - mRadius - other_sphere.mRadius;
-}
-
-bool LLSphere::operator==(const LLSphere& rhs) const
-{
- return fabs(mRadius - rhs.mRadius) <= FLT_EPSILON &&
- (mCenter - rhs.mCenter).length() <= FLT_EPSILON;
-}
-
-std::ostream& operator<<( std::ostream& output_stream, const LLSphere& sphere)
-{
- output_stream << "{center=" << sphere.mCenter << "," << "radius=" << sphere.mRadius << "}";
- return output_stream;
-}
-
-// static
-// removes any spheres that are contained in others
-void LLSphere::collapse(std::vector<LLSphere>& sphere_list)
-{
- std::vector<LLSphere>::iterator first_itr = sphere_list.begin();
- while (first_itr != sphere_list.end())
- {
- bool delete_from_front = false;
-
- std::vector<LLSphere>::iterator second_itr = first_itr;
- ++second_itr;
- while (second_itr != sphere_list.end())
- {
- if (second_itr->contains(*first_itr))
- {
- delete_from_front = true;
- break;
- }
- else if (first_itr->contains(*second_itr))
- {
- sphere_list.erase(second_itr++);
- }
- else
- {
- ++second_itr;
- }
- }
-
- if (delete_from_front)
- {
- sphere_list.erase(first_itr++);
- }
- else
- {
- ++first_itr;
- }
- }
-}
-
-// static
-// returns the bounding sphere that contains both spheres
-LLSphere LLSphere::getBoundingSphere(const LLSphere& first_sphere, const LLSphere& second_sphere)
-{
- LLVector3 direction = second_sphere.mCenter - first_sphere.mCenter;
-
- // HACK -- it is possible to get enough floating point error in the
- // other getBoundingSphere() method that we have to add some slop
- // at the end. Unfortunately, this breaks the link-order invarience
- // for the linkability tests... unless we also apply the same slop
- // here.
- F32 half_milimeter = 0.0005f;
-
- F32 distance = direction.length();
- if (0.f == distance)
- {
- direction.setVec(1.f, 0.f, 0.f);
- }
- else
- {
- direction.normVec();
- }
- // the 'edge' is measured from the first_sphere's center
- F32 max_edge = 0.f;
- F32 min_edge = 0.f;
-
- max_edge = llmax(max_edge + first_sphere.getRadius(), max_edge + distance + second_sphere.getRadius() + half_milimeter);
- min_edge = llmin(min_edge - first_sphere.getRadius(), min_edge + distance - second_sphere.getRadius() - half_milimeter);
- F32 radius = 0.5f * (max_edge - min_edge);
- LLVector3 center = first_sphere.mCenter + (0.5f * (max_edge + min_edge)) * direction;
- return LLSphere(center, radius);
-}
-
-// static
-// returns the bounding sphere that contains an arbitrary set of spheres
-LLSphere LLSphere::getBoundingSphere(const std::vector<LLSphere>& sphere_list)
-{
- // this algorithm can get relatively inaccurate when the sphere
- // collection is 'small' (contained within a bounding sphere of about
- // 2 meters or less)
- // TODO -- improve the accuracy for small collections of spheres
-
- LLSphere bounding_sphere( LLVector3(0.f, 0.f, 0.f), 0.f );
- auto sphere_count = sphere_list.size();
- if (1 == sphere_count)
- {
- // trivial case -- single sphere
- std::vector<LLSphere>::const_iterator sphere_itr = sphere_list.begin();
- bounding_sphere = *sphere_itr;
- }
- else if (2 == sphere_count)
- {
- // trivial case -- two spheres
- std::vector<LLSphere>::const_iterator first_sphere = sphere_list.begin();
- std::vector<LLSphere>::const_iterator second_sphere = first_sphere;
- ++second_sphere;
- bounding_sphere = LLSphere::getBoundingSphere(*first_sphere, *second_sphere);
- }
- else if (sphere_count > 0)
- {
- // non-trivial case -- we will approximate the solution
- //
- // NOTE -- there is a fancy/fast way to do this for large
- // numbers of arbirary N-dimensional spheres -- you can look it
- // up on the net. We're dealing with 3D spheres at collection
- // sizes of 256 spheres or smaller, so we just use this
- // brute force method.
-
- // TODO -- perhaps would be worthwile to test for the solution where
- // the largest spanning radius just happens to work. That is, where
- // there are really two spheres that determine the bounding sphere,
- // and all others are contained therein.
-
- // compute the AABB
- std::vector<LLSphere>::const_iterator first_itr = sphere_list.begin();
- LLVector3 max_corner = first_itr->getCenter() + first_itr->getRadius() * LLVector3(1.f, 1.f, 1.f);
- LLVector3 min_corner = first_itr->getCenter() - first_itr->getRadius() * LLVector3(1.f, 1.f, 1.f);
- {
- std::vector<LLSphere>::const_iterator sphere_itr = sphere_list.begin();
- for (++sphere_itr; sphere_itr != sphere_list.end(); ++sphere_itr)
- {
- LLVector3 center = sphere_itr->getCenter();
- F32 radius = sphere_itr->getRadius();
- for (S32 i=0; i<3; ++i)
- {
- if (center.mV[i] + radius > max_corner.mV[i])
- {
- max_corner.mV[i] = center.mV[i] + radius;
- }
- if (center.mV[i] - radius < min_corner.mV[i])
- {
- min_corner.mV[i] = center.mV[i] - radius;
- }
- }
- }
- }
-
- // get the starting center and radius from the AABB
- LLVector3 diagonal = max_corner - min_corner;
- F32 bounding_radius = 0.5f * diagonal.length();
- LLVector3 bounding_center = 0.5f * (max_corner + min_corner);
-
- // compute the starting step-size
- F32 minimum_radius = 0.5f * llmin(diagonal.mV[VX], llmin(diagonal.mV[VY], diagonal.mV[VZ]));
- F32 step_length = bounding_radius - minimum_radius;
- //S32 step_count = 0;
- //S32 max_step_count = 12;
- F32 half_milimeter = 0.0005f;
-
- // wander the center around in search of tighter solutions
- S32 last_dx = 2; // 2 is out of bounds --> no match
- S32 last_dy = 2;
- S32 last_dz = 2;
-
- while (step_length > half_milimeter
- /*&& step_count < max_step_count*/)
- {
- // the algorithm for testing the maximum radius could be expensive enough
- // that it makes sense to NOT duplicate testing when possible, so we keep
- // track of where we last tested, and only test the new points
-
- S32 best_dx = 0;
- S32 best_dy = 0;
- S32 best_dz = 0;
-
- // sample near the center of the box
- bool found_better_center = false;
- for (S32 dx = -1; dx < 2; ++dx)
- {
- for (S32 dy = -1; dy < 2; ++dy)
- {
- for (S32 dz = -1; dz < 2; ++dz)
- {
- if (dx == 0 && dy == 0 && dz == 0)
- {
- continue;
- }
-
- // count the number of indecies that match the last_*'s
- S32 match_count = 0;
- if (last_dx == dx) ++match_count;
- if (last_dy == dy) ++match_count;
- if (last_dz == dz) ++match_count;
- if (match_count == 2)
- {
- // we've already tested this point
- continue;
- }
-
- LLVector3 center = bounding_center;
- center.mV[VX] += (F32) dx * step_length;
- center.mV[VY] += (F32) dy * step_length;
- center.mV[VZ] += (F32) dz * step_length;
-
- // compute the radius of the bounding sphere
- F32 max_radius = 0.f;
- std::vector<LLSphere>::const_iterator sphere_itr;
- for (sphere_itr = sphere_list.begin(); sphere_itr != sphere_list.end(); ++sphere_itr)
- {
- F32 radius = (sphere_itr->getCenter() - center).length() + sphere_itr->getRadius();
- if (radius > max_radius)
- {
- max_radius = radius;
- }
- }
- if (max_radius < bounding_radius)
- {
- best_dx = dx;
- best_dy = dy;
- best_dz = dz;
- bounding_center = center;
- bounding_radius = max_radius;
- found_better_center = true;
- }
- }
- }
- }
- if (found_better_center)
- {
- // remember where we came from so we can avoid retesting
- last_dx = -best_dx;
- last_dy = -best_dy;
- last_dz = -best_dz;
- }
- else
- {
- // reduce the step size
- step_length *= 0.5f;
- //++step_count;
- // reset the last_*'s
- last_dx = 2; // 2 is out of bounds --> no match
- last_dy = 2;
- last_dz = 2;
- }
- }
-
- // HACK -- it is possible to get enough floating point error for the
- // bounding sphere to too small on the order of 10e-6, but we only need
- // it to be accurate to within about half a millimeter
- bounding_radius += half_milimeter;
-
- // this algorithm can get relatively inaccurate when the sphere
- // collection is 'small' (contained within a bounding sphere of about
- // 2 meters or less)
- // TODO -- fix this
- /* debug code
- {
- std::vector<LLSphere>::const_iterator sphere_itr;
- for (sphere_itr = sphere_list.begin(); sphere_itr != sphere_list.end(); ++sphere_itr)
- {
- F32 radius = (sphere_itr->getCenter() - bounding_center).length() + sphere_itr->getRadius();
- if (radius + 0.1f > bounding_radius)
- {
- std::cout << " rad = " << radius << " bounding - rad = " << (bounding_radius - radius) << std::endl;
- }
- }
- std::cout << "\n" << std::endl;
- }
- */
-
- bounding_sphere.set(bounding_center, bounding_radius);
- }
- return bounding_sphere;
-}
-
-
diff --git a/indra/llmath/llsphere.h b/indra/llmath/llsphere.h
deleted file mode 100644
index cb923dcd3c..0000000000
--- a/indra/llmath/llsphere.h
+++ /dev/null
@@ -1,77 +0,0 @@
-// llsphere.h
-/**
- * @file llsphere.cpp
- * @author Andrew Meadows
- * @brief Simple sphere implementation for basic geometric operations
- *
- * $LicenseInfo:firstyear=2007&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$
- */
-
-#ifndef LL_SPHERE_H
-#define LL_SPHERE_H
-
-#include "stdtypes.h"
-#include "v3math.h"
-#include <iostream>
-#include <vector>
-
-class LLSphere
-{
-public:
- LLSphere();
- LLSphere( const LLVector3& center, F32 radius );
-
- void set( const LLVector3& center, F32 radius );
- void setCenter( const LLVector3& center );
- void setRadius( F32 radius );
-
- const LLVector3& getCenter() const;
- F32 getRadius() const;
-
- // returns true if this sphere completely contains other_sphere
- bool contains(const LLSphere& other_sphere) const;
-
- // returns true if this sphere overlaps other_sphere
- bool overlaps(const LLSphere& other_sphere) const;
-
- // returns overlap distance
- // negative overlap is closest approach
- F32 getOverlap(const LLSphere& other_sphere) const;
-
- // removes any spheres that are contained in others
- static void collapse(std::vector<LLSphere>& sphere_list);
-
- // returns minimum sphere bounding sphere for a set of spheres
- static LLSphere getBoundingSphere(const LLSphere& first_sphere, const LLSphere& second_sphere);
- static LLSphere getBoundingSphere(const std::vector<LLSphere>& sphere_list);
-
- bool operator==(const LLSphere& rhs) const;
-
- friend std::ostream& operator<<( std::ostream& output_stream, const LLSphere& line );
-
-protected:
- LLVector3 mCenter;
- F32 mRadius;
-};
-
-
-#endif
diff --git a/indra/llmath/tests/mathmisc_test.cpp b/indra/llmath/tests/mathmisc_test.cpp
index ff0899e975..810b0d80da 100644
--- a/indra/llmath/tests/mathmisc_test.cpp
+++ b/indra/llmath/tests/mathmisc_test.cpp
@@ -35,7 +35,6 @@
#include "../llline.h"
#include "../llmath.h"
-#include "../llsphere.h"
#include "../v3math.h"
namespace tut
@@ -280,166 +279,6 @@ namespace tut
namespace tut
{
- struct sphere_data
- {
- };
- typedef test_group<sphere_data> sphere_test;
- typedef sphere_test::object sphere_object;
- tut::sphere_test tsphere("LLSphere");
-
- template<> template<>
- void sphere_object::test<1>()
- {
- // test LLSphere::contains() and ::overlaps()
- S32 number_of_tests = 10;
- for (S32 test = 0; test < number_of_tests; ++test)
- {
- LLVector3 first_center(1.f, 1.f, 1.f);
- F32 first_radius = 3.f;
- LLSphere first_sphere( first_center, first_radius );
-
- F32 half_millimeter = 0.0005f;
- LLVector3 direction( ll_frand(2.f) - 1.f, ll_frand(2.f) - 1.f, ll_frand(2.f) - 1.f);
- direction.normalize();
-
- F32 distance = ll_frand(first_radius - 2.f * half_millimeter);
- LLVector3 second_center = first_center + distance * direction;
- F32 second_radius = first_radius - distance - half_millimeter;
- LLSphere second_sphere( second_center, second_radius );
- ensure("first sphere should contain the second", first_sphere.contains(second_sphere));
- ensure("first sphere should overlap the second", first_sphere.overlaps(second_sphere));
-
- distance = first_radius + ll_frand(first_radius);
- second_center = first_center + distance * direction;
- second_radius = distance - first_radius + half_millimeter;
- second_sphere.set( second_center, second_radius );
- ensure("first sphere should NOT contain the second", !first_sphere.contains(second_sphere));
- ensure("first sphere should overlap the second", first_sphere.overlaps(second_sphere));
-
- distance = first_radius + ll_frand(first_radius) + half_millimeter;
- second_center = first_center + distance * direction;
- second_radius = distance - first_radius - half_millimeter;
- second_sphere.set( second_center, second_radius );
- ensure("first sphere should NOT contain the second", !first_sphere.contains(second_sphere));
- ensure("first sphere should NOT overlap the second", !first_sphere.overlaps(second_sphere));
- }
- }
-
- template<> template<>
- void sphere_object::test<2>()
- {
- skip("See SNOW-620. Neither the test nor the code being tested seem good. Also sim-only.");
-
- // test LLSphere::getBoundingSphere()
- S32 number_of_tests = 100;
- S32 number_of_spheres = 10;
- F32 sphere_center_range = 32.f;
- F32 sphere_radius_range = 5.f;
-
- for (S32 test = 0; test < number_of_tests; ++test)
- {
- // gegnerate a bunch of random sphere
- std::vector< LLSphere > sphere_list;
- for (S32 sphere_count=0; sphere_count < number_of_spheres; ++sphere_count)
- {
- LLVector3 direction( ll_frand(2.f) - 1.f, ll_frand(2.f) - 1.f, ll_frand(2.f) - 1.f);
- direction.normalize();
- F32 distance = ll_frand(sphere_center_range);
- LLVector3 center = distance * direction;
- F32 radius = ll_frand(sphere_radius_range);
- LLSphere sphere( center, radius );
- sphere_list.push_back(sphere);
- }
-
- // compute the bounding sphere
- LLSphere bounding_sphere = LLSphere::getBoundingSphere(sphere_list);
-
- // make sure all spheres are inside the bounding sphere
- {
- std::vector< LLSphere >::const_iterator sphere_itr;
- for (sphere_itr = sphere_list.begin(); sphere_itr != sphere_list.end(); ++sphere_itr)
- {
- ensure("sphere should be contained by the bounding sphere", bounding_sphere.contains(*sphere_itr));
- }
- }
-
- // TODO -- improve LLSphere::getBoundingSphere() to the point where
- // we can reduce the 'expansion' in the two tests below to about
- // 2 mm or less
-
- F32 expansion = 0.005f;
- // move all spheres out a little bit
- // and count how many are NOT contained
- {
- std::vector< LLVector3 > uncontained_directions;
- std::vector< LLSphere >::iterator sphere_itr;
- for (sphere_itr = sphere_list.begin(); sphere_itr != sphere_list.end(); ++sphere_itr)
- {
- LLVector3 direction = sphere_itr->getCenter() - bounding_sphere.getCenter();
- direction.normalize();
-
- sphere_itr->setCenter( sphere_itr->getCenter() + expansion * direction );
- if (! bounding_sphere.contains( *sphere_itr ) )
- {
- uncontained_directions.push_back(direction);
- }
- }
- ensure("when moving spheres out there should be at least two uncontained spheres",
- uncontained_directions.size() > 1);
-
- /* TODO -- when the bounding sphere algorithm is improved we can open up this test
- * at the moment it occasionally fails when the sphere collection is tight and small
- * (2 meters or less)
- if (2 == uncontained_directions.size() )
- {
- // if there were only two uncontained spheres then
- // the two directions should be nearly opposite
- F32 dir_dot = uncontained_directions[0] * uncontained_directions[1];
- ensure("two uncontained spheres should lie opposite the bounding center", dir_dot < -0.95f);
- }
- */
- }
-
- // compute the new bounding sphere
- bounding_sphere = LLSphere::getBoundingSphere(sphere_list);
-
- // increase the size of all spheres a little bit
- // and count how many are NOT contained
- {
- std::vector< LLVector3 > uncontained_directions;
- std::vector< LLSphere >::iterator sphere_itr;
- for (sphere_itr = sphere_list.begin(); sphere_itr != sphere_list.end(); ++sphere_itr)
- {
- LLVector3 direction = sphere_itr->getCenter() - bounding_sphere.getCenter();
- direction.normalize();
-
- sphere_itr->setRadius( sphere_itr->getRadius() + expansion );
- if (! bounding_sphere.contains( *sphere_itr ) )
- {
- uncontained_directions.push_back(direction);
- }
- }
- ensure("when boosting sphere radii there should be at least two uncontained spheres",
- uncontained_directions.size() > 1);
-
- /* TODO -- when the bounding sphere algorithm is improved we can open up this test
- * at the moment it occasionally fails when the sphere collection is tight and small
- * (2 meters or less)
- if (2 == uncontained_directions.size() )
- {
- // if there were only two uncontained spheres then
- // the two directions should be nearly opposite
- F32 dir_dot = uncontained_directions[0] * uncontained_directions[1];
- ensure("two uncontained spheres should lie opposite the bounding center", dir_dot < -0.95f);
- }
- */
- }
- }
- }
-}
-
-namespace tut
-{
F32 SMALL_RADIUS = 1.0f;
F32 MEDIUM_RADIUS = 5.0f;
F32 LARGE_RADIUS = 10.0f;
diff --git a/indra/llmessage/CMakeLists.txt b/indra/llmessage/CMakeLists.txt
index 86e262f56a..f143ee18cf 100644
--- a/indra/llmessage/CMakeLists.txt
+++ b/indra/llmessage/CMakeLists.txt
@@ -79,7 +79,6 @@ set(llmessage_SOURCE_FILES
message_prehash.cpp
message_string_table.cpp
net.cpp
- partsyspacket.cpp
patch_code.cpp
patch_dct.cpp
patch_idct.cpp
@@ -171,7 +170,6 @@ set(llmessage_HEADER_FILES
message.h
message_prehash.h
net.h
- partsyspacket.h
patch_code.h
patch_dct.h
sound_ids.h
@@ -215,9 +213,22 @@ if (LL_TESTS)
llcommon
)
- #LL_ADD_INTEGRATION_TEST(llavatarnamecache "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(io "tests/llpipeutil.cpp" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llavatarnamecache "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llbuffer "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(lldatapacker "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llhost "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llhttpnode "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(lliohttpserver "tests/llpipeutil.cpp" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llsdmessagebuilder "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llsdmessagereader "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llmessageconfig "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llmessagetemplateparser "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llpartdata "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llservicebuilder "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(lltemplatemessagebuilder "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llxfer_file "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llxorcipher "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(message "" "${test_libs}")
endif (LL_TESTS)
diff --git a/indra/llmessage/partsyspacket.cpp b/indra/llmessage/partsyspacket.cpp
deleted file mode 100644
index 6113adbfcf..0000000000
--- a/indra/llmessage/partsyspacket.cpp
+++ /dev/null
@@ -1,1297 +0,0 @@
-/**
- * @file partsyspacket.cpp
- * @brief Object for packing particle system initialization parameters
- * before sending them over the network.
- *
- * $LicenseInfo:firstyear=2000&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 "partsyspacket.h"
-#include "indra_constants.h"
-
-// this function is global
-void gSetInitDataDefaults(LLPartInitData *setMe)
-{
- U32 i;
-
- //for(i = 0; i < 18; i++)
- //{
- // setMe->k[i] = 0.0f;
- //}
-
- //setMe->kill_p[0] = setMe->kill_p[1] = setMe->kill_p[2] = 0.0f;
- //setMe->kill_p[3] = -0.2f; // time parameter, die when t= 5.0f
- //setMe->kill_p[4] = 1.0f;
- //setMe->kill_p[5] = -0.5f; // or radius == 2 (contracting)
-
- //setMe->bounce_p[0] = setMe->bounce_p[1] =
- // setMe->bounce_p[2] = setMe->bounce_p[3] = 0.0f;
- //setMe->bounce_p[4] = 1.0f;
-
- setMe->bounce_b = 1.0f;
- // i just changed the meaning of bounce_b
- // its now the attenuation from revlecting your velocity across the normal
- // set by bounce_p
-
- //setMe->pos_ranges[0] = setMe->pos_ranges[2] = setMe->pos_ranges[4] = -1.0f;
- //setMe->pos_ranges[1] = setMe->pos_ranges[3] = setMe->pos_ranges[5] = 1.0f;
-
- //setMe->vel_ranges[0] = setMe->vel_ranges[2] = setMe->vel_ranges[4] = -1.0f;
- //setMe->vel_ranges[1] = setMe->vel_ranges[3] = setMe->vel_ranges[5] = 1.0f;
-
- for(i = 0; i < 3; i++)
- {
- setMe->diffEqAlpha[i] = 0.0f;
- setMe->diffEqScale[i] = 0.0f;
- }
-
- setMe->scale_range[0] = 1.00f;
- setMe->scale_range[1] = 5.00f;
- setMe->scale_range[2] = setMe->scale_range[3] = 0.0f;
-
- setMe->alpha_range[0] = setMe->alpha_range[1] = 1.0f;
- setMe->alpha_range[2] = setMe->alpha_range[3] = 0.0f;
-
- setMe->vel_offset[0] = 0.0f;
- setMe->vel_offset[1] = 0.0f;
- setMe->vel_offset[2] = 0.0f;
-
- // start dropping particles when I'm more then one sim away
- setMe->mDistBeginFadeout = 256.0f;
- setMe->mDistEndFadeout = 1.414f * 512.0f;
- // stop displaying particles when I'm more then two sim diagonals away
-
- setMe->mImageUuid = IMG_SHOT;
-
- for(i = 0; i < 8; i++)
- {
- setMe->mFlags[i] = 0x00;
- }
-
- setMe->createMe = true;
-
- setMe->maxParticles = 25;
- setMe->initialParticles = 25;
-
- //These defaults are for an explosion - a short lived set of debris affected by gravity.
- //Action flags default to PART_SYS_AFFECTED_BY_WIND + PART_SYS_AFFECTED_BY_GRAVITY + PART_SYS_DISTANCE_DEATH
- setMe->mFlags[PART_SYS_ACTION_BYTE] = PART_SYS_AFFECTED_BY_WIND | PART_SYS_AFFECTED_BY_GRAVITY | PART_SYS_DISTANCE_DEATH;
- setMe->mFlags[PART_SYS_KILL_BYTE] = PART_SYS_DISTANCE_DEATH + PART_SYS_TIME_DEATH;
-
- setMe->killPlaneNormal[0] = 0.0f;setMe->killPlaneNormal[1] = 0.0f;setMe->killPlaneNormal[2] = 1.0f; //Straight up
- setMe->killPlaneZ = 0.0f; //get local ground z as an approximation if turn on PART_SYS_KILL_PLANE
- setMe->bouncePlaneNormal[0] = 0.0f;setMe->bouncePlaneNormal[1] = 0.0f;setMe->bouncePlaneNormal[2] = 1.0f; //Straight up
- setMe->bouncePlaneZ = 0.0f; //get local ground z as an approximation if turn on PART_SYS_BOUNCE
- setMe->spawnRange = 1.0f;
- setMe->spawnFrequency = 0.0f; //Create the instant one dies
- setMe->spawnFreqencyRange = 0.0f;
- setMe->spawnDirection[0] = 0.0f;setMe->spawnDirection[1] = 0.0f;setMe->spawnDirection[2] = 1.0f; //Straight up
- setMe->spawnDirectionRange = 1.0f; //global scattering
- setMe->spawnVelocity = 0.75f;
- setMe->spawnVelocityRange = 0.25f; //velocity +/- 0.25
- setMe->speedLimit = 1.0f;
-
- setMe->windWeight = 0.5f; //0.0f means looks like a heavy object (if gravity is on), 1.0f means light and fluffy
- setMe->currentGravity[0] = 0.0f;setMe->currentGravity[1] = 0.0f;setMe->currentGravity[2] = -9.81f;
- //This has to be constant to allow for compression
-
- setMe->gravityWeight = 0.5f; //0.0f means boyed by air, 1.0f means it's a lead weight
- setMe->globalLifetime = 0.0f; //Arbitrary, but default is no global die, so doesn't matter
- setMe->individualLifetime = 5.0f;
- setMe->individualLifetimeRange = 1.0f; //Particles last 5 secs +/- 1
- setMe->alphaDecay = 1.0f; //normal alpha fadeout
- setMe->scaleDecay = 0.0f; //no scale decay
- setMe->distanceDeath = 10.0f; //die if hit unit radius
- setMe->dampMotionFactor = 0.0f;
-
- setMe->windDiffusionFactor[0] = 0.0f;
- setMe->windDiffusionFactor[1] = 0.0f;
- setMe->windDiffusionFactor[2] = 0.0f;
-}
-
-LLPartSysCompressedPacket::LLPartSysCompressedPacket()
-{
- // default constructor for mDefaults called implicitly/automatically here
- for(int i = 0; i < MAX_PART_SYS_PACKET_SIZE; i++)
- {
- mData[i] = '\0';
- }
-
- mNumBytes = 0;
-
- gSetInitDataDefaults(&mDefaults);
-}
-
-LLPartSysCompressedPacket::~LLPartSysCompressedPacket()
-{
- // no dynamic data is stored by this class, do nothing.
-}
-
-void LLPartSysCompressedPacket::writeFlagByte(LLPartInitData *in)
-{
- mData[0] = mData[1] = mData[2] = '\0';
-
- U32 i;
- //for(i = 1; i < 18; i++) {
- // if(in->k[i] != mDefaults.k[i])
- // {
- // mData[0] |= PART_SYS_K_MASK;
- // break;
- // }
- //}
-
- if(in->killPlaneZ != mDefaults.killPlaneZ ||
- in->killPlaneNormal[0] != mDefaults.killPlaneNormal[0] ||
- in->killPlaneNormal[1] != mDefaults.killPlaneNormal[1] ||
- in->killPlaneNormal[2] != mDefaults.killPlaneNormal[2] ||
- in->distanceDeath != mDefaults.distanceDeath)
- {
- mData[0] |= PART_SYS_KILL_P_MASK;
- }
-
-
-
- if(in->bouncePlaneZ != mDefaults.bouncePlaneZ ||
- in->bouncePlaneNormal[0] != mDefaults.bouncePlaneNormal[0] ||
- in->bouncePlaneNormal[1] != mDefaults.bouncePlaneNormal[1] ||
- in->bouncePlaneNormal[2] != mDefaults.bouncePlaneNormal[2])
- {
- mData[0] |= PART_SYS_BOUNCE_P_MASK;
- }
-
- if(in->bounce_b != mDefaults.bounce_b)
- {
- mData[0] |= PART_SYS_BOUNCE_B_MASK;
- }
-
-
- //if(in->pos_ranges[0] != mDefaults.pos_ranges[0] || in->pos_ranges[1] != mDefaults.pos_ranges[1] ||
- // in->pos_ranges[2] != mDefaults.pos_ranges[2] || in->pos_ranges[3] != mDefaults.pos_ranges[3] ||
- // in->pos_ranges[4] != mDefaults.pos_ranges[4] || in->pos_ranges[5] != mDefaults.pos_ranges[5])
- //{
- // mData[0] |= PART_SYS_POS_RANGES_MASK;
- //}
-
- //if(in->vel_ranges[0] != mDefaults.vel_ranges[0] || in->vel_ranges[1] != mDefaults.vel_ranges[1] ||
- // in->vel_ranges[2] != mDefaults.vel_ranges[2] || in->vel_ranges[3] != mDefaults.vel_ranges[3] ||
- // in->vel_ranges[4] != mDefaults.vel_ranges[4] || in->vel_ranges[5] != mDefaults.vel_ranges[5])
- //{
-// mData[0] |= PART_SYS_VEL_RANGES_MASK;
- //}
-
-
- if(in->diffEqAlpha[0] != mDefaults.diffEqAlpha[0] ||
- in->diffEqAlpha[1] != mDefaults.diffEqAlpha[1] ||
- in->diffEqAlpha[2] != mDefaults.diffEqAlpha[2] ||
- in->diffEqScale[0] != mDefaults.diffEqScale[0] ||
- in->diffEqScale[1] != mDefaults.diffEqScale[1] ||
- in->diffEqScale[2] != mDefaults.diffEqScale[2])
- {
- mData[0] |= PART_SYS_ALPHA_SCALE_DIFF_MASK;
- }
-
-
- if(in->scale_range[0] != mDefaults.scale_range[0] ||
- in->scale_range[1] != mDefaults.scale_range[1] ||
- in->scale_range[2] != mDefaults.scale_range[2] ||
- in->scale_range[3] != mDefaults.scale_range[3])
- {
- mData[0] |= PART_SYS_SCALE_RANGE_MASK;
- }
-
-
- if(in->alpha_range[0] != mDefaults.alpha_range[0] ||
- in->alpha_range[1] != mDefaults.alpha_range[1] ||
- in->alpha_range[2] != mDefaults.alpha_range[2] ||
- in->alpha_range[3] != mDefaults.alpha_range[3])
- {
- mData[2] |= PART_SYS_BYTE_3_ALPHA_MASK;
- }
-
- if(in->vel_offset[0] != mDefaults.vel_offset[0] ||
- in->vel_offset[1] != mDefaults.vel_offset[1] ||
- in->vel_offset[2] != mDefaults.vel_offset[2])
- {
- mData[0] |= PART_SYS_VEL_OFFSET_MASK;
- }
-
-
- if(in->mImageUuid != mDefaults.mImageUuid)
- {
- mData[0] |= PART_SYS_M_IMAGE_UUID_MASK;
- }
-
- for( i = 0; i < 8; i++)
- {
- if(in->mFlags[i])
- {
- mData[1] |= 1<<i;
-// llprintline("Flag \"%x\" gets byte \"%x\"\n", i<<i, in->mFlags[i]);
- }
- }
-
-
- if(in->spawnRange != mDefaults.spawnRange ||
- in->spawnFrequency != mDefaults.spawnFrequency ||
- in->spawnFreqencyRange != mDefaults.spawnFreqencyRange ||
- in->spawnDirection[0] != mDefaults.spawnDirection[0] ||
- in->spawnDirection[1] != mDefaults.spawnDirection[1] ||
- in->spawnDirection[2] != mDefaults.spawnDirection[2] ||
- in->spawnDirectionRange != mDefaults.spawnDirectionRange ||
- in->spawnVelocity != mDefaults.spawnVelocity ||
- in->spawnVelocityRange != mDefaults.spawnVelocityRange)
- {
- mData[3] |= PART_SYS_BYTE_SPAWN_MASK;
- }
-
-
- if(in->windWeight != mDefaults.windWeight ||
- in->currentGravity[0] != mDefaults.currentGravity[0] ||
- in->currentGravity[1] != mDefaults.currentGravity[1] ||
- in->currentGravity[2] != mDefaults.currentGravity[2] ||
- in->gravityWeight != mDefaults.gravityWeight)
- {
- mData[3] |= PART_SYS_BYTE_ENVIRONMENT_MASK;
- }
-
-
- if(in->globalLifetime != mDefaults.globalLifetime ||
- in->individualLifetime != mDefaults.individualLifetime ||
- in->individualLifetimeRange != mDefaults.individualLifetimeRange)
- {
- mData[3] |= PART_SYS_BYTE_LIFESPAN_MASK;
- }
-
-
- if(in->speedLimit != mDefaults.speedLimit ||
- in->alphaDecay != mDefaults.alphaDecay ||
- in->scaleDecay != mDefaults.scaleDecay ||
- in->dampMotionFactor != mDefaults.dampMotionFactor)
- {
- mData[3] |= PART_SYS_BYTE_DECAY_DAMP_MASK;
- }
-
- if(in->windDiffusionFactor[0] != mDefaults.windDiffusionFactor[0] ||
- in->windDiffusionFactor[1] != mDefaults.windDiffusionFactor[1] ||
- in->windDiffusionFactor[2] != mDefaults.windDiffusionFactor[2])
- {
- mData[3] |= PART_SYS_BYTE_WIND_DIFF_MASK;
- }
-}
-
-F32 floatFromTwoBytes(S8 bMant, S8 bExp)
-{
- F32 result = bMant;
- while(bExp > 0)
- {
- result *= 2.0f;
- bExp--;
- }
- while(bExp < 0)
- {
- result *= 0.5f;
- bExp++;
- }
- return result;
-}
-
-void twoBytesFromFloat(F32 fIn, S8 &bMant, S8 &bExp)
-{
- bExp = 0;
- if(fIn > 127.0f)
- {
- fIn = 127.0f;
- }
- if(fIn < -127.0f)
- {
- fIn = -127.0f;
- }
- while(fIn < 64 && fIn > -64 && bExp > -127)
- {
- fIn *= 2.0f;
- bExp--;
- }
- while((fIn > 128 || fIn < -128) && bExp < 127)
- {
- fIn *= 0.5f;
- bExp++;
- }
- bMant = (S8)fIn;
-}
-
-
-
-/*
-U32 LLPartSysCompressedPacket::writeK(LLPartInitData *in, U32 startByte)
-{
- U32 i, kFlag, i_mod_eight;
- S8 bMant, bExp;
-
- kFlag = startByte;
-
- startByte += 3; // 3 bytes contain enough room for 18 flag bits
- mData[kFlag] = 0x00;
-// llprintline("In the writeK\n");
-
- i_mod_eight = 0;
- for(i = 0; i < 18; i++)
- {
- if(in->k[i] != mDefaults.k[i])
- {
-
- mData[kFlag] |= 1<<i_mod_eight;
- twoBytesFromFloat(in->k[i], bMant, bExp);
-
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- }
- i_mod_eight++;
- while(i_mod_eight >= 8)
- {
- kFlag++;
- i_mod_eight -= 8;
- }
- }
-
- return startByte;
-}*/
-
-U32 LLPartSysCompressedPacket::writeKill_p(LLPartInitData *in, U32 startByte)
-{
- S8 bMant, bExp;
-
- twoBytesFromFloat(in->killPlaneNormal[0], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- twoBytesFromFloat(in->killPlaneNormal[1], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- twoBytesFromFloat(in->killPlaneNormal[2], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
- twoBytesFromFloat(in->killPlaneZ, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- twoBytesFromFloat(in->distanceDeath, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::writeBounce_p(LLPartInitData *in, U32 startByte)
-{
- S8 bMant, bExp;
-
- twoBytesFromFloat(in->bouncePlaneNormal[0], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- twoBytesFromFloat(in->bouncePlaneNormal[1], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- twoBytesFromFloat(in->bouncePlaneNormal[2], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
-
- twoBytesFromFloat(in->bouncePlaneZ, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::writeBounce_b(LLPartInitData *in, U32 startByte)
-{
- S8 bMant, bExp;
- twoBytesFromFloat(in->bounce_b, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- return startByte;
-}
-
-//U32 LLPartSysCompressedPacket::writePos_ranges(LLPartInitData *in, U32 startByte)
-//{
-// S8 tmp;
-// int i;
-// for(i = 0; i < 6; i++)
-// {
-// tmp = (S8) in->pos_ranges[i]; // float to int conversion (keep the sign)
-// mData[startByte++] = (U8)tmp; // signed to unsigned typecast
-// }
-// return startByte;
-//}
-
-//U32 LLPartSysCompressedPacket::writeVel_ranges(LLPartInitData *in, U32 startByte)
-//{
-// S8 tmp;
-// int i;
-// for(i = 0; i < 6; i++)
-// {
-// tmp = (S8) in->vel_ranges[i]; // float to int conversion (keep the sign)
-// mData[startByte++] = (U8)tmp; // signed to unsigned typecast
-// }
-// return startByte;
-//}
-
-U32 LLPartSysCompressedPacket::writeAlphaScaleDiffEqn_range(LLPartInitData *in, U32 startByte)
-{
- S8 bExp, bMant;
- int i;
- for(i = 0; i < 3; i++)
- {
- twoBytesFromFloat(in->diffEqAlpha[i], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- }
- for(i = 0; i < 3; i++)
- {
- twoBytesFromFloat(in->diffEqScale[i], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- }
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::writeScale_range(LLPartInitData *in, U32 startByte)
-{
- S8 bExp, bMant;
- int i;
- for(i = 0; i < 4; i++)
- {
- twoBytesFromFloat(in->scale_range[i], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- }
- return startByte;
-}
-
-
-U32 LLPartSysCompressedPacket::writeAlpha_range(LLPartInitData *in, U32 startByte)
-{
- S8 bExp, bMant;
- int i;
- for(i = 0; i < 4; i++)
- {
- twoBytesFromFloat(in->alpha_range[i], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- }
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::writeVelocityOffset(LLPartInitData *in, U32 startByte)
-{
- S8 bExp, bMant;
- int i;
- for(i = 0; i < 3; i++)
- {
- twoBytesFromFloat(in->vel_offset[i], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- }
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::writeUUID(LLPartInitData *in, U32 startByte)
-{
- U8 * bufPtr = mData + startByte;
- if(in->mImageUuid == IMG_SHOT) {
- mData[startByte++] = 0x01;
- return startByte;
- }
-
- if(in->mImageUuid == IMG_SPARK) {
- mData[startByte++] = 0x02;
- return startByte;
- }
-
-
- if(in->mImageUuid == IMG_BIG_EXPLOSION_1) {
- mData[startByte++] = 0x03;
- return startByte;
- }
-
- if(in->mImageUuid == IMG_BIG_EXPLOSION_2) {
- mData[startByte++] = 0x04;
- return startByte;
- }
-
-
- if(in->mImageUuid == IMG_SMOKE_POOF) {
- mData[startByte++] = 0x05;
- return startByte;
- }
-
- if(in->mImageUuid == IMG_FIRE) {
- mData[startByte++] = 0x06;
- return startByte;
- }
-
-
- if(in->mImageUuid == IMG_EXPLOSION) {
- mData[startByte++] = 0x07;
- return startByte;
- }
-
- if(in->mImageUuid == IMG_EXPLOSION_2) {
- mData[startByte++] = 0x08;
- return startByte;
- }
-
-
- if(in->mImageUuid == IMG_EXPLOSION_3) {
- mData[startByte++] = 0x09;
- return startByte;
- }
-
- if(in->mImageUuid == IMG_EXPLOSION_4) {
- mData[startByte++] = 0x0A;
- return startByte;
- }
-
- mData[startByte++] = 0x00; // flag for "read whole UUID"
-
- memcpy(bufPtr, in->mImageUuid.mData, 16); /* Flawfinder: ignore */
- return (startByte+16);
-}
-
-U32 LLPartSysCompressedPacket::writeSpawn(LLPartInitData *in, U32 startByte)
-{
- S8 bExp, bMant;
- int i;
-
- twoBytesFromFloat(in->spawnRange, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- twoBytesFromFloat(in->spawnFrequency, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- twoBytesFromFloat(in->spawnFreqencyRange, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
-
-
- for(i = 0; i < 3; i++)
- {
- twoBytesFromFloat(in->spawnDirection[i], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- }
-
- twoBytesFromFloat(in->spawnDirectionRange, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- twoBytesFromFloat(in->spawnVelocity, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- twoBytesFromFloat(in->spawnVelocityRange, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::writeEnvironment(LLPartInitData *in, U32 startByte)
-{
- S8 bExp, bMant;
- int i;
-
- twoBytesFromFloat(in->windWeight, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
- for(i = 0; i < 3; i++)
- {
- twoBytesFromFloat(in->currentGravity[i], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- }
-
- twoBytesFromFloat(in->gravityWeight, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::writeLifespan(LLPartInitData *in, U32 startByte)
-{
- S8 bExp, bMant;
-
- twoBytesFromFloat(in->globalLifetime, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
- twoBytesFromFloat(in->individualLifetime, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
- twoBytesFromFloat(in->individualLifetimeRange, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
- return startByte;
-}
-
-
-U32 LLPartSysCompressedPacket::writeDecayDamp(LLPartInitData *in, U32 startByte)
-{
- S8 bExp, bMant;
-
- twoBytesFromFloat(in->speedLimit, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
- twoBytesFromFloat(in->alphaDecay, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
- twoBytesFromFloat(in->scaleDecay, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
- twoBytesFromFloat(in->dampMotionFactor, bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::writeWindDiffusionFactor(LLPartInitData *in, U32 startByte)
-{
- S8 bExp, bMant;
-
- twoBytesFromFloat(in->windDiffusionFactor[0], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
- twoBytesFromFloat(in->windDiffusionFactor[1], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
- twoBytesFromFloat(in->windDiffusionFactor[2], bMant, bExp);
- mData[startByte++] = bMant;
- mData[startByte++] = bExp;
-
- return startByte;
-}
-
-
-
-
-
-
-/*
-U32 LLPartSysCompressedPacket::readK(LLPartInitData *in, U32 startByte)
-{
- U32 i, i_mod_eight, kFlag;
- S8 bMant, bExp; // 1 bytes mantissa and exponent for a float
- kFlag = startByte;
- startByte += 3; // 3 bytes has enough room for 18 bits
-
- i_mod_eight = 0;
- for(i = 0; i < 18; i++)
- {
- if(mData[kFlag]&(1<<i_mod_eight))
- {
-
-
-
- bMant = mData[startByte++];
- bExp = mData[startByte++];
-
-
- in->k[i] = floatFromTwoBytes(bMant, bExp); // much tighter platform-independent
- // way to ship floats
-
- }
- i_mod_eight++;
- if(i_mod_eight >= 8)
- {
- i_mod_eight -= 8;
- kFlag++;
- }
- }
-
- return startByte;
-}
-*/
-
-U32 LLPartSysCompressedPacket::readKill_p(LLPartInitData *in, U32 startByte)
-{
- S8 bMant, bExp;
-
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->killPlaneNormal[0] = floatFromTwoBytes(bMant, bExp);
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->killPlaneNormal[1] = floatFromTwoBytes(bMant, bExp);
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->killPlaneNormal[2] = floatFromTwoBytes(bMant, bExp);
-
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->killPlaneZ = floatFromTwoBytes(bMant, bExp);
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->distanceDeath = floatFromTwoBytes(bMant, bExp);
-
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::readBounce_p(LLPartInitData *in, U32 startByte)
-{
-
- S8 bMant, bExp;
-
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->bouncePlaneNormal[0] = floatFromTwoBytes(bMant, bExp);
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->bouncePlaneNormal[1] = floatFromTwoBytes(bMant, bExp);
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->bouncePlaneNormal[2] = floatFromTwoBytes(bMant, bExp);
-
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->bouncePlaneZ = floatFromTwoBytes(bMant, bExp);
-
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::readBounce_b(LLPartInitData *in, U32 startByte)
-{
- S8 bMant, bExp;
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->bounce_b = floatFromTwoBytes(bMant, bExp);
- return startByte;
-}
-
-
-//U32 LLPartSysCompressedPacket::readPos_ranges(LLPartInitData *in, U32 startByte)
-//{
-// S8 tmp;
-// int i;
-// for(i = 0; i < 6; i++)
-// {
-// tmp = (S8)mData[startByte++];
-// in->pos_ranges[i] = tmp;
-// }
-// return startByte;
-//}
-
-//U32 LLPartSysCompressedPacket::readVel_ranges(LLPartInitData *in, U32 startByte)
-//{
-// S8 tmp;
-// int i;
-// for(i = 0; i < 6; i++)
-// {
-// tmp = (S8)mData[startByte++];
-// in->vel_ranges[i] = tmp;
-// }
-// return startByte;
-//}
-
-
-
-U32 LLPartSysCompressedPacket::readAlphaScaleDiffEqn_range(LLPartInitData *in, U32 startByte)
-{
- int i;
- S8 bMant, bExp;
- for(i = 0; i < 3; i++)
- {
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->diffEqAlpha[i] = floatFromTwoBytes(bMant, bExp);
- }
- for(i = 0; i < 3; i++)
- {
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->diffEqScale[i] = floatFromTwoBytes(bMant, bExp);
- }
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::readAlpha_range(LLPartInitData *in, U32 startByte)
-{
- int i;
- S8 bMant, bExp;
- for(i = 0; i < 4; i++)
- {
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->alpha_range[i] = floatFromTwoBytes(bMant, bExp);
- }
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::readScale_range(LLPartInitData *in, U32 startByte)
-{
- int i;
- S8 bMant, bExp;
- for(i = 0; i < 4; i++)
- {
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->scale_range[i] = floatFromTwoBytes(bMant, bExp);
- }
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::readVelocityOffset(LLPartInitData *in, U32 startByte)
-{
- int i;
- S8 bMant, bExp;
- for(i = 0; i < 3; i++)
- {
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->vel_offset[i] = floatFromTwoBytes(bMant, bExp);
- }
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::readUUID(LLPartInitData *in, U32 startByte)
-{
- U8 * bufPtr = mData + startByte;
-
- if(mData[startByte] == 0x01)
- {
- in->mImageUuid = IMG_SHOT;
- return startByte+1;
- }
- if(mData[startByte] == 0x02)
- {
- in->mImageUuid = IMG_SPARK;
- return startByte+1;
- }
- if(mData[startByte] == 0x03)
- {
- in->mImageUuid = IMG_BIG_EXPLOSION_1;
- return startByte+1;
- }
- if(mData[startByte] == 0x04)
- {
- in->mImageUuid = IMG_BIG_EXPLOSION_2;
- return startByte+1;
- }
- if(mData[startByte] == 0x05)
- {
- in->mImageUuid = IMG_SMOKE_POOF;
- return startByte+1;
- }
- if(mData[startByte] == 0x06)
- {
- in->mImageUuid = IMG_FIRE;
- return startByte+1;
- }
- if(mData[startByte] == 0x07)
- {
- in->mImageUuid = IMG_EXPLOSION;
- return startByte+1;
- }
- if(mData[startByte] == 0x08)
- {
- in->mImageUuid = IMG_EXPLOSION_2;
- return startByte+1;
- }
- if(mData[startByte] == 0x09)
- {
- in->mImageUuid = IMG_EXPLOSION_3;
- return startByte+1;
- }
- if(mData[startByte] == 0x0A)
- {
- in->mImageUuid = IMG_EXPLOSION_4;
- return startByte+1;
- }
-
- startByte++; // cause we actually have to read the UUID now.
- memcpy(in->mImageUuid.mData, bufPtr, 16); /* Flawfinder: ignore */
- return (startByte+16);
-}
-
-
-
-
-U32 LLPartSysCompressedPacket::readSpawn(LLPartInitData *in, U32 startByte)
-{
- S8 bMant, bExp;
- U32 i;
-
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->spawnRange = floatFromTwoBytes(bMant, bExp);
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->spawnFrequency = floatFromTwoBytes(bMant, bExp);
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->spawnFreqencyRange = floatFromTwoBytes(bMant, bExp);
-
- for(i = 0; i < 3; i++)
- {
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->spawnDirection[i] = floatFromTwoBytes(bMant, bExp);
- }
-
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->spawnDirectionRange = floatFromTwoBytes(bMant, bExp);
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->spawnVelocity = floatFromTwoBytes(bMant, bExp);
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->spawnVelocityRange = floatFromTwoBytes(bMant, bExp);
-
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::readEnvironment(LLPartInitData *in, U32 startByte)
-{
- S8 bMant, bExp;
- U32 i;
-
-
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->windWeight = floatFromTwoBytes(bMant, bExp);
-
- for(i = 0; i < 3; i++)
- {
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->currentGravity[i] = floatFromTwoBytes(bMant, bExp);
- }
-
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->gravityWeight = floatFromTwoBytes(bMant, bExp);
-
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::readLifespan(LLPartInitData *in, U32 startByte)
-{
- S8 bMant, bExp;
-
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->globalLifetime = floatFromTwoBytes(bMant, bExp);
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->individualLifetime = floatFromTwoBytes(bMant, bExp);
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->individualLifetimeRange = floatFromTwoBytes(bMant, bExp);
-
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::readDecayDamp(LLPartInitData *in, U32 startByte)
-{
- S8 bMant, bExp;
-
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->speedLimit = floatFromTwoBytes(bMant, bExp);
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->alphaDecay = floatFromTwoBytes(bMant, bExp);
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->scaleDecay = floatFromTwoBytes(bMant, bExp);
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->dampMotionFactor = floatFromTwoBytes(bMant, bExp);
-
- return startByte;
-}
-
-U32 LLPartSysCompressedPacket::readWindDiffusionFactor(LLPartInitData *in, U32 startByte)
-{
- int i;
- S8 bMant, bExp;
- for(i = 0; i < 3; i++)
- {
- bMant = mData[startByte++];
- bExp = mData[startByte++];
- in->windDiffusionFactor[i] = floatFromTwoBytes(bMant, bExp);
- }
- return startByte;
-}
-
-bool LLPartSysCompressedPacket::fromLLPartInitData(LLPartInitData *in, U32 &bytesUsed)
-{
-
- writeFlagByte(in);
- U32 currByte = 4;
-
-// llprintline("calling \"fromLLPartInitData\"\n");
-
- //if(mData[0] & PART_SYS_K_MASK)
- //{
- // currByte = writeK(in, 3); // first 3 bytes are reserved for header data
- //}
-
-
-
- if(mData[0] & PART_SYS_KILL_P_MASK)
- {
- currByte = writeKill_p(in, currByte);
- }
-
- if(mData[0] & PART_SYS_BOUNCE_P_MASK)
- {
- currByte = writeBounce_p(in, currByte);
- }
-
- if(mData[0] & PART_SYS_BOUNCE_B_MASK)
- {
- currByte = writeBounce_b(in, currByte);
- }
-
- //if(mData[0] & PART_SYS_POS_RANGES_MASK)
- //{
- // currByte = writePos_ranges(in, currByte);
- //}
-
- //if(mData[0] & PART_SYS_VEL_RANGES_MASK)
- //{
- // currByte = writeVel_ranges(in, currByte);
- //}
-
- if(mData[0] & PART_SYS_ALPHA_SCALE_DIFF_MASK)
- {
- currByte = writeAlphaScaleDiffEqn_range(in, currByte);
- }
-
- if(mData[0] & PART_SYS_SCALE_RANGE_MASK)
- {
- currByte = writeScale_range(in, currByte);
- }
-
- if(mData[0] & PART_SYS_VEL_OFFSET_MASK)
- {
- currByte = writeVelocityOffset(in, currByte);
- }
-
- if(mData[0] & PART_SYS_M_IMAGE_UUID_MASK)
- {
- currByte = writeUUID(in, currByte);
- }
-
-
- if(mData[3] & PART_SYS_BYTE_SPAWN_MASK)
- {
- currByte = writeSpawn(in, currByte);
- }
-
- if(mData[3] & PART_SYS_BYTE_ENVIRONMENT_MASK)
- {
- currByte = writeEnvironment(in, currByte);
- }
-
- if(mData[3] & PART_SYS_BYTE_LIFESPAN_MASK)
- {
- currByte = writeLifespan(in, currByte);
- }
-
- if(mData[3] & PART_SYS_BYTE_DECAY_DAMP_MASK)
- {
- currByte = writeDecayDamp(in, currByte);
- }
-
- if(mData[3] & PART_SYS_BYTE_WIND_DIFF_MASK)
- {
- currByte = writeWindDiffusionFactor(in, currByte);
- }
-
-
- if(mData[2] & PART_SYS_BYTE_3_ALPHA_MASK)
- {
- currByte = writeAlpha_range(in, currByte);
- }
-
- mData[currByte++] = (U8)in->maxParticles;
- mData[currByte++] = (U8)in->initialParticles;
-
-
- U32 flagFlag = 1; // flag indicating which flag bytes are non-zero
- // yeah, I know, the name sounds funny
- for(U32 i = 0; i < 8; i++)
- {
-
-// llprintline("Flag \"%x\" gets byte \"%x\"\n", flagFlag, in->mFlags[i]);
- if(mData[1] & flagFlag)
- {
- mData[currByte++] = in->mFlags[i];
-// llprintline("and is valid...\n");
- }
- flagFlag <<= 1;
- }
-
- bytesUsed = mNumBytes = currByte;
-
-
-
-// llprintline("returning from \"fromLLPartInitData\" with %d bytes\n", bytesUsed);
-
- return true;
-}
-
-bool LLPartSysCompressedPacket::toLLPartInitData(LLPartInitData *out, U32 *bytesUsed)
-{
- U32 currByte = 4;
-
- gSetInitDataDefaults(out);
-
- if(mData[0] & PART_SYS_KILL_P_MASK)
- {
- currByte = readKill_p(out, currByte);
- }
-
- if(mData[0] & PART_SYS_BOUNCE_P_MASK)
- {
- currByte = readBounce_p(out, currByte);
- }
-
- if(mData[0] & PART_SYS_BOUNCE_B_MASK)
- {
- currByte = readBounce_b(out, currByte);
- }
-
- if(mData[0] & PART_SYS_ALPHA_SCALE_DIFF_MASK)
- {
- currByte = readAlphaScaleDiffEqn_range(out, currByte);
- }
-
- if(mData[0] & PART_SYS_SCALE_RANGE_MASK)
- {
- currByte = readScale_range(out, currByte);
- }
-
- if(mData[0] & PART_SYS_VEL_OFFSET_MASK)
- {
- currByte = readVelocityOffset(out, currByte);
- }
-
- if(mData[0] & PART_SYS_M_IMAGE_UUID_MASK)
- {
- currByte = readUUID(out, currByte);
- }
-
-
- if(mData[3] & PART_SYS_BYTE_SPAWN_MASK)
- {
- currByte = readSpawn(out, currByte);
- }
-
- if(mData[3] & PART_SYS_BYTE_ENVIRONMENT_MASK)
- {
- currByte = readEnvironment(out, currByte);
- }
-
- if(mData[3] & PART_SYS_BYTE_LIFESPAN_MASK)
- {
- currByte = readLifespan(out, currByte);
- }
-
- if(mData[3] & PART_SYS_BYTE_DECAY_DAMP_MASK)
- {
- currByte = readDecayDamp(out, currByte);
- }
-
- if(mData[3] & PART_SYS_BYTE_WIND_DIFF_MASK)
- {
- currByte = readWindDiffusionFactor(out, currByte);
- }
-
- if(mData[2] & PART_SYS_BYTE_3_ALPHA_MASK)
- {
- currByte = readAlpha_range(out, currByte);
- }
-
- out->maxParticles = mData[currByte++];
- out->initialParticles = mData[currByte++];
-
- U32 flagFlag = 1; // flag indicating which flag bytes are non-zero
- // yeah, I know, the name sounds funny
- for(U32 i = 0; i < 8; i++)
- {
- flagFlag = 1<<i;
-
- if((mData[1] & flagFlag))
- {
- out->mFlags[i] = mData[currByte++];
- }
- }
-
- *bytesUsed = currByte;
- return true;
-}
-
-bool LLPartSysCompressedPacket::fromUnsignedBytes(U8 *in, U32 bytesUsed)
-{
- if ((in != NULL) && (bytesUsed <= sizeof(mData)))
- {
- memcpy(mData, in, bytesUsed); /* Flawfinder: ignore */
- mNumBytes = bytesUsed;
- return true;
- }
- else
- {
- LL_ERRS() << "NULL input data or number of bytes exceed mData size" << LL_ENDL;
- return false;
- }
-}
-
-
-U32 LLPartSysCompressedPacket::bufferSize()
-{
- return mNumBytes;
-}
-
-bool LLPartSysCompressedPacket::toUnsignedBytes(U8 *out)
-{
- memcpy(out, mData, mNumBytes); /* Flawfinder: ignore */
- return true;
-}
-
-U8 * LLPartSysCompressedPacket::getBytePtr()
-{
- return mData;
-}
-
-
diff --git a/indra/llmessage/partsyspacket.h b/indra/llmessage/partsyspacket.h
deleted file mode 100644
index 23307f3409..0000000000
--- a/indra/llmessage/partsyspacket.h
+++ /dev/null
@@ -1,261 +0,0 @@
-/**
- * @file partsyspacket.h
- * @brief Object for packing particle system initialization parameters
- * before sending them over the network
- *
- * $LicenseInfo:firstyear=2000&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$
- */
-
-#ifndef LL_PARTSYSPACKET_H
-#define LL_PARTSYSPACKET_H
-
-#include "lluuid.h"
-
-// Particle system stuff
-
-const U64 PART_SYS_MAX_TIME_IN_USEC = 1000000; // 1 second, die not quite near instantaneously
-
-
-// this struct is for particle system initialization parameters
-// I'm breaking some rules here, but I need a storage structure to hold initialization data
-// for these things. Sorry guys, they're not simple enough (yet) to avoid this cleanly
-struct LLPartInitData {
- // please do not add functions to this class -- data only!
- //F32 k[18]; // first 9 --> x,y,z last 9 --> scale, alpha, rot
- //F32 kill_p[6]; // last one is for particles that die when they reach a spherical bounding radius
- //F32 kill_plane[3];
- //F32 bounce_p[5];
- F32 bounce_b; // recently changed
- // no need to store orientation and position here, as they're sent over seperately
- //F32 pos_ranges[6];
- //F32 vel_ranges[6];
- F32 scale_range[4];
- F32 alpha_range[4];
- F32 vel_offset[3]; //new - more understandable!
-
- F32 mDistBeginFadeout; // for fadeout LOD optimization
- F32 mDistEndFadeout;
-
- LLUUID mImageUuid;
- //U8 n; // number of particles
- U8 mFlags[8]; // for miscellaneous data --> its interpretation can change at my whim!
- U8 createMe; // do I need to be created? or has the work allready been done?
- //ActionFlag is now mFlags[PART_SYS_ACTION_BYTE]
- //Spawn point is initially object creation center
-
- F32 diffEqAlpha[3];
- F32 diffEqScale[3];
-
- U8 maxParticles;
- //How many particles exist at any time within the system?
- U8 initialParticles;
- //How many particles exist when the system is created?
- F32 killPlaneZ;
- //For simplicity assume the XY plane, so this sets an altitude at which to die
- F32 killPlaneNormal[3];
- //Normal if not planar XY
- F32 bouncePlaneZ;
- //For simplicity assume the XY plane, so this sets an altitude at which to bounce
- F32 bouncePlaneNormal[3];
- //Normal if not planar XY
- F32 spawnRange;
- //Range of emission points about the mSpawnPoint
- F32 spawnFrequency;
- //Required if the system is to spawn new particles.
- //This variable determines the time after a particle dies when it is respawned.
- F32 spawnFreqencyRange;
- //Determines the random range of time until a new particle is spawned.
- F32 spawnDirection[3];
- //Direction vector giving the mean direction in which particles are spawned
- F32 spawnDirectionRange;
- //Direction limiting the angular range of emissions about the mean direction. 1.0f means everywhere, 0.0f means uni-directional
- F32 spawnVelocity;
- //The mean speed at which particles are emitted
- F32 spawnVelocityRange;
- //The range of speeds about the mean at which particles are emitted.
- F32 speedLimit;
- //Used to constrain particle maximum velocity
- F32 windWeight;
- //How much of an effect does wind have
- F32 currentGravity[3];
- //Gravity direction used in update calculations
- F32 gravityWeight;
- //How much of an effect does gravity have
- F32 globalLifetime;
- //If particles re-spawn, a system can exist forever.
- //If (ActionFlags & PART_SYS_GLOBAL_DIE) is true this variable is used to determine how long the system lasts.
- F32 individualLifetime;
- //How long does each particle last if nothing else happens to it
- F32 individualLifetimeRange;
- //Range of variation in individual lifetimes
- F32 alphaDecay;
- //By what factor does alpha decrease as the lifetime of a particle is approached.
- F32 scaleDecay;
- //By what factor does scale decrease as the lifetime of a particle is approached.
- F32 distanceDeath;
- //With the increased functionality, particle systems can expand to indefinite size
- //(e.g. wind can chaotically move particles into a wide spread).
- //To avoid particles exceeding normal object size constraints,
- //set the PART_SYS_DISTANCE_DEATH flag, and set a distance value here, representing a radius around the spawn point.
- F32 dampMotionFactor;
- //How much to damp motion
- F32 windDiffusionFactor[3];
- //Change the size and alpha of particles as wind speed increases (scale gets bigger, alpha smaller)
-};
-
-// constants for setting flag values
-// BYTES are in range 0-8, bits are in range 2^0 - 2^8 and can only be powers of two
-const int PART_SYS_NO_Z_BUFFER_BYTE = 0; // option to turn off z-buffer when rendering
-const int PART_SYS_NO_Z_BUFFER_BIT = 2; // particle systems --
-// I advise against using this, as it looks bad in every case I've tried
-
-const int PART_SYS_SLOW_ANIM_BYTE = 0; // slow animation down by a factor of 10
-const int PART_SYS_SLOW_ANIM_BIT = 1; // useful for tweaking anims during debugging
-
-const int PART_SYS_FOLLOW_VEL_BYTE = 0; // indicates whether to orient sprites towards
-const int PART_SYS_FOLLOW_VEL_BIT = 4; // their velocity vector -- default is false
-
-const int PART_SYS_IS_LIGHT_BYTE = 0; // indicates whether a particular particle system
-const int PART_SYS_IS_LIGHT_BIT = 8; // is also a light object -- for andrew
-// should deprecate this once there is a general method for setting light properties of objects
-
-const int PART_SYS_SPAWN_COPY_BYTE = 0; // indicates whether to spawn baby particle systems on
-const int PART_SYS_SPAWN_COPY_BIT = 0x10; // particle death -- intended for smoke trails
-
-const int PART_SYS_COPY_VEL_BYTE = 0; // indicates whether baby particle systems inherit parents vel
-const int PART_SYS_COPY_VEL_BIT = 0x20; // (by default they don't)
-
-const int PART_SYS_INVISIBLE_BYTE = 0; // optional -- turn off display, just simulate
-const int PART_SYS_INVISIBLE_BIT = 0x40; // useful for smoke trails
-
-const int PART_SYS_ADAPT_TO_FRAMERATE_BYTE = 0; // drop sprites from render call proportionally
-const int PART_SYS_ADAPT_TO_FRAMERATE_BIT = 0x80; // to how far we are below 60 fps
-
-
-// 26 September 2001 - not even big enough to hold all changes, so should enlarge anyway
-//const U16 MAX_PART_SYS_PACKET_SIZE = 180;
-const U16 MAX_PART_SYS_PACKET_SIZE = 256;
-
-//const U8 PART_SYS_K_MASK = 0x01;
-const U8 PART_SYS_KILL_P_MASK = 0x02;
-const U8 PART_SYS_BOUNCE_P_MASK = 0x04;
-const U8 PART_SYS_BOUNCE_B_MASK = 0x08;
-//const U8 PART_SYS_POS_RANGES_MASK = 0x10;
-//const U8 PART_SYS_VEL_RANGES_MASK = 0x20;
-const U8 PART_SYS_VEL_OFFSET_MASK = 0x10; //re-use one of the original slots now commented out
-const U8 PART_SYS_ALPHA_SCALE_DIFF_MASK = 0x20; //re-use one of the original slots now commented out
-const U8 PART_SYS_SCALE_RANGE_MASK = 0x40;
-const U8 PART_SYS_M_IMAGE_UUID_MASK = 0x80;
-const U8 PART_SYS_BYTE_3_ALPHA_MASK = 0x01; // wrapped around, didn't we?
-
-const U8 PART_SYS_BYTE_SPAWN_MASK = 0x01;
-const U8 PART_SYS_BYTE_ENVIRONMENT_MASK = 0x02;
-const U8 PART_SYS_BYTE_LIFESPAN_MASK = 0x04;
-const U8 PART_SYS_BYTE_DECAY_DAMP_MASK = 0x08;
-const U8 PART_SYS_BYTE_WIND_DIFF_MASK = 0x10;
-
-
-// 26 September 2001 - new constants for mActionFlags
-const int PART_SYS_ACTION_BYTE = 1;
-const U8 PART_SYS_SPAWN = 0x01;
-const U8 PART_SYS_BOUNCE = 0x02;
-const U8 PART_SYS_AFFECTED_BY_WIND = 0x04;
-const U8 PART_SYS_AFFECTED_BY_GRAVITY = 0x08;
-const U8 PART_SYS_EVALUATE_WIND_PER_PARTICLE = 0x10;
-const U8 PART_SYS_DAMP_MOTION = 0x20;
-const U8 PART_SYS_WIND_DIFFUSION = 0x40;
-
-// 26 September 2001 - new constants for mKillFlags
-const int PART_SYS_KILL_BYTE = 2;
-const U8 PART_SYS_KILL_PLANE = 0x01;
-const U8 PART_SYS_GLOBAL_DIE = 0x02;
-const U8 PART_SYS_DISTANCE_DEATH = 0x04;
-const U8 PART_SYS_TIME_DEATH = 0x08;
-
-
-// global, because the sim-side also calls it in the LLPartInitDataFactory
-
-
-void gSetInitDataDefaults(LLPartInitData *setMe);
-
-class LLPartSysCompressedPacket
-{
-public:
- LLPartSysCompressedPacket();
- ~LLPartSysCompressedPacket();
- bool fromLLPartInitData(LLPartInitData *in, U32 &bytesUsed);
- bool toLLPartInitData(LLPartInitData *out, U32 *bytesUsed);
- bool fromUnsignedBytes(U8 *in, U32 bytesUsed);
- bool toUnsignedBytes(U8 *out);
- U32 bufferSize();
- U8 *getBytePtr();
-
-protected:
- U8 mData[MAX_PART_SYS_PACKET_SIZE];
- U32 mNumBytes;
- LLPartInitData mDefaults; // this is intended to hold default LLPartInitData values
- // please do not modify it
- LLPartInitData mWorkingCopy; // uncompressed data I'm working with
-
-protected:
- // private functions (used only to break up code)
- void writeFlagByte(LLPartInitData *in);
- //U32 writeK(LLPartInitData *in, U32 startByte);
- U32 writeKill_p(LLPartInitData *in, U32 startByte);
- U32 writeBounce_p(LLPartInitData *in, U32 startByte);
- U32 writeBounce_b(LLPartInitData *in, U32 startByte);
- //U32 writePos_ranges(LLPartInitData *in, U32 startByte);
- //U32 writeVel_ranges(LLPartInitData *in, U32 startByte);
- U32 writeAlphaScaleDiffEqn_range(LLPartInitData *in, U32 startByte);
- U32 writeScale_range(LLPartInitData *in, U32 startByte);
- U32 writeAlpha_range(LLPartInitData *in, U32 startByte);
- U32 writeUUID(LLPartInitData *in, U32 startByte);
-
- U32 writeVelocityOffset(LLPartInitData *in, U32 startByte);
- U32 writeSpawn(LLPartInitData *in, U32 startByte); //all spawn data
- U32 writeEnvironment(LLPartInitData *in, U32 startByte); //wind and gravity
- U32 writeLifespan(LLPartInitData *in, U32 startByte); //lifespan data - individual and global
- U32 writeDecayDamp(LLPartInitData *in, U32 startByte); //alpha and scale, and motion damp
- U32 writeWindDiffusionFactor(LLPartInitData *in, U32 startByte);
-
-
- //U32 readK(LLPartInitData *in, U32 startByte);
- U32 readKill_p(LLPartInitData *in, U32 startByte);
- U32 readBounce_p(LLPartInitData *in, U32 startByte);
- U32 readBounce_b(LLPartInitData *in, U32 startByte);
- //U32 readPos_ranges(LLPartInitData *in, U32 startByte);
- //U32 readVel_ranges(LLPartInitData *in, U32 startByte);
- U32 readAlphaScaleDiffEqn_range(LLPartInitData *in, U32 startByte);
- U32 readScale_range(LLPartInitData *in, U32 startByte);
- U32 readAlpha_range(LLPartInitData *in, U32 startByte);
- U32 readUUID(LLPartInitData *in, U32 startByte);
-
- U32 readVelocityOffset(LLPartInitData *in, U32 startByte);
- U32 readSpawn(LLPartInitData *in, U32 startByte); //all spawn data
- U32 readEnvironment(LLPartInitData *in, U32 startByte); //wind and gravity
- U32 readLifespan(LLPartInitData *in, U32 startByte); //lifespan data - individual and global
- U32 readDecayDamp(LLPartInitData *in, U32 startByte); //alpha and scale, and motion damp
- U32 readWindDiffusionFactor(LLPartInitData *in, U32 startByte);
-};
-
-#endif
-
diff --git a/indra/test/io.cpp b/indra/llmessage/tests/io_test.cpp
index f77402065a..f77402065a 100644
--- a/indra/test/io.cpp
+++ b/indra/llmessage/tests/io_test.cpp
diff --git a/indra/test/llbuffer_tut.cpp b/indra/llmessage/tests/llbuffer_test.cpp
index 330a4f288f..330a4f288f 100644
--- a/indra/test/llbuffer_tut.cpp
+++ b/indra/llmessage/tests/llbuffer_test.cpp
diff --git a/indra/llmessage/tests/llcurl_stub.cpp b/indra/llmessage/tests/llcurl_stub.cpp
deleted file mode 100644
index 78c195580c..0000000000
--- a/indra/llmessage/tests/llcurl_stub.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/**
- * @file llcurl_stub.cpp
- * @brief stub class to allow unit testing
- *
- * $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$
- */
-
-#ifndef LL_CURL_STUB_CPP
-#define LL_CURL_STUB_CPP
-
-
-#include "linden_common.h"
-#include "llcurl.h"
-#include "llhttpconstants.cpp"
-
-LLCurl::Responder::Responder()
-{
-}
-
-void LLCurl::Responder::httpCompleted()
-{
- if (isGoodStatus())
- {
- httpSuccess();
- }
- else
- {
- httpFailure();
- }
-}
-
-void LLCurl::Responder::completedRaw(LLChannelDescriptors const&,
- std::shared_ptr<LLBufferArray> const&)
-{
-}
-
-void LLCurl::Responder::httpFailure()
-{
-}
-
-LLCurl::Responder::~Responder ()
-{
-}
-
-void LLCurl::Responder::httpSuccess()
-{
-}
-
-std::string LLCurl::Responder::dumpResponse() const
-{
- return "dumpResponse()";
-}
-
-void LLCurl::Responder::successResult(const LLSD& content)
-{
- setResult(HTTP_OK, "", content);
- httpSuccess();
-}
-
-void LLCurl::Responder::failureResult(S32 status, const std::string& reason, const LLSD& content)
-{
- setResult(status, reason, content);
- httpFailure();
-}
-
-
-void LLCurl::Responder::completeResult(S32 status, const std::string& reason, const LLSD& content)
-{
- setResult(status, reason, content);
- httpCompleted();
-}
-
-void LLCurl::Responder::setResult(S32 status, const std::string& reason, const LLSD& content /* = LLSD() */)
-{
- mStatus = status;
- mReason = reason;
- mContent = content;
-}
-
-#endif
diff --git a/indra/test/lldatapacker_tut.cpp b/indra/llmessage/tests/lldatapacker_test.cpp
index 2e975ee637..746817936d 100644
--- a/indra/test/lldatapacker_tut.cpp
+++ b/indra/llmessage/tests/lldatapacker_test.cpp
@@ -26,9 +26,10 @@
* $/LicenseInfo$
*/
-#include <tut/tut.hpp>
-#include "lltut.h"
#include "linden_common.h"
+
+#include "lltut.h"
+
#include "lldatapacker.h"
#include "v4color.h"
#include "v4coloru.h"
@@ -38,6 +39,7 @@
#include "llsdserialize.h"
#define TEST_FILE_NAME "datapacker_test.txt"
+
namespace tut
{
struct datapacker_test
@@ -188,11 +190,11 @@ namespace tut
template<> template<>
void datapacker_test_object_t::test<5>()
{
- U8 buf[] = "SecondLife is virtual World";
+ U8* buf = new U8[]("SecondLife is virtual World");
S32 size = sizeof(buf);
LLDataPackerBinaryBuffer lldp(buf, size);
- U8 new_buf[] = "Its Amazing";
- size = sizeof(new_buf);
+ U8* new_buf = new U8[]("Its Amazing");
+ size = sizeof(new_buf)-1;
lldp.assignBuffer(new_buf, size);
ensure("LLDataPackerBinaryBuffer::assignBuffer failed" , ((lldp.getBufferSize() == size) && (0 == lldp.getCurrentSize()))) ;
}
diff --git a/indra/llmessage/tests/llhttpclient_test.cpp b/indra/llmessage/tests/llhttpclient_test.cpp
deleted file mode 100644
index 1881144d3e..0000000000
--- a/indra/llmessage/tests/llhttpclient_test.cpp
+++ /dev/null
@@ -1,311 +0,0 @@
-/**
- * @file llhttpclient_test.cpp
- * @brief Testing the HTTP client classes.
- *
- * $LicenseInfo:firstyear=2006&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$
- */
-
-/**
- *
- * These classes test the HTTP client framework.
- *
- */
-
-#include <tut/tut.hpp>
-#include "linden_common.h"
-
-#include "lltut.h"
-#include "llhttpclient.h"
-#include "llformat.h"
-#include "llpipeutil.h"
-#include "llproxy.h"
-#include "llpumpio.h"
-
-#include "lliosocket.h"
-#include "llstring.h"
-#include "stringize.h"
-#include "llcleanup.h"
-
-namespace tut
-{
- struct HTTPClientTestData
- {
- public:
- HTTPClientTestData():
- PORT(LLStringUtil::getenv("PORT")),
- // Turning NULL PORT into empty string doesn't make things work;
- // that's just to keep this initializer from blowing up. We test
- // PORT separately in the constructor body.
- local_server(STRINGIZE("http://127.0.0.1:" << PORT << "/"))
- {
- ensure("Set environment variable PORT to local test server port", !PORT.empty());
- apr_pool_create(&mPool, NULL);
- LLCurl::initClass(false);
- mClientPump = new LLPumpIO(mPool);
-
- LLHTTPClient::setPump(*mClientPump);
- }
-
- ~HTTPClientTestData()
- {
- delete mClientPump;
- SUBSYSTEM_CLEANUP(LLProxy);
- apr_pool_destroy(mPool);
- }
-
- void runThePump(float timeout = 100.0f)
- {
- LLTimer timer;
- timer.setTimerExpirySec(timeout);
-
- while(!mSawCompleted && !mSawCompletedHeader && !timer.hasExpired())
- {
- LLFrameTimer::updateFrameTime();
- if (mClientPump)
- {
- mClientPump->pump();
- mClientPump->callback();
- }
- }
- }
-
- const std::string PORT;
- const std::string local_server;
-
- private:
- apr_pool_t* mPool;
- LLPumpIO* mClientPump;
-
- protected:
- void ensureStatusOK()
- {
- if (mSawError)
- {
- std::string msg =
- llformat("httpFailure() called when not expected, status %d",
- mStatus);
- fail(msg);
- }
- }
-
- void ensureStatusError()
- {
- if (!mSawError)
- {
- fail("httpFailure() wasn't called");
- }
- }
-
- LLSD getResult()
- {
- return mResult;
- }
- LLSD getHeader()
- {
- return mHeader;
- }
-
- protected:
- bool mSawError;
- U32 mStatus;
- std::string mReason;
- bool mSawCompleted;
- bool mSawCompletedHeader;
- LLSD mResult;
- LLSD mHeader;
- bool mResultDeleted;
-
- class Result : public LLHTTPClient::Responder
- {
- protected:
- Result(HTTPClientTestData& client)
- : mClient(client)
- {
- }
-
- public:
- static Result* build(HTTPClientTestData& client)
- {
- return new Result(client);
- }
-
- ~Result()
- {
- mClient.mResultDeleted = true;
- }
-
- protected:
- virtual void httpFailure()
- {
- mClient.mSawError = true;
- mClient.mStatus = getStatus();
- mClient.mReason = getReason();
- }
-
- virtual void httpSuccess()
- {
- mClient.mResult = getContent();
- }
-
- virtual void httpCompleted()
- {
- LLHTTPClient::Responder::httpCompleted();
-
- mClient.mSawCompleted = true;
- mClient.mSawCompletedHeader = true;
- mClient.mHeader = getResponseHeaders();
- }
-
- private:
- HTTPClientTestData& mClient;
- };
-
- friend class Result;
-
- protected:
- LLHTTPClient::ResponderPtr newResult()
- {
- mSawError = false;
- mStatus = 0;
- mSawCompleted = false;
- mSawCompletedHeader = false;
- mResult.clear();
- mHeader.clear();
- mResultDeleted = false;
-
- return Result::build(*this);
- }
- };
-
-
- typedef test_group<HTTPClientTestData> HTTPClientTestGroup;
- typedef HTTPClientTestGroup::object HTTPClientTestObject;
- HTTPClientTestGroup httpClientTestGroup("http_client");
-
- template<> template<>
- void HTTPClientTestObject::test<1>()
- {
- LLHTTPClient::get(local_server, newResult());
- runThePump();
- ensureStatusOK();
- ensure("result object wasn't destroyed", mResultDeleted);
- }
-
- template<> template<>
- void HTTPClientTestObject::test<2>()
- {
- // Please nobody listen on this particular port...
- LLHTTPClient::get("http://127.0.0.1:7950", newResult());
- runThePump();
- ensureStatusError();
- }
-
- template<> template<>
- void HTTPClientTestObject::test<3>()
- {
- LLSD sd;
-
- sd["list"][0]["one"] = 1;
- sd["list"][0]["two"] = 2;
- sd["list"][1]["three"] = 3;
- sd["list"][1]["four"] = 4;
-
- LLHTTPClient::post(local_server + "web/echo", sd, newResult());
- runThePump();
- ensureStatusOK();
- ensure_equals("echoed result matches", getResult(), sd);
- }
-
- template<> template<>
- void HTTPClientTestObject::test<4>()
- {
- LLSD sd;
-
- sd["message"] = "This is my test message.";
-
- LLHTTPClient::put(local_server + "test/storage", sd, newResult());
- runThePump();
- ensureStatusOK();
-
- LLHTTPClient::get(local_server + "test/storage", newResult());
- runThePump();
- ensureStatusOK();
- ensure_equals("echoed result matches", getResult(), sd);
-
- }
-
- template<> template<>
- void HTTPClientTestObject::test<5>()
- {
- LLSD sd;
- sd["status"] = 543;
- sd["reason"] = "error for testing";
-
- LLHTTPClient::post(local_server + "test/error", sd, newResult());
- runThePump();
- ensureStatusError();
- ensure_contains("reason", mReason, sd["reason"]);
- }
-
- template<> template<>
- void HTTPClientTestObject::test<6>()
- {
- const F32 timeout = 1.0f;
- LLHTTPClient::get(local_server + "test/timeout", newResult(), LLSD(), timeout);
- runThePump(timeout * 5.0f);
- ensureStatusError();
- ensure_equals("reason", mReason, "STATUS_EXPIRED");
- }
-
- template<> template<>
- void HTTPClientTestObject::test<7>()
- {
- LLHTTPClient::get(local_server, newResult());
- runThePump();
- ensureStatusOK();
- LLSD expected = getResult();
-
- LLSD result;
- result = LLHTTPClient::blockingGet(local_server);
- LLSD body = result["body"];
- ensure_equals("echoed result matches", body.size(), expected.size());
- }
- template<> template<>
- void HTTPClientTestObject::test<8>()
- {
- // This is testing for the presence of the Header in the returned results
- // from an HTTP::get call.
- LLHTTPClient::get(local_server, newResult());
- runThePump();
- ensureStatusOK();
- LLSD header = getHeader();
- ensure("got a header", ! header.emptyMap().asBoolean());
- }
- template<> template<>
- void HTTPClientTestObject::test<9>()
- {
- LLHTTPClient::head(local_server, newResult());
- runThePump();
- ensureStatusOK();
- ensure("result object wasn't destroyed", mResultDeleted);
- }
-}
diff --git a/indra/test/llhttpnode_tut.cpp b/indra/llmessage/tests/llhttpnode_test.cpp
index c38dee120b..c38dee120b 100644
--- a/indra/test/llhttpnode_tut.cpp
+++ b/indra/llmessage/tests/llhttpnode_test.cpp
diff --git a/indra/test/lliohttpserver_tut.cpp b/indra/llmessage/tests/lliohttpserver_test.cpp
index 7034f4a063..7034f4a063 100644
--- a/indra/test/lliohttpserver_tut.cpp
+++ b/indra/llmessage/tests/lliohttpserver_test.cpp
diff --git a/indra/test/llmessageconfig_tut.cpp b/indra/llmessage/tests/llmessageconfig_test.cpp
index 93443467a2..93443467a2 100644
--- a/indra/test/llmessageconfig_tut.cpp
+++ b/indra/llmessage/tests/llmessageconfig_test.cpp
diff --git a/indra/test/llmessagetemplateparser_tut.cpp b/indra/llmessage/tests/llmessagetemplateparser_test.cpp
index f665fdde4d..f665fdde4d 100644
--- a/indra/test/llmessagetemplateparser_tut.cpp
+++ b/indra/llmessage/tests/llmessagetemplateparser_test.cpp
diff --git a/indra/test/llpipeutil.cpp b/indra/llmessage/tests/llpipeutil.cpp
index 1dd4bdfa3c..1dd4bdfa3c 100644
--- a/indra/test/llpipeutil.cpp
+++ b/indra/llmessage/tests/llpipeutil.cpp
diff --git a/indra/test/llpipeutil.h b/indra/llmessage/tests/llpipeutil.h
index 97d9e1c85c..97d9e1c85c 100644
--- a/indra/test/llpipeutil.h
+++ b/indra/llmessage/tests/llpipeutil.h
diff --git a/indra/test/llsdmessagebuilder_tut.cpp b/indra/llmessage/tests/llsdmessagebuilder_test.cpp
index 6804c3e29e..6804c3e29e 100644
--- a/indra/test/llsdmessagebuilder_tut.cpp
+++ b/indra/llmessage/tests/llsdmessagebuilder_test.cpp
diff --git a/indra/test/llsdmessagereader_tut.cpp b/indra/llmessage/tests/llsdmessagereader_test.cpp
index dd6520ea33..dd6520ea33 100644
--- a/indra/test/llsdmessagereader_tut.cpp
+++ b/indra/llmessage/tests/llsdmessagereader_test.cpp
diff --git a/indra/test/llservicebuilder_tut.cpp b/indra/llmessage/tests/llservicebuilder_test.cpp
index 0bc17865d6..0bc17865d6 100644
--- a/indra/test/llservicebuilder_tut.cpp
+++ b/indra/llmessage/tests/llservicebuilder_test.cpp
diff --git a/indra/test/lltemplatemessagebuilder_tut.cpp b/indra/llmessage/tests/lltemplatemessagebuilder_test.cpp
index ddf1c3dbcc..ddf1c3dbcc 100644
--- a/indra/test/lltemplatemessagebuilder_tut.cpp
+++ b/indra/llmessage/tests/lltemplatemessagebuilder_test.cpp
diff --git a/indra/test/llxorcipher_tut.cpp b/indra/llmessage/tests/llxorcipher_test.cpp
index 9acac53604..9acac53604 100644
--- a/indra/test/llxorcipher_tut.cpp
+++ b/indra/llmessage/tests/llxorcipher_test.cpp
diff --git a/indra/test/message_tut.cpp b/indra/llmessage/tests/message_test.cpp
index 11cd710ef6..11cd710ef6 100644
--- a/indra/test/message_tut.cpp
+++ b/indra/llmessage/tests/message_test.cpp
diff --git a/indra/llprimitive/llprimlinkinfo.h b/indra/llprimitive/llprimlinkinfo.h
deleted file mode 100644
index 67e40fd5be..0000000000
--- a/indra/llprimitive/llprimlinkinfo.h
+++ /dev/null
@@ -1,393 +0,0 @@
-/**
- * @file llprimlinkinfo.h
- * @author andrew@lindenlab.com
- * @brief A template for determining which prims in a set are linkable
- *
- * $LicenseInfo:firstyear=2007&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$
- */
-
-
-#ifndef LL_PRIM_LINK_INFO_H
-#define LL_PRIM_LINK_INFO_H
-
-// system includes
-#include <iostream>
-#include <map>
-#include <list>
-#include <vector>
-
-// common includes
-#include "stdtypes.h"
-#include "v3math.h"
-#include "llquaternion.h"
-#include "llsphere.h"
-
-
-const F32 MAX_OBJECT_SPAN = 54.f; // max distance from outside edge of an object to the farthest edge
-const F32 OBJECT_SPAN_BONUS = 2.f; // infinitesimally small prims can always link up to this distance
-const S32 MAX_PRIMS_PER_OBJECT = 256;
-
-
-template < typename DATA_TYPE >
-class LLPrimLinkInfo
-{
-public:
- LLPrimLinkInfo();
- LLPrimLinkInfo( DATA_TYPE data, const LLSphere& sphere );
- ~LLPrimLinkInfo();
-
- void set( DATA_TYPE data, const LLSphere& sphere );
- void append( DATA_TYPE data, const LLSphere& sphere );
- void getData( std::list< DATA_TYPE >& data_list ) const;
- F32 getDiameter() const;
- LLVector3 getCenter() const;
-
- // returns 'true' if this info can link with other_info
- bool canLink( const LLPrimLinkInfo< DATA_TYPE >& other_info );
-
- S32 getPrimCount() const { return mDataMap.size(); }
-
- void mergeLinkableSet( typename std::list< LLPrimLinkInfo < DATA_TYPE > >& unlinked );
-
- void transform(const LLVector3& position, const LLQuaternion& rotation);
-
-private:
- // returns number of merges made
- S32 merge(LLPrimLinkInfo< DATA_TYPE >& other_info);
-
- // returns number of collapses made
- static S32 collapse(typename std::list< LLPrimLinkInfo < DATA_TYPE > >& unlinked );
-
- void computeBoundingSphere();
-
- // Internal utility to encapsulate the link rules
- F32 get_max_linkable_span(const LLSphere& first, const LLSphere& second);
- F32 get_span(const LLSphere& first, const LLSphere& second);
-
-private:
- std::map< DATA_TYPE, LLSphere > mDataMap;
- LLSphere mBoundingSphere;
-};
-
-
-
-template < typename DATA_TYPE >
-LLPrimLinkInfo< DATA_TYPE >::LLPrimLinkInfo()
-: mBoundingSphere( LLVector3(0.f, 0.f, 0.f), 0.f )
-{
-}
-
-template < typename DATA_TYPE >
-LLPrimLinkInfo< DATA_TYPE >::LLPrimLinkInfo( DATA_TYPE data, const LLSphere& sphere)
-: mBoundingSphere(sphere)
-{
- mDataMap[data] = sphere;
-}
-
-template < typename DATA_TYPE >
-LLPrimLinkInfo< DATA_TYPE >::~LLPrimLinkInfo()
-{
- mDataMap.clear();
-}
-
-template < typename DATA_TYPE >
-void LLPrimLinkInfo< DATA_TYPE>::set( DATA_TYPE data, const LLSphere& sphere )
-{
- if (!mDataMap.empty())
- {
- mDataMap.clear();
- }
- mDataMap[data] = sphere;
- mBoundingSphere = sphere;
-}
-
-template < typename DATA_TYPE >
-void LLPrimLinkInfo< DATA_TYPE>::append( DATA_TYPE data, const LLSphere& sphere )
-{
- mDataMap[data] = sphere;
- if (!mBoundingSphere.contains(sphere))
- {
- computeBoundingSphere();
- }
-}
-
-template < typename DATA_TYPE >
-void LLPrimLinkInfo< DATA_TYPE >::getData( std::list< DATA_TYPE >& data_list) const
-{
- typename std::map< DATA_TYPE, LLSphere >::const_iterator map_itr;
- for (map_itr = mDataMap.begin(); map_itr != mDataMap.end(); ++map_itr)
- {
- data_list.push_back(map_itr->first);
- }
-}
-
-template < typename DATA_TYPE >
-F32 LLPrimLinkInfo< DATA_TYPE >::getDiameter() const
-{
- return 2.f * mBoundingSphere.getRadius();
-}
-
-template < typename DATA_TYPE >
-LLVector3 LLPrimLinkInfo< DATA_TYPE >::getCenter() const
-{
- return mBoundingSphere.getCenter();
-}
-
-template < typename DATA_TYPE >
-F32 LLPrimLinkInfo< DATA_TYPE >::get_max_linkable_span(const LLSphere& first, const LLSphere& second)
-{
- F32 max_span = 3.f * (first.getRadius() + second.getRadius()) + OBJECT_SPAN_BONUS;
- if (max_span > MAX_OBJECT_SPAN)
- {
- max_span = MAX_OBJECT_SPAN;
- }
-
- return max_span;
-}
-
-template < typename DATA_TYPE >
-F32 LLPrimLinkInfo< DATA_TYPE >::get_span(const LLSphere& first, const LLSphere& second)
-{
- F32 span = (first.getCenter() - second.getCenter()).length()
- + first.getRadius() + second.getRadius();
- return span;
-}
-
-// static
-// returns 'true' if this info can link with any part of other_info
-template < typename DATA_TYPE >
-bool LLPrimLinkInfo< DATA_TYPE >::canLink(const LLPrimLinkInfo& other_info)
-{
- F32 max_span = get_max_linkable_span(mBoundingSphere, other_info.mBoundingSphere);
-
- F32 span = get_span(mBoundingSphere, other_info.mBoundingSphere);
-
- if (span <= max_span)
- {
- // The entire other_info fits inside the max span.
- return TRUE;
- }
- else if (span > max_span + 2.f * other_info.mBoundingSphere.getRadius())
- {
- // there is no way any piece of other_info could link with this one
- return FALSE;
- }
-
- // there may be a piece of other_info that is linkable
- typename std::map< DATA_TYPE, LLSphere >::const_iterator map_itr;
- for (map_itr = other_info.mDataMap.begin(); map_itr != other_info.mDataMap.end(); ++map_itr)
- {
- const LLSphere& other_sphere = (*map_itr).second;
- max_span = get_max_linkable_span(mBoundingSphere, other_sphere);
-
- span = get_span(mBoundingSphere, other_sphere);
-
- if (span <= max_span)
- {
- // found one piece that is linkable
- return TRUE;
- }
- }
- return FALSE;
-}
-
-// merges elements of 'unlinked'
-// returns number of links made (NOT final prim count, NOR linked prim count)
-// and removes any linkable infos from 'unlinked'
-template < typename DATA_TYPE >
-void LLPrimLinkInfo< DATA_TYPE >::mergeLinkableSet(std::list< LLPrimLinkInfo< DATA_TYPE > > & unlinked)
-{
- bool linked_something = true;
- while (linked_something)
- {
- linked_something = false;
-
- typename std::list< LLPrimLinkInfo< DATA_TYPE > >::iterator other_itr = unlinked.begin();
- while ( other_itr != unlinked.end()
- && getPrimCount() < MAX_PRIMS_PER_OBJECT )
- {
- S32 merge_count = merge(*other_itr);
- if (merge_count > 0)
- {
- linked_something = true;
- }
- if (0 == (*other_itr).getPrimCount())
- {
- unlinked.erase(other_itr++);
- }
- else
- {
- ++other_itr;
- }
- }
- if (!linked_something
- && unlinked.size() > 1)
- {
- S32 collapse_count = collapse(unlinked);
- if (collapse_count > 0)
- {
- linked_something = true;
- }
- }
- }
-}
-
-// transforms all of the spheres into a new reference frame
-template < typename DATA_TYPE >
-void LLPrimLinkInfo< DATA_TYPE >::transform(const LLVector3& position, const LLQuaternion& rotation)
-{
- typename std::map< DATA_TYPE, LLSphere >::iterator map_itr;
- for (map_itr = mDataMap.begin(); map_itr != mDataMap.end(); ++map_itr)
- {
- (*map_itr).second.setCenter((*map_itr).second.getCenter() * rotation + position);
- }
- mBoundingSphere.setCenter(mBoundingSphere.getCenter() * rotation + position);
-}
-
-// private
-// returns number of links made
-template < typename DATA_TYPE >
-S32 LLPrimLinkInfo< DATA_TYPE >::merge(LLPrimLinkInfo& other_info)
-{
- S32 link_count = 0;
-
-// F32 other_radius = other_info.mBoundingSphere.getRadius();
-// other_info.computeBoundingSphere();
-// if ( other_radius != other_info.mBoundingSphere.getRadius() )
-// {
-// LL_INFOS() << "Other bounding sphere changed!!" << LL_ENDL;
-// }
-
-// F32 this_radius = mBoundingSphere.getRadius();
-// computeBoundingSphere();
-// if ( this_radius != mBoundingSphere.getRadius() )
-// {
-// LL_INFOS() << "This bounding sphere changed!!" << LL_ENDL;
-// }
-
-
- F32 max_span = get_max_linkable_span(mBoundingSphere, other_info.mBoundingSphere);
-
- // F32 center_dist = (mBoundingSphere.getCenter() - other_info.mBoundingSphere.getCenter()).length();
- // LL_INFOS() << "objects are " << center_dist << "m apart" << LL_ENDL;
- F32 span = get_span(mBoundingSphere, other_info.mBoundingSphere);
-
- F32 span_limit = max_span + (2.f * other_info.mBoundingSphere.getRadius());
- if (span > span_limit)
- {
- // there is no way any piece of other_info could link with this one
- // LL_INFOS() << "span too large: " << span << " vs. " << span_limit << LL_ENDL;
- return 0;
- }
-
- bool completely_linkable = (span <= max_span) ? true : false;
-
- typename std::map< DATA_TYPE, LLSphere >::iterator map_itr = other_info.mDataMap.begin();
- while (map_itr != other_info.mDataMap.end()
- && getPrimCount() < MAX_PRIMS_PER_OBJECT )
- {
- DATA_TYPE other_data = (*map_itr).first;
- LLSphere& other_sphere = (*map_itr).second;
-
- if (!completely_linkable)
- {
- max_span = get_max_linkable_span(mBoundingSphere, other_sphere);
-
- F32 span = get_span(mBoundingSphere, other_sphere);
-
- if (span > max_span)
- {
- ++map_itr;
- continue;
- }
- }
-
- mDataMap[other_data] = other_sphere;
- ++link_count;
-
- if (!mBoundingSphere.contains(other_sphere) )
- {
- computeBoundingSphere();
- }
-
- // remove from the other info
- other_info.mDataMap.erase(map_itr++);
- }
-
- if (link_count > 0 && other_info.getPrimCount() > 0)
- {
- other_info.computeBoundingSphere();
- }
- return link_count;
-}
-
-// links any linkable elements of unlinked
-template < typename DATA_TYPE >
-S32 LLPrimLinkInfo< DATA_TYPE >::collapse(std::list< LLPrimLinkInfo< DATA_TYPE > > & unlinked)
-{
- S32 link_count = 0;
- bool linked_something = true;
- while (linked_something)
- {
- linked_something = false;
-
- typename std::list< LLPrimLinkInfo< DATA_TYPE > >::iterator this_itr = unlinked.begin();
- typename std::list< LLPrimLinkInfo< DATA_TYPE > >::iterator other_itr = this_itr;
- ++other_itr;
- while ( other_itr != unlinked.end() )
-
- {
- S32 merge_count = (*this_itr).merge(*other_itr);
- if (merge_count > 0)
- {
- linked_something = true;
- link_count += merge_count;
- }
- if (0 == (*other_itr).getPrimCount())
- {
- unlinked.erase(other_itr++);
- }
- else
- {
- ++other_itr;
- }
- }
- }
- return link_count;
-}
-
-
-template < typename DATA_TYPE >
-void LLPrimLinkInfo< DATA_TYPE >::computeBoundingSphere()
-{
- std::vector< LLSphere > sphere_list;
- typename std::map< DATA_TYPE, LLSphere >::const_iterator map_itr;
- for (map_itr = mDataMap.begin(); map_itr != mDataMap.end(); ++map_itr)
- {
- sphere_list.push_back(map_itr->second);
- }
- mBoundingSphere = LLSphere::getBoundingSphere(sphere_list);
-}
-
-
-#endif
-
diff --git a/indra/llrender/llrendertarget.h b/indra/llrender/llrendertarget.h
index cd3290cf66..ea4c38d483 100644
--- a/indra/llrender/llrendertarget.h
+++ b/indra/llrender/llrendertarget.h
@@ -42,7 +42,7 @@
...
//allocate a 256x256 RGBA render target with depth buffer
- target.allocate(256,256,GL_RGBA,TRUE);
+ target.allocate(256,256,GL_RGBA,true);
//render to contents of offscreen buffer
target.bindTarget();
diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt
index b543a12281..a71b1e747f 100644
--- a/indra/llui/CMakeLists.txt
+++ b/indra/llui/CMakeLists.txt
@@ -286,10 +286,8 @@ if(LL_TESTS)
)
set_property( SOURCE ${llui_TEST_SOURCE_FILES} PROPERTY LL_TEST_ADDITIONAL_LIBRARIES ${test_libs})
LL_ADD_PROJECT_UNIT_TESTS(llui "${llui_TEST_SOURCE_FILES}")
- # INTEGRATION TESTS
- if(NOT LINUX)
- set(test_libs llui llmessage llcorehttp llxml llrender llcommon ll::hunspell )
- LL_ADD_INTEGRATION_TEST(llurlentry llurlentry.cpp "${test_libs}")
- endif(NOT LINUX)
+ # INTEGRATION TESTS
+ set(test_libs llui llmessage llcorehttp llxml llrender llcommon ll::hunspell )
+ LL_ADD_INTEGRATION_TEST(llurlentry llurlentry.cpp "${test_libs}")
endif(LL_TESTS)
diff --git a/indra/llui/tests/llurlentry_stub.cpp b/indra/llui/tests/llurlentry_stub.cpp
index 95d1586495..8277c23691 100755
--- a/indra/llui/tests/llurlentry_stub.cpp
+++ b/indra/llui/tests/llurlentry_stub.cpp
@@ -50,16 +50,16 @@ LLAvatarNameCache::callback_connection_t LLAvatarNameCache::get(const LLUUID& ag
//
// Stub implementation for LLCacheName
//
-BOOL LLCacheName::getFullName(const LLUUID& id, std::string& fullname)
+bool LLCacheName::getFullName(const LLUUID& id, std::string& fullname)
{
fullname = "Lynx Linden";
- return TRUE;
+ return true;
}
-BOOL LLCacheName::getGroupName(const LLUUID& id, std::string& group)
+bool LLCacheName::getGroupName(const LLUUID& id, std::string& group)
{
group = "My Group";
- return TRUE;
+ return true;
}
boost::signals2::connection LLCacheName::get(const LLUUID& id, bool is_group, const LLCacheNameCallback& callback)
diff --git a/indra/llwindow/llwindowmacosx.h b/indra/llwindow/llwindowmacosx.h
index d703a84d02..dc8b7504c9 100644
--- a/indra/llwindow/llwindowmacosx.h
+++ b/indra/llwindow/llwindowmacosx.h
@@ -36,11 +36,6 @@
#include <ApplicationServices/ApplicationServices.h>
#include <OpenGL/OpenGL.h>
-// AssertMacros.h does bad things.
-#include "fix_macros.h"
-#undef verify
-#undef require
-
class LLWindowMacOSX : public LLWindow
{
public:
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 4172b4ade3..0dbfdd953f 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1434,8 +1434,6 @@ set(viewer_HEADER_FILES
noise.h
pipeline.h
roles_constants.h
- VertexCache.h
- VorbisFramework.h
)
source_group("CMake Rules" FILES ViewerInstall.cmake)
@@ -2343,7 +2341,7 @@ if (LL_TESTS)
lldateutil.cpp
# llmediadataclient.cpp
lllogininstance.cpp
-# llremoteparcelrequest.cpp
+ llremoteparcelrequest.cpp
llviewerhelputil.cpp
llversioninfo.cpp
# llvocache.cpp
@@ -2368,21 +2366,24 @@ if (LL_TESTS)
# )
set(test_libs
- llcommon
- llfilesystem
- llxml
- llmessage
- llcharacter
- llui
- lllogin
- llplugin
- llappearance
- )
+ llfilesystem
+ llmath
+ llcommon
+ llmessage
+ llcorehttp
+ llxml
+ llui
+ llplugin
+ llappearance
+ llprimitive
+ lllogin
+ )
- set_source_files_properties(
- llmediadataclient.cpp
- PROPERTIES
- LL_TEST_ADDITIONAL_LIBRARIES "${test_libs}"
+ set_property(SOURCE
+ ${viewer_TEST_SOURCE_FILES}
+ PROPERTY
+ LL_TEST_ADDITIONAL_LIBRARIES
+ ${test_libs}
)
set_source_files_properties(
@@ -2394,66 +2395,39 @@ if (LL_TESTS)
)
set_source_files_properties(
- llmediadataclient.cpp
- PROPERTIES
- LL_TEST_ADDITIONAL_LIBRARIES llprimitive
- )
-
- set_source_files_properties(
lllogininstance.cpp
PROPERTIES
- LL_TEST_ADDITIONAL_SOURCE_FILES llversioninfo.cpp
- )
-
- set_property( SOURCE
- ${viewer_TEST_SOURCE_FILES}
- PROPERTY
- LL_TEST_ADDITIONAL_LIBRARIES ${test_libs}
+ LL_TEST_ADDITIONAL_SOURCE_FILES
+ llversioninfo.cpp
)
LL_ADD_PROJECT_UNIT_TESTS(${VIEWER_BINARY_NAME} "${viewer_TEST_SOURCE_FILES}")
#set(TEST_DEBUG on)
-
- set(test_libs
- llfilesystem
- llmath
- llcommon
- llmessage
- llcorehttp
- llxml
- llui
- llplugin
- llappearance
- lllogin
- llprimitive
- lllogin
- )
-
LL_ADD_INTEGRATION_TEST(cppfeatures
""
"${test_libs}"
- )
+ )
LL_ADD_INTEGRATION_TEST(llsechandler_basic
llsechandler_basic.cpp
"${test_libs}"
- )
+ )
LL_ADD_INTEGRATION_TEST(llsecapi
- llsecapi.cpp
+ llsecapi.cpp
"${test_libs}"
- )
+ )
set(llslurl_test_sources
- llslurl.cpp
- llviewernetwork.cpp
+ llslurl.cpp
+ llviewernetwork.cpp
)
LL_ADD_INTEGRATION_TEST(llslurl
- "${llslurl_test_sources}"
+ "${llslurl_test_sources}"
"${test_libs}"
- )
+ )
set(llviewercontrollistener_test_sources
llviewercontrollistener.cpp
@@ -2461,31 +2435,34 @@ if (LL_TESTS)
../llxml/llxmltree.cpp
../llxml/llxmlparser.cpp
../llcommon/commoncontrol.cpp
- )
+ )
LL_ADD_INTEGRATION_TEST(llviewercontrollistener
"${llviewercontrollistener_test_sources}"
"${test_libs}"
- )
+ )
LL_ADD_INTEGRATION_TEST(llviewernetwork
- llviewernetwork.cpp
+ llviewernetwork.cpp
"${test_libs}"
- )
+ )
LL_ADD_INTEGRATION_TEST(llviewerassetstats
llviewerassetstats.cpp
"${test_libs}"
- )
-
-# LL_ADD_INTEGRATION_TEST(llhttpretrypolicy "llhttpretrypolicy.cpp" "${test_libs}")
-
- #ADD_VIEWER_BUILD_TEST(llmemoryview viewer)
- #ADD_VIEWER_BUILD_TEST(llagentaccess viewer)
- #ADD_VIEWER_BUILD_TEST(lltextureinfo viewer)
- #ADD_VIEWER_BUILD_TEST(lltextureinfodetails viewer)
+ )
+ LL_ADD_INTEGRATION_TEST(llhttpretrypolicy "llhttpretrypolicy.cpp" "${test_libs}")
+ set(lltextureinfo_test_sources
+ lltextureinfo.cpp
+ ../llxml/llcontrol.cpp
+ ../llxml/llxmltree.cpp
+ ../llxml/llxmlparser.cpp
+ ../llcommon/commoncontrol.cpp
+ )
+ LL_ADD_INTEGRATION_TEST(lltextureinfo "${lltextureinfo_test_sources}" "${test_libs}")
+ #LL_ADD_INTEGRATION_TEST(lltextureinfodetails "" "${test_libs}") test cases currently empty
endif (LL_TESTS)
check_message_template(${VIEWER_BINARY_NAME})
diff --git a/indra/newview/Info-SecondLifeVorbis.plist b/indra/newview/Info-SecondLifeVorbis.plist
deleted file mode 100644
index 9cb367eec1..0000000000
--- a/indra/newview/Info-SecondLifeVorbis.plist
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>SecondLifeVorbis</string>
- <key>CFBundleGetInfoString</key>
- <string></string>
- <key>CFBundleIconFile</key>
- <string></string>
- <key>CFBundleIdentifier</key>
- <string>com.secondlife.indra.vorbis</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>SecondLifeVorbis</string>
- <key>CFBundlePackageType</key>
- <string>FMWK</string>
- <key>CFBundleShortVersionString</key>
- <string></string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>0.0.1d1</string>
-</dict>
-</plist>
diff --git a/indra/newview/VertexCache.h b/indra/newview/VertexCache.h
deleted file mode 100644
index edb231feb1..0000000000
--- a/indra/newview/VertexCache.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/**
- * @file VertexCache.h
- * @brief VertexCache class definition
- *
- * $LicenseInfo:firstyear=2002&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$
- */
-
-
-#ifndef VERTEX_CACHE_H
-
-#define VERTEX_CACHE_H
-
-class VertexCache
-{
-
-public:
-
- VertexCache(int size)
- {
- numEntries = size;
-
- entries = new int[numEntries];
-
- for(int i = 0; i < numEntries; i++)
- entries[i] = -1;
- }
-
- VertexCache() { VertexCache(16); }
- ~VertexCache() { delete[] entries; entries = 0; }
-
- bool InCache(int entry)
- {
- bool returnVal = false;
- for(int i = 0; i < numEntries; i++)
- {
- if(entries[i] == entry)
- {
- returnVal = true;
- break;
- }
- }
-
- return returnVal;
- }
-
- int AddEntry(int entry)
- {
- int removed;
-
- removed = entries[numEntries - 1];
-
- //push everything right one
- for(int i = numEntries - 2; i >= 0; i--)
- {
- entries[i + 1] = entries[i];
- }
-
- entries[0] = entry;
-
- return removed;
- }
-
- void Clear()
- {
- memset(entries, -1, sizeof(int) * numEntries);
- }
-
- void Copy(VertexCache* inVcache)
- {
- for(int i = 0; i < numEntries; i++)
- {
- inVcache->Set(i, entries[i]);
- }
- }
-
- int At(int index) { return entries[index]; }
- void Set(int index, int value) { entries[index] = value; }
-
-private:
-
- int *entries;
- int numEntries;
-
-};
-
-#endif
diff --git a/indra/newview/VorbisFramework.h b/indra/newview/VorbisFramework.h
deleted file mode 100644
index 7ee9a8c411..0000000000
--- a/indra/newview/VorbisFramework.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * @file VorbisFramework.h
- * @author Dave Camp
- * @date Fri Oct 10 2003
- * @brief For the Macview project
- *
- * $LicenseInfo:firstyear=2003&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$
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ogg/ogg.h"
-#include "vorbis/codec.h"
-#include "vorbis/vorbisenc.h"
-
-extern int mac_vorbis_analysis(vorbis_block *vb,ogg_packet *op);
-
-extern int mac_vorbis_analysis_headerout(vorbis_dsp_state *v,
- vorbis_comment *vc,
- ogg_packet *op,
- ogg_packet *op_comm,
- ogg_packet *op_code);
-
-extern int mac_vorbis_analysis_init(vorbis_dsp_state *v,vorbis_info *vi);
-
-extern int mac_vorbis_encode_ctl(vorbis_info *vi,int number,void *arg);
-
-extern int mac_vorbis_encode_setup_init(vorbis_info *vi);
-
-extern int mac_vorbis_encode_setup_managed(vorbis_info *vi,
- long channels,
- long rate,
-
- long max_bitrate,
- long nominal_bitrate,
- long min_bitrate);
-
-extern void mac_vorbis_info_init(vorbis_info *vi);
-extern void mac_vorbis_info_clear(vorbis_info *vi);
-extern void mac_vorbis_comment_init(vorbis_comment *vc);
-extern void mac_vorbis_comment_clear(vorbis_comment *vc);
-extern int mac_vorbis_block_init(vorbis_dsp_state *v, vorbis_block *vb);
-extern int mac_vorbis_block_clear(vorbis_block *vb);
-extern void mac_vorbis_dsp_clear(vorbis_dsp_state *v);
-extern float **mac_vorbis_analysis_buffer(vorbis_dsp_state *v,int vals);
-extern int mac_vorbis_analysis_wrote(vorbis_dsp_state *v,int vals);
-extern int mac_vorbis_analysis_blockout(vorbis_dsp_state *v,vorbis_block *vb);
-
-extern int mac_ogg_stream_packetin(ogg_stream_state *os, ogg_packet *op);
-extern int mac_ogg_stream_init(ogg_stream_state *os,int serialno);
-extern int mac_ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
-extern int mac_ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
-extern int mac_ogg_page_eos(ogg_page *og);
-extern int mac_ogg_stream_clear(ogg_stream_state *os);
-
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/indra/newview/build_win32_appConfig.py b/indra/newview/build_win32_appConfig.py
deleted file mode 100755
index 1bfcc7a9bc..0000000000
--- a/indra/newview/build_win32_appConfig.py
+++ /dev/null
@@ -1,68 +0,0 @@
-# @file build_win32_appConfig.py
-# @brief Create the windows app.config file to redirect crt linkage.
-#
-# $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$
-
-import sys, os, re
-from xml.dom.minidom import parse
-
-def munge_binding_redirect_version(src_manifest_name, src_config_name, dst_config_name):
- manifest_dom = parse(src_manifest_name)
- node = manifest_dom.getElementsByTagName('assemblyIdentity')[0]
- manifest_assm_ver = node.getAttribute('version')
-
- config_dom = parse(src_config_name)
- node = config_dom.getElementsByTagName('bindingRedirect')[0]
- node.setAttribute('newVersion', manifest_assm_ver)
- src_old_ver = re.match('([^-]*-).*', node.getAttribute('oldVersion')).group(1)
- node.setAttribute('oldVersion', src_old_ver + manifest_assm_ver)
- comment = config_dom.createComment("This file is automatically generated by the build. see indra/newview/build_win32_appConfig.py")
- config_dom.insertBefore(comment, config_dom.childNodes[0])
-
- print("Writing: " + dst_config_name)
- f = open(dst_config_name, 'w')
- config_dom.writexml(f)
- f.close()
-
-
-
-def main():
- config = sys.argv[1]
- src_dir = sys.argv[2]
- dst_dir = sys.argv[3]
- dst_name = sys.argv[4]
-
- if config.lower() == 'debug':
- src_manifest_name = dst_dir + '/Microsoft.VC80.DebugCRT.manifest'
- src_config_name = src_dir + '/SecondLifeDebug.exe.config'
- else:
- src_manifest_name = dst_dir + '/Microsoft.VC80.CRT.manifest'
- src_config_name = src_dir + '/SecondLife.exe.config'
-
- dst_config_name = dst_dir + '/' + dst_name
-
- munge_binding_redirect_version(src_manifest_name, src_config_name, dst_config_name)
-
- return 0
-
-if __name__ == "__main__":
- main()
diff --git a/indra/newview/llcallbacklist.cpp b/indra/newview/llcallbacklist.cpp
index c474f2885b..1e596624b9 100644
--- a/indra/newview/llcallbacklist.cpp
+++ b/indra/newview/llcallbacklist.cpp
@@ -70,33 +70,33 @@ void LLCallbackList::addFunction( callback_t func, void *data)
}
-BOOL LLCallbackList::containsFunction( callback_t func, void *data)
+bool LLCallbackList::containsFunction( callback_t func, void *data)
{
callback_pair_t t(func, data);
callback_list_t::iterator iter = std::find(mCallbackList.begin(), mCallbackList.end(), t);
if (iter != mCallbackList.end())
{
- return TRUE;
+ return true;
}
else
{
- return FALSE;
+ return false;
}
}
-BOOL LLCallbackList::deleteFunction( callback_t func, void *data)
+bool LLCallbackList::deleteFunction( callback_t func, void *data)
{
callback_pair_t t(func, data);
callback_list_t::iterator iter = std::find(mCallbackList.begin(), mCallbackList.end(), t);
if (iter != mCallbackList.end())
{
mCallbackList.erase(iter);
- return TRUE;
+ return true;
}
else
{
- return FALSE;
+ return false;
}
}
diff --git a/indra/newview/lleventnotifier.h b/indra/newview/lleventnotifier.h
index 2a9295129d..be96b7680f 100644
--- a/indra/newview/lleventnotifier.h
+++ b/indra/newview/lleventnotifier.h
@@ -47,7 +47,7 @@ struct LLEventInfo
std::string mSimName;
LLVector3d mPosGlobal;
F64 mUnixTime; // seconds from 1970
- BOOL mHasCover;
+ bool mHasCover;
U32 mCover;
U32 mEventFlags;
};
diff --git a/indra/newview/llfloaterdirectory.h b/indra/newview/llfloaterdirectory.h
index de788443be..fb3b9975ed 100644
--- a/indra/newview/llfloaterdirectory.h
+++ b/indra/newview/llfloaterdirectory.h
@@ -76,6 +76,6 @@ private:
static LLFloaterDirectory *sInstance;
};
-//extern BOOL gDisplayEventHack;
+//extern bool gDisplayEventHack;
#endif // LL_LLDIRECTORYFLOATER_H
diff --git a/indra/newview/llfloaterimsession.h b/indra/newview/llfloaterimsession.h
index a442099ad1..aa03fc4e62 100644
--- a/indra/newview/llfloaterimsession.h
+++ b/indra/newview/llfloaterimsession.h
@@ -39,7 +39,6 @@ class LLAvatarName;
class LLButton;
class LLChatEntry;
class LLTextEditor;
-class LLPanelChatControlPanel;
class LLChatHistory;
class LLInventoryItem;
class LLInventoryCategory;
diff --git a/indra/newview/llfloaterimsessiontab.h b/indra/newview/llfloaterimsessiontab.h
index 6d04d622e1..289a9e90fe 100644
--- a/indra/newview/llfloaterimsessiontab.h
+++ b/indra/newview/llfloaterimsessiontab.h
@@ -38,7 +38,6 @@
#include "llconversationview.h"
#include "lltexteditor.h"
-class LLPanelChatControlPanel;
class LLChatEntry;
class LLChatHistory;
class LLPanelEmojiComplete;
diff --git a/indra/newview/lllocalbitmaps.cpp b/indra/newview/lllocalbitmaps.cpp
index 6e56aac270..a5ab5538e7 100644
--- a/indra/newview/lllocalbitmaps.cpp
+++ b/indra/newview/lllocalbitmaps.cpp
@@ -31,8 +31,6 @@
/* own header */
#include "lllocalbitmaps.h"
-/* boost: will not compile unless equivalent is undef'd, beware. */
-#include "fix_macros.h"
#include <boost/filesystem.hpp>
/* image compression headers. */
diff --git a/indra/newview/lllocalgltfmaterials.cpp b/indra/newview/lllocalgltfmaterials.cpp
index d6facad23d..aeae7cb56a 100644
--- a/indra/newview/lllocalgltfmaterials.cpp
+++ b/indra/newview/lllocalgltfmaterials.cpp
@@ -30,8 +30,6 @@
/* own header */
#include "lllocalgltfmaterials.h"
-/* boost: will not compile unless equivalent is undef'd, beware. */
-#include "fix_macros.h"
#include <boost/filesystem.hpp>
/* time headers */
diff --git a/indra/newview/lllookshistorypanel.h b/indra/newview/lllookshistorypanel.h
deleted file mode 100644
index 6293de7170..0000000000
--- a/indra/newview/lllookshistorypanel.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * @file llpanelteleporthistory.h
- * @brief Teleport history represented by a scrolling list
- * class definition
- *
- * $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$
- */
-
-#ifndef LL_LLPANELLOOKSHISTORY_H
-#define LL_LLPANELLOOKSHISTORY_H
-
-#include "lluictrlfactory.h"
-#include "llscrolllistctrl.h"
-
-#include "llpanelappearancetab.h"
-#include "lllookshistory.h"
-
-class LLLooksHistoryPanel : public LLPanelAppearanceTab
-{
-public:
- LLLooksHistoryPanel();
- virtual ~LLLooksHistoryPanel();
-
- /*virtual*/ BOOL postBuild();
- /*virtual*/ void onSearchEdit(const std::string& string);
- /*virtual*/ void onShowOnMap();
- /*virtual*/ void onLooks();
- ///*virtual*/ void onCopySLURL();
-
- void showLooksHistory();
- void handleItemSelect(const LLSD& data);
-
- static void onDoubleClickItem(void* user_data);
-
-private:
- enum LOOKS_HISTORY_COLUMN_ORDER
- {
- LIST_ICON,
- LIST_ITEM_TITLE,
- LIST_INDEX
- };
-
- LLLooksHistory* mLooksHistory;
- LLScrollListCtrl* mHistoryItems;
- std::string mFilterSubString;
-};
-
-#endif //LL_LLPANELLOOKSHISTORY_H
diff --git a/indra/newview/llpaneldirland.cpp b/indra/newview/llpaneldirland.cpp
index 53c58d8fa9..e2ef44a604 100644
--- a/indra/newview/llpaneldirland.cpp
+++ b/indra/newview/llpaneldirland.cpp
@@ -197,7 +197,7 @@ void LLPanelDirLand::performQuery()
if (list)
{
std::string sort_name = list->getSortColumnName();
- BOOL sort_asc = list->getSortAscending();
+ bool sort_asc = list->getSortAscending();
if (sort_name == "name")
{
diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp
deleted file mode 100644
index 07a8641a92..0000000000
--- a/indra/newview/llpanelimcontrolpanel.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * @file llpanelimcontrolpanel.cpp
- * @brief LLPanelIMControlPanel and related class implementations
- *
- * $LicenseInfo:firstyear=2004&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 "llfloaterreg.h"
-
-#include "llpanelimcontrolpanel.h"
-
-#include "llagent.h"
-#include "llappviewer.h" // for gDisconnected
-#include "llavataractions.h"
-#include "llavatariconctrl.h"
-#include "llbutton.h"
-#include "llgroupactions.h"
-#include "llavatarlist.h"
-#include "llparticipantlist.h"
-#include "llimview.h"
-#include "llspeakers.h"
-#include "lltrans.h"
-
-
diff --git a/indra/newview/llpanelimcontrolpanel.h b/indra/newview/llpanelimcontrolpanel.h
deleted file mode 100644
index c7f5263bec..0000000000
--- a/indra/newview/llpanelimcontrolpanel.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * @file llpanelimcontrolpanel.h
- * @brief LLPanelIMControlPanel and related class definitions
- *
- * $LicenseInfo:firstyear=2004&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$
- */
-
-#ifndef LL_LLPANELIMCONTROLPANEL_H
-#define LL_LLPANELIMCONTROLPANEL_H
-
-#include "llpanel.h"
-#include "llcallingcard.h"
-
-class LLParticipantList;
-
-class LLPanelChatControlPanel
- : public LLPanel
-{
-public:
- LLPanelChatControlPanel() :
- mSessionId(LLUUID()) {};
- ~LLPanelChatControlPanel();
-
- virtual BOOL postBuild();
-
- virtual void setSessionId(const LLUUID& session_id);
- const LLUUID& getSessionId() { return mSessionId; }
-
-private:
- LLUUID mSessionId;
-
- // connection to voice channel state change signal
- boost::signals2::connection mVoiceChannelStateChangeConnection;
-};
-
-class LLPanelGroupControlPanel : public LLPanelChatControlPanel
-{
-public:
- LLPanelGroupControlPanel(const LLUUID& session_id);
- ~LLPanelGroupControlPanel();
-
- BOOL postBuild();
-
- void setSessionId(const LLUUID& session_id);
- /*virtual*/ void draw();
-
-protected:
- LLUUID mGroupID;
-
- LLParticipantList* mParticipantList;
-
-private:
- void onSortMenuItemClicked(const LLSD& userdata);
-};
-
-class LLPanelAdHocControlPanel : public LLPanelGroupControlPanel
-{
-public:
- LLPanelAdHocControlPanel(const LLUUID& session_id);
-
- BOOL postBuild();
-
-};
-
-#endif // LL_LLPANELIMCONTROLPANEL_H
diff --git a/indra/newview/lltoolview.cpp b/indra/newview/lltoolview.cpp
deleted file mode 100644
index 179aae1e02..0000000000
--- a/indra/newview/lltoolview.cpp
+++ /dev/null
@@ -1,196 +0,0 @@
-/**
- * @file lltoolview.cpp
- * @brief A UI contains for tool palette tools
- *
- * $LicenseInfo:firstyear=2001&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 "lltoolview.h"
-
-#include "llfontgl.h"
-#include "llrect.h"
-
-#include "llagent.h"
-#include "llbutton.h"
-#include "llpanel.h"
-#include "lltool.h"
-#include "lltoolmgr.h"
-#include "lltextbox.h"
-#include "llresmgr.h"
-
-
-LLToolContainer::LLToolContainer(LLToolView* parent)
-: mParent(parent),
- mButton(NULL),
- mPanel(NULL),
- mTool(NULL)
-{ }
-
-
-LLToolContainer::~LLToolContainer()
-{
- // mParent is a pointer to the tool view
- // mButton is owned by the tool view
- // mPanel is owned by the tool view
- delete mTool;
- mTool = NULL;
-}
-
-
-LLToolView::LLToolView(const std::string& name, const LLRect& rect)
-: mButtonCount(0)
-{
- LLView::init(LLView::Params().name(name).rect(rect).mouse_opaque(true));
-}
-
-
-LLToolView::~LLToolView()
-{
- for_each(mContainList.begin(), mContainList.end(), DeletePointer());
- mContainList.clear();
-}
-
-//*TODO:translate?
-// void LLToolView::addTool(const std::string& icon_off, const std::string& icon_on, LLPanel* panel, LLTool* tool, LLView* hoverView, const char* label)
-// {
-// llassert(tool);
-
-// LLToolContainer* contain = new LLToolContainer(this);
-
-// LLRect btn_rect = getButtonRect(mButtonCount);
-
-// contain->mButton = new LLButton("ToolBtn",
-// btn_rect,
-// icon_off,
-// icon_on,
-// "",
-// &LLToolView::onClickToolButton,
-// contain,
-// LLFontGL::getFontSansSerif());
-
-// contain->mPanel = panel;
-// contain->mTool = tool;
-
-// addChild(contain->mButton);
-// mButtonCount++;
-
-// const S32 LABEL_TOP_SPACING = 0;
-// const LLFontGL* font = LLResMgr::getInstance()->getRes( LLFONT_SANSSERIF_SMALL );
-// S32 label_width = font->getWidth( label );
-// LLRect label_rect;
-// label_rect.setLeftTopAndSize(
-// btn_rect.mLeft + btn_rect.getWidth() / 2 - label_width / 2,
-// btn_rect.mBottom - LABEL_TOP_SPACING,
-// label_width,
-// llfloor(font->getLineHeight()));
-// addChild( new LLTextBox( "tool label", label_rect, label, font ) );
-
-// // Can optionally ignore panel
-// if (contain->mPanel)
-// {
-// contain->mPanel->setBackgroundVisible( FALSE );
-// contain->mPanel->setBorderVisible( FALSE );
-// addChild(contain->mPanel);
-// }
-
-// mContainList.push_back(contain);
-// }
-
-
-LLRect LLToolView::getButtonRect(S32 button_index)
-{
- const S32 HPAD = 7;
- const S32 VPAD = 7;
- const S32 TOOL_SIZE = 32;
- const S32 HORIZ_SPACING = TOOL_SIZE + 5;
- const S32 VERT_SPACING = TOOL_SIZE + 14;
-
- S32 tools_per_row = getRect().getWidth() / HORIZ_SPACING;
-
- S32 row = button_index / tools_per_row;
- S32 column = button_index % tools_per_row;
-
- // Build the rectangle, recalling the origin is at lower left
- // and we want the icons to build down from the top.
- LLRect rect;
- rect.setLeftTopAndSize( HPAD + (column * HORIZ_SPACING),
- -VPAD + getRect().getHeight() - (row * VERT_SPACING),
- TOOL_SIZE,
- TOOL_SIZE
- );
-
- return rect;
-}
-
-
-void LLToolView::draw()
-{
- // turn off highlighting for all containers
- // and hide all option panels except for the selected one.
- LLTool* selected = LLToolMgr::getInstance()->getCurrentToolset()->getSelectedTool();
- for (contain_list_t::iterator iter = mContainList.begin();
- iter != mContainList.end(); ++iter)
- {
- LLToolContainer* contain = *iter;
- BOOL state = (contain->mTool == selected);
- contain->mButton->setToggleState( state );
- if (contain->mPanel)
- {
- contain->mPanel->setVisible( state );
- }
- }
-
- // Draw children normally
- LLView::draw();
-}
-
-// protected
-LLToolContainer* LLToolView::findToolContainer( LLTool *tool )
-{
- // Find the container for this tool
- llassert( tool );
- for (contain_list_t::iterator iter = mContainList.begin();
- iter != mContainList.end(); ++iter)
- {
- LLToolContainer* contain = *iter;
- if( contain->mTool == tool )
- {
- return contain;
- }
- }
- LL_ERRS() << "LLToolView::findToolContainer - tool not found" << LL_ENDL;
- return NULL;
-}
-
-// static
-void LLToolView::onClickToolButton(void* userdata)
-{
- LLToolContainer* clicked = (LLToolContainer*) userdata;
-
- // Switch to this one
- LLToolMgr::getInstance()->getCurrentToolset()->selectTool( clicked->mTool );
-}
-
-
-
diff --git a/indra/newview/lltoolview.h b/indra/newview/lltoolview.h
deleted file mode 100644
index 7b348e7088..0000000000
--- a/indra/newview/lltoolview.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * @file lltoolview.h
- * @brief UI container for tools.
- *
- * $LicenseInfo:firstyear=2001&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$
- */
-
-#ifndef LL_LLTOOLVIEW_H
-#define LL_LLTOOLVIEW_H
-
-// requires stdtypes.h
-#include "llpanel.h"
-
-// forward declares
-class LLTool;
-class LLButton;
-
-class LLToolView;
-
-
-// Utility class, container for the package of information we need about
-// each tool. The package can either point directly to a tool, or indirectly
-// to another view of tools.
-class LLToolContainer
-{
-public:
- LLToolContainer(LLToolView* parent);
- ~LLToolContainer();
-
-public:
- LLToolView* mParent; // toolview that owns this container
- LLButton* mButton;
- LLPanel* mPanel;
- LLTool* mTool; // if not NULL, this is a tool ref
-};
-
-
-// A view containing automatically arranged button icons representing
-// tools. The icons sit on top of panels containing options for each
-// tool.
-class LLToolView
-: public LLView
-{
-public:
- LLToolView(const std::string& name, const LLRect& rect);
- ~LLToolView();
-
- virtual void draw(); // handle juggling tool button highlights, panel visibility
-
- static void onClickToolButton(void* container);
-
- LLView* getCurrentHoverView();
-
-private:
- LLRect getButtonRect(S32 button_index); // return rect for button to add, zero-based index
- LLToolContainer *findToolContainer(LLTool *tool);
-
-
-private:
- typedef std::vector<LLToolContainer*> contain_list_t;
- contain_list_t mContainList;
- S32 mButtonCount; // used to compute rectangles
-};
-
-#endif
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index 24560aa21d..071a66209b 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -3623,7 +3623,7 @@ LLViewerMediaImpl::canUndo() const
if (mMediaSource)
return mMediaSource->canUndo();
else
- return FALSE;
+ return false;
}
////////////////////////////////////////////////////////////////////////////////
@@ -3643,7 +3643,7 @@ LLViewerMediaImpl::canRedo() const
if (mMediaSource)
return mMediaSource->canRedo();
else
- return FALSE;
+ return false;
}
////////////////////////////////////////////////////////////////////////////////
@@ -3723,7 +3723,7 @@ LLViewerMediaImpl::canDoDelete() const
if (mMediaSource)
return mMediaSource->canDoDelete();
else
- return FALSE;
+ return false;
}
////////////////////////////////////////////////////////////////////////////////
@@ -3743,7 +3743,7 @@ LLViewerMediaImpl::canSelectAll() const
if (mMediaSource)
return mMediaSource->canSelectAll();
else
- return FALSE;
+ return false;
}
void LLViewerMediaImpl::setUpdated(bool updated)
diff --git a/indra/newview/llvoicevisualizer.cpp b/indra/newview/llvoicevisualizer.cpp
index c5704982b8..e6dac0530d 100644
--- a/indra/newview/llvoicevisualizer.cpp
+++ b/indra/newview/llvoicevisualizer.cpp
@@ -32,7 +32,6 @@
#include "llviewerprecompiledheaders.h"
#include "llviewercontrol.h"
#include "llglheaders.h"
-#include "llsphere.h"
#include "llvoicevisualizer.h"
#include "llviewercamera.h"
#include "llviewerobject.h"
diff --git a/indra/newview/macutil_Prefix.h b/indra/newview/macutil_Prefix.h
deleted file mode 100644
index 4972ee4fa5..0000000000
--- a/indra/newview/macutil_Prefix.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * @file macutil_Prefix.h
- * @brief Precompiled prefix file
- *
- * $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$
- */
-
-/*
- *
- * Precompiled prefix file used for
- * AutoUpdater
- * crashreporter
- *
- */
-
-#include "fix_macros.h"
-
-#undef verify
-#undef require
diff --git a/indra/newview/macview_Prefix.h b/indra/newview/macview_Prefix.h
deleted file mode 100644
index faad8fa704..0000000000
--- a/indra/newview/macview_Prefix.h
+++ /dev/null
@@ -1,229 +0,0 @@
-/**
- * @file macview_Prefix.h
- * @brief Prefix header for all source files of the 'newview' target in the 'newview' project.
- *
- * $LicenseInfo:firstyear=2003&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$
- */
-
-// MBW -- This doesn't work. There are some conflicts between things in Carbon.h and some of the linden source.
-//#include <Carbon/Carbon.h>
-
-////////////////// From llagent.cpp
-#include "llpreprocessor.h"
-#include "stdtypes.h"
-#include "stdenums.h"
-
-#include "llagent.h"
-
-#include "llcoordframe.h"
-#include "indra_constants.h"
-#include "llmath.h"
-#include "llcriticaldamp.h"
-#include "llfocusmgr.h"
-#include "llparcel.h"
-#include "llpermissions.h"
-#include "llregionhandle.h"
-#include "m3math.h"
-#include "m4math.h"
-#include "message.h"
-#include "qmath.h"
-#include "v3math.h"
-#include "v4math.h"
-#include "vmath.h"
-//#include "llteleportflags.h"
-
-#include "llbox.h"
-#include "llbutton.h"
-#include "llconsole.h"
-#include "lldrawable.h"
-#include "llfirstuse.h"
-#include "llfloater.h"
-#include "llfloaterbuildoptions.h"
-#include "llfloaterchat.h"
-#include "llfloatergroups.h"
-#include "llfloaterworldmap.h"
-#include "llfloatermute.h"
-#include "llconversation.h"
-#include "llfloatertools.h"
-#include "llhudeffectlookat.h"
-#include "llhudmanager.h"
-#include "lljoystickbutton.h"
-#include "llmenugl.h"
-#include "llmorphview.h"
-#include "llmoveview.h"
-#include "llselectmgr.h"
-#include "llsky.h"
-#include "llrendersphere.h"
-#include "llstatusbar.h"
-#include "lltalkview.h"
-#include "lltool.h"
-#include "lltoolfocus.h"
-#include "lltoolcomp.h" // for gToolGun
-#include "lltoolgrab.h"
-#include "lltoolmgr.h"
-#include "lltoolpie.h"
-#include "llui.h" // for make_ui_sound
-#include "llviewercamera.h"
-#include "llviewermenu.h"
-#include "llviewerobjectlist.h"
-#include "llviewerparcelmgr.h"
-#include "llviewerparceloverlay.h"
-#include "llviewerregion.h"
-#include "llviewerstats.h"
-#include "llviewerwindow.h"
-#include "llvoavatar.h"
-#include "llvoground.h"
-#include "llvosky.h"
-#include "llworld.h"
-#include "pipeline.h"
-
-/////////////////// From llfloater.cpp
-#include "llbutton.h"
-#include "lldraghandle.h"
-#include "llfocusmgr.h"
-#include "llresizebar.h"
-#include "llresizehandle.h"
-#include "llresmgr.h"
-#include "llui.h"
-#include "llviewborder.h"
-#include "lluictrlfactory.h"
-
-
-/////////////////// From lldrawpool.cpp
-#include "llface.h"
-#include "llcontrol.h"
-#include "pipeline.h"
-
-#include "llviewerobjectlist.h" // For debug listing.
-
-//extern LLPipeline gPipeline;
-
-#include "lldrawpoolsimple.h"
-#include "lldrawpoolalpha.h"
-#include "lldrawpoolavatar.h"
-#include "lldrawpooltree.h"
-#include "lldrawpoolterrain.h"
-#include "lldrawpoolsky.h"
-#include "lldrawpoolwater.h"
-#include "lldrawpoolground.h"
-#include "lldrawpoolbump.h"
-
-/////////////////// From llface.cpp
-#include "llgl.h"
-#include "llviewerimage.h"
-#include "llsky.h"
-#include "llvosky.h"
-#include "llcontrol.h"
-#include "v3color.h"
-#include "pipeline.h"
-#include "llvolume.h"
-#include "llviewercamera.h"
-#include "lllightconstants.h"
-
-#include "llvovolume.h"
-#include "m3math.h"
-#include "lldrawpoolbump.h"
-
-
-
-/////////////////// From llpanel.cpp
-#include "llpanel.h"
-
-#include "llfontgl.h"
-#include "llrect.h"
-#include "llerror.h"
-#include "lltimer.h"
-
-#include "llmenugl.h"
-#include "llstatusbar.h"
-#include "llui.h"
-#include "llkeyboard.h"
-#include "llviewerwindow.h"
-#include "llcontrol.h"
-#include "lluictrl.h"
-#include "lluictrlfactory.h"
-#include "llviewborder.h"
-#include "llviewerimagelist.h"
-#include "llbutton.h"
-#include "llfocusmgr.h"
-
-
-
-/////////////////// From llvovolume.cpp
-#include "llvovolume.h"
-#include "llviewerimagelist.h"
-
-#include "llcontrol.h"
-
-#include "object_flags.h"
-
-#include "material_codes.h"
-#include "llagent.h"
-#include "llworld.h"
-#include "llviewerregion.h"
-#include "llprimitive.h"
-#include "llvolume.h"
-#include "lldrawable.h"
-#include "llface.h"
-#include "llvolumemgr.h"
-#include "llsky.h"
-
-#include "pipeline.h"
-#include "llmaterialtable.h"
-#include "message.h"
-#include "llviewertextureanim.h"
-#include "llviewercamera.h"
-#include "lldrawpoolbump.h"
-
-
-/////////////////// From llagentpilot.cpp
-#include "llagentpilot.h"
-#include "llagent.h"
-#include "llframestats.h"
-#include "viewer.h"
-#include "llcontrol.h"
-
-
-/////////////////// From llloginview.cpp
-#include "llloginview.h"
-
-#include "indra_constants.h" // for key and mask constants
-#include "llfontgl.h"
-#include "v4color.h"
-#include "llwindow_impl.h"
-
-#include "llbutton.h"
-#include "llcheckboxctrl.h"
-#include "llcombobox.h"
-#include "llcontrol.h"
-#include "lllineeditor.h"
-#include "lltextbox.h"
-#include "llui.h"
-//#include "lluiconstants.h"
-#include "llviewerimagelist.h"
-#include "llviewermenu.h" // for handle_preferences()
-#include "llviewerwindow.h" // to link into child list
-#include "llfocusmgr.h"
-#include "llmd5.h"
-#include "llversion.h"
-#include "viewer.h"
-
diff --git a/indra/newview/tests/gpus_results.txt b/indra/newview/tests/gpus_results.txt
deleted file mode 100644
index 3b3fb1aeb6..0000000000
--- a/indra/newview/tests/gpus_results.txt
+++ /dev/null
@@ -1,3111 +0,0 @@
-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(R) GM45 Express Chipset unsupported 1 1 3 Mesa
-Intel Open Source Technology Center Mesa DRI Mobile Intel(R) 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(R) GM45 Express Chipset unsupported 1 1 3 Mesa
-Tungsten Graphics, Inc Mesa DRI Mobile Intel(R) GM45 Express Chipset GEM 20091221 2009Q4 supported 1 1 2.1 Intel Q45/Q43
-Tungsten Graphics, Inc Mesa DRI Mobile Intel(R) GM45 Express Chipset GEM 20091221 2009Q4 x86/MMX/SSE2 supported 1 1 2.1 Intel Q45/Q43
-Tungsten Graphics, Inc Mesa DRI Mobile Intel(R) GM45 Express Chipset GEM 20100330 DEVELOPMENT x86/MMX unsupported 1 1 3 Mesa
-Tungsten Graphics, Inc Mesa DRI Mobile Intel(R) 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
deleted file mode 100644
index 66cbeece97..0000000000
--- a/indra/newview/tests/gpus_seen.txt
+++ /dev/null
@@ -1,4225 +0,0 @@
-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(R) GM45 Express Chipset
-Intel Open Source Technology Center Mesa DRI Mobile Intel(R) 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(R) GM45 Express Chipset
-Tungsten Graphics, Inc Mesa DRI Mobile Intel(R) GM45 Express Chipset GEM 20091221 2009Q4
-Tungsten Graphics, Inc Mesa DRI Mobile Intel(R) GM45 Express Chipset GEM 20091221 2009Q4 x86/MMX/SSE2
-Tungsten Graphics, Inc Mesa DRI Mobile Intel(R) GM45 Express Chipset GEM 20100330 DEVELOPMENT x86/MMX/SSE2
-Tungsten Graphics, Inc Mesa DRI Mobile Intel(R) GM45 Express Chipset x86/MMX/SSE2
-Tungsten Graphics, Inc Mesa DRI Mobile Intel(R) 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
deleted file mode 100644
index 083f29aaa0..0000000000
--- a/indra/newview/tests/gpus_unmatched.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-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/lldir_stub.cpp b/indra/newview/tests/lldir_stub.cpp
index 5d9c2f718b..ff4a4daf6d 100644
--- a/indra/newview/tests/lldir_stub.cpp
+++ b/indra/newview/tests/lldir_stub.cpp
@@ -28,7 +28,7 @@
LLDir::LLDir() {}
LLDir::~LLDir() {}
-BOOL LLDir::deleteFilesInDir(const std::string &dirname, const std::string &mask) { return true; }
+S32 LLDir::deleteFilesInDir(const std::string &dirname, const std::string &mask) { return 1; }
void LLDir::setChatLogsDir(const std::string &path) {}
void LLDir::setPerAccountChatLogsDir(const std::string &) {}
void LLDir::updatePerAccountChatLogsDir() {}
diff --git a/indra/newview/tests/llglslshader_stub.cpp b/indra/newview/tests/llglslshader_stub.cpp
deleted file mode 100644
index 537434a6d8..0000000000
--- a/indra/newview/tests/llglslshader_stub.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * @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/llpipeline_stub.cpp b/indra/newview/tests/llpipeline_stub.cpp
deleted file mode 100644
index 62b71e51e5..0000000000
--- a/indra/newview/tests/llpipeline_stub.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * @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
index c8fa2fbd6f..9f3d7454ad 100644
--- a/indra/newview/tests/llremoteparcelrequest_test.cpp
+++ b/indra/newview/tests/llremoteparcelrequest_test.cpp
@@ -27,7 +27,6 @@
#include "linden_common.h"
#include "../test/lltut.h"
-#if 0
#include "../llremoteparcelrequest.h"
@@ -40,16 +39,6 @@ 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 &,std::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) { }
@@ -136,4 +125,3 @@ namespace tut
processor.processParcelInfoReply(gMessageSystem, NULL);
}
}
-#endif
diff --git a/indra/newview/tests/llsky_stub.cpp b/indra/newview/tests/llsky_stub.cpp
deleted file mode 100644
index 8faca2665a..0000000000
--- a/indra/newview/tests/llsky_stub.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * @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/lltextureinfo_test.cpp b/indra/newview/tests/lltextureinfo_test.cpp
index d491ce0f65..58451a1069 100644
--- a/indra/newview/tests/lltextureinfo_test.cpp
+++ b/indra/newview/tests/lltextureinfo_test.cpp
@@ -32,6 +32,13 @@
// Dependencies
#include "../lltextureinfodetails.cpp"
+#include "../llagent.h"
+#include "../llappviewer.h"
+#include "../llmeshrepository.h"
+#include "../lltexturecache.h"
+#include "../lltexturefetch.h"
+#include "../llvocache.h"
+
// Tut header
#include "../test/lltut.h"
@@ -43,6 +50,39 @@
// * 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.
+LLControlGroup gSavedSettings("Global");
+
+void send_texture_stats_to_sim(const LLSD& texture_stats) {}
+
+LLAgent gAgent;
+LLAgent::LLAgent() : mAgentAccess(nullptr) { }
+LLAgent::~LLAgent() { }
+LLViewerRegion* LLAgent::getRegion() const { return nullptr; }
+
+LLTextureCache* LLAppViewer::sTextureCache = nullptr;
+LLTextureFetch* LLAppViewer::sTextureFetch = nullptr;
+
+U32 LLMeshRepository::sCacheReads = 0;
+std::atomic<U32> LLMeshRepository::sCacheWrites = 0;
+
+S64 LLTextureCache::sCacheMaxTexturesSize = 0; // no limit
+
+void LLTextureFetch::getStateStats(U32* cache_read, U32* cache_write, U32* res_wait)
+{
+ *cache_read = 0;
+ *cache_write = 0;
+ *res_wait = 0;
+}
+
+LLVOCache::LLVOCache(bool read_only) :
+ mInitialized(false),
+ mReadOnly(read_only),
+ mNumEntries(0),
+ mCacheSize(1),
+ mEnabled(true)
+{}
+
+LLVOCache::~LLVOCache() {}
// End Stubbing
// -------------------------------------------------------------------------------------------
@@ -89,7 +129,7 @@ namespace tut
void textureinfo_object_t::test<1>()
{
LLTextureInfo tex_info;
- tex_info.setUpLogging(true, true);
+ tex_info.setLogging(true);
ensure("have we crashed?", true);
}
@@ -98,7 +138,7 @@ namespace tut
void textureinfo_object_t::test<2>()
{
LLTextureInfo tex_info;
- tex_info.setUpLogging(true, true);
+ tex_info.setLogging(true);
LLUUID nonExistant("3a0efa3b-84dc-4e17-9b8c-79ea028850c1");
ensure(!tex_info.has(nonExistant));
@@ -109,7 +149,7 @@ namespace tut
void textureinfo_object_t::test<3>()
{
LLTextureInfo tex_info;
- tex_info.setUpLogging(true, true);
+ tex_info.setLogging(true);
LLUUID id("10e65d70-46fd-429f-841a-bf698e9424d3");
tex_info.setRequestStartTime(id, 200);
@@ -122,7 +162,7 @@ namespace tut
void textureinfo_object_t::test<4>()
{
LLTextureInfo tex_info;
- tex_info.setUpLogging(true, true);
+ tex_info.setLogging(true);
LLUUID nonExistant("3a0efa3b-84dc-4e17-9b8c-79ea028850c1");
ensure_equals(tex_info.getRequestStartTime(nonExistant), 0);
@@ -133,7 +173,7 @@ namespace tut
void textureinfo_object_t::test<5>()
{
LLTextureInfo tex_info;
- tex_info.setUpLogging(true, true);
+ tex_info.setLogging(true);
LLUUID nonExistant("3a0efa3b-84dc-4e17-9b8c-79ea028850c1");
ensure_equals(tex_info.getRequestCompleteTime(nonExistant), 0);
@@ -144,7 +184,7 @@ namespace tut
void textureinfo_object_t::test<6>()
{
LLTextureInfo tex_info;
- tex_info.setUpLogging(true, true);
+ tex_info.setLogging(true);
LLUUID id("10e65d70-46fd-429f-841a-bf698e9424d3");
tex_info.setRequestSize(id, 600);
@@ -157,7 +197,7 @@ namespace tut
void textureinfo_object_t::test<7>()
{
LLTextureInfo tex_info;
- tex_info.setUpLogging(true, true);
+ tex_info.setLogging(true);
LLUUID id("10e65d70-46fd-429f-841a-bf698e9424d3");
tex_info.setRequestType(id, LLTextureInfoDetails::REQUEST_TYPE_HTTP);
@@ -170,7 +210,7 @@ namespace tut
void textureinfo_object_t::test<8>()
{
LLTextureInfo tex_info;
- tex_info.setUpLogging(true, true);
+ tex_info.setLogging(true);
LLUUID id("10e65d70-46fd-429f-841a-bf698e9424d3");
tex_info.setRequestType(id, LLTextureInfoDetails::REQUEST_TYPE_UDP);
@@ -183,7 +223,7 @@ namespace tut
void textureinfo_object_t::test<9>()
{
LLTextureInfo tex_info;
- tex_info.setUpLogging(true, true);
+ tex_info.setLogging(true);
LLUUID id("10e65d70-46fd-429f-841a-bf698e9424d3");
tex_info.setRequestOffset(id, 1234);
@@ -195,11 +235,13 @@ namespace tut
template<> template<>
void textureinfo_object_t::test<10>()
{
+ skip("Test skipped due to use of LLTrace stats failing in test");
+
LLTextureInfo tex_info;
- tex_info.setUpLogging(true, true);
+ tex_info.setLogging(true);
S32 requestStartTimeOne = 200;
- S32 requestEndTimeOne = 400;
+ U64Microseconds requestEndTimeOne(400);
S32 requestSizeOne = 1024;
S32 requestSizeOneBits = requestSizeOne * 8;
LLUUID id1("10e65d70-46fd-429f-841a-bf698e9424d3");
@@ -209,7 +251,7 @@ namespace tut
tex_info.setRequestCompleteTimeAndLog(id1, requestEndTimeOne);
U32 requestStartTimeTwo = 100;
- U32 requestEndTimeTwo = 500;
+ U64Microseconds requestEndTimeTwo(500);
U32 requestSizeTwo = 2048;
S32 requestSizeTwoBits = requestSizeTwo * 8;
LLUUID id2("10e65d70-46fd-429f-841a-bf698e9424d4");
@@ -218,8 +260,9 @@ namespace tut
tex_info.setRequestType(id2, LLTextureInfoDetails::REQUEST_TYPE_HTTP);
tex_info.setRequestCompleteTimeAndLog(id2, requestEndTimeTwo);
- S32 averageBitRate = ((requestSizeOneBits/(requestEndTimeOne - requestStartTimeOne)) +
- (requestSizeTwoBits/(requestEndTimeTwo - requestStartTimeTwo))) / 2;
+ S32 averageBitRate = ((requestSizeOneBits / (S32(requestEndTimeOne.value()) - requestStartTimeOne)) +
+ (requestSizeTwoBits / (S32(requestEndTimeTwo.value()) - requestStartTimeTwo))) /
+ 2;
S32 totalBytes = requestSizeOne + requestSizeTwo;
@@ -234,10 +277,10 @@ namespace tut
void textureinfo_object_t::test<11>()
{
LLTextureInfo tex_info;
- tex_info.setUpLogging(true, true);
+ tex_info.setLogging(true);
S32 requestStartTimeOne = 200;
- S32 requestEndTimeOne = 400;
+ U64Microseconds requestEndTimeOne(400);
S32 requestSizeOne = 1024;
LLUUID id1("10e65d70-46fd-429f-841a-bf698e9424d3");
tex_info.setRequestStartTime(id1, requestStartTimeOne);
@@ -246,7 +289,7 @@ namespace tut
tex_info.setRequestCompleteTimeAndLog(id1, requestEndTimeOne);
tex_info.getAverages();
- tex_info.reset();
+ tex_info.resetTextureStatistics();
LLSD results = tex_info.getAverages();
ensure_equals("is average bits per second correct", results["bits_per_second"].asInteger(), 0);
ensure_equals("is total bytes is correct", results["bytes_downloaded"].asInteger(), 0);
@@ -258,10 +301,10 @@ namespace tut
void textureinfo_object_t::test<12>()
{
LLTextureInfo tex_info;
- tex_info.setUpLogging(true, true);
+ tex_info.setLogging(true);
S32 requestStartTimeOne = 200;
- S32 requestEndTimeOne = 400;
+ U64Microseconds requestEndTimeOne(400);
S32 requestSizeOne = 1024;
LLUUID id1("10e65d70-46fd-429f-841a-bf698e9424d3");
tex_info.setRequestStartTime(id1, requestStartTimeOne);
diff --git a/indra/newview/tests/lltexturestatsuploader_test.cpp b/indra/newview/tests/lltexturestatsuploader_test.cpp
deleted file mode 100644
index 782a4892b9..0000000000
--- a/indra/newview/tests/lltexturestatsuploader_test.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/**
- * @file lltexturestatsuploader_test.cpp
- * @author Si
- * @date 2009-05-27
- *
- * $LicenseInfo:firstyear=2006&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: almost always required for newview cpp files
-#include "../llviewerprecompiledheaders.h"
-// Class to test
-#include "../lltexturestatsuploader.h"
-// Dependencies
-
-// Tut header
-#include "../test/lltut.h"
-
-// -------------------------------------------------------------------------------------------
-// Stubbing: Declarations required to link and run the class being tested
-// Notes:
-// * Add here stubbed implementation of the few classes and methods used in the class to be tested
-// * Add as little as possible (let the link errors guide you)
-// * 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.
-
-#include "boost/intrusive_ptr.hpp"
-void boost::intrusive_ptr_add_ref(LLCurl::Responder*){}
-void boost::intrusive_ptr_release(LLCurl::Responder* p){}
-const F32 HTTP_REQUEST_EXPIRY_SECS = 0.0f;
-
-static std::string most_recent_url;
-static LLSD most_recent_body;
-
-void LLHTTPClient::post(
- const std::string& url,
- const LLSD& body,
- ResponderPtr,
- const LLSD& headers,
- const F32 timeout)
-{
- // set some sensor code
- most_recent_url = url;
- most_recent_body = body;
- return;
-}
-
-// End Stubbing
-// -------------------------------------------------------------------------------------------
-
-// -------------------------------------------------------------------------------------------
-// TUT
-// -------------------------------------------------------------------------------------------
-
-namespace tut
-{
- // Test wrapper declarations
- struct texturestatsuploader_test
- {
- // Constructor and destructor of the test wrapper
- texturestatsuploader_test()
- {
- most_recent_url = "some sort of default text that should never match anything the tests are expecting!";
- LLSD blank_llsd;
- most_recent_body = blank_llsd;
- }
- ~texturestatsuploader_test()
- {
- }
- };
-
- // 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("LLTextureStatsUploader");
-
-
- // ---------------------------------------------------------------------------------------
- // Test functions
- // Notes:
- // * Test as many as you possibly can without requiring a full blown simulation of everything
- // * The tests are executed in sequence so the test instance state may change between calls
- // * Remember that you cannot test private methods with tut
- // ---------------------------------------------------------------------------------------
-
- // ---------------------------------------------------------------------------------------
- // Test the LLTextureInfo
- // ---------------------------------------------------------------------------------------
-
-
- // Test instantiation
- template<> template<>
- void texturestatsuploader_object_t::test<1>()
- {
- LLTextureStatsUploader tsu;
- LL_INFOS() << &tsu << LL_ENDL;
- ensure("have we crashed?", true);
- }
-
- // does it call out to the provided url if we ask it to?
- template<> template<>
- void texturestatsuploader_object_t::test<2>()
- {
- LLTextureStatsUploader tsu;
- std::string url = "http://blahblahblah";
- LLSD texture_stats;
- tsu.uploadStatsToSimulator(url, texture_stats);
- ensure_equals("did the right url get called?", most_recent_url, url);
- ensure_equals("did the right body get sent?", most_recent_body, texture_stats);
- }
-
- // does it not call out to the provided url if we send it an ungranted cap?
- template<> template<>
- void texturestatsuploader_object_t::test<3>()
- {
- LLTextureStatsUploader tsu;
-
- // this url left intentionally blank to mirror
- // not getting a cap in the caller.
- std::string url_for_ungranted_cap = "";
-
- LLSD texture_stats;
- std::string most_recent_url_before_test = most_recent_url;
- tsu.uploadStatsToSimulator(url_for_ungranted_cap, texture_stats);
-
- ensure_equals("hopefully no url got called!", most_recent_url, most_recent_url_before_test);
- }
-
- // does it call out if the data is empty?
- // should it even do that?
-}
-
diff --git a/indra/newview/tests/llvieweroctree_stub.cpp b/indra/newview/tests/llvieweroctree_stub.cpp
index caf9299a2f..e850efd9ac 100644
--- a/indra/newview/tests/llvieweroctree_stub.cpp
+++ b/indra/newview/tests/llvieweroctree_stub.cpp
@@ -35,7 +35,7 @@ bool LLViewerOctreeCull::checkObjects(const OctreeNode* branch, const LLViewerOc
void LLViewerOctreeCull::processGroup(LLViewerOctreeGroup* group) {}
-bool LLViewerOctreeGroup::boundObjects(BOOL empty, LLVector4a& minOut, LLVector4a& maxOut) { return false; }
+bool LLViewerOctreeGroup::boundObjects(bool empty, LLVector4a& minOut, LLVector4a& maxOut) { return false; }
void LLViewerOctreeGroup::unbound() {}
void LLViewerOctreeGroup::rebound() {}
void LLViewerOctreeGroup::handleInsertion(const TreeNode* node, LLViewerOctreeEntry* obj) {}
@@ -55,8 +55,8 @@ void LLOcclusionCullingGroup::doOcclusion(LLCamera* camera, const LLVector4a* sh
void LLOcclusionCullingGroup::setOcclusionState(U32 state, S32 mode) {}
void LLOcclusionCullingGroup::clearOcclusionState(U32 state, S32 mode) {}
void LLOcclusionCullingGroup::handleChildAddition(const OctreeNode *parent, OctreeNode *child) {}
-BOOL LLOcclusionCullingGroup::isRecentlyVisible() const { return FALSE; }
-BOOL LLOcclusionCullingGroup::isAnyRecentlyVisible() const { return FALSE; }
+bool LLOcclusionCullingGroup::isRecentlyVisible() const { return false; }
+bool LLOcclusionCullingGroup::isAnyRecentlyVisible() const { return false; }
LLViewerOctreeGroup::LLViewerOctreeGroup(OctreeNode* node) : mOctreeNode(node) {}
@@ -81,6 +81,6 @@ LLViewerOctreePartition::LLViewerOctreePartition() = default;
LLViewerOctreePartition::~LLViewerOctreePartition() = default;
void LLViewerOctreePartition::cleanup() {}
-BOOL LLViewerOctreeGroup::isRecentlyVisible() const { return FALSE; }
+bool LLViewerOctreeGroup::isRecentlyVisible() const { return false; }
diff --git a/indra/newview/tests/llviewershadermgr_stub.cpp b/indra/newview/tests/llviewershadermgr_stub.cpp
deleted file mode 100644
index 5d6cb33019..0000000000
--- a/indra/newview/tests/llviewershadermgr_stub.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * @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/llwlanimator_stub.cpp b/indra/newview/tests/llwlanimator_stub.cpp
deleted file mode 100644
index 2b4510a6b7..0000000000
--- a/indra/newview/tests/llwlanimator_stub.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * @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
deleted file mode 100644
index cd82e9b200..0000000000
--- a/indra/newview/tests/llwldaycycle_stub.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * @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
deleted file mode 100644
index 2838ddb719..0000000000
--- a/indra/newview/tests/llwlparammanager_test.cpp
+++ /dev/null
@@ -1,271 +0,0 @@
-/**
- * @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
deleted file mode 100644
index e6c4221895..0000000000
--- a/indra/newview/tests/llwlparamset_stub.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * @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/llxmlrpclistener_test.cpp b/indra/newview/tests/llxmlrpclistener_test.cpp
index ee6281fc24..c77ce367c5 100644
--- a/indra/newview/tests/llxmlrpclistener_test.cpp
+++ b/indra/newview/tests/llxmlrpclistener_test.cpp
@@ -62,8 +62,8 @@ namespace tut
// 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, "", LLControlVariable::PERSIST_NO); // don't persist
- gSavedSettings.declareBOOL("NoVerifySSLCert", TRUE, "", LLControlVariable::PERSIST_NO); // 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
diff --git a/indra/test/CMakeLists.txt b/indra/test/CMakeLists.txt
index 87b4e5e454..c1e63a7470 100644
--- a/indra/test/CMakeLists.txt
+++ b/indra/test/CMakeLists.txt
@@ -17,128 +17,34 @@ set(test_lib_SOURCE_FILES
set(test_lib_HEADER_FILES
CMakeLists.txt
- lltut.h
- )
-
-list(APPEND test_lib_SOURCE_FILES ${test_lib_HEADER_FILES})
-
-add_library(lltut_runner_lib ${test_lib_SOURCE_FILES})
-
-target_link_libraries(lltut_runner_lib PRIVATE llcommon)
-
-set_target_properties(lltut_runner_lib
- PROPERTIES
- FOLDER "Tests"
- )
-
-set(test_SOURCE_FILES
- io.cpp
- llapp_tut.cpp
- llbuffer_tut.cpp
- lldoubledispatch_tut.cpp
- llevents_tut.cpp
- llhttpdate_tut.cpp
- llhttpnode_tut.cpp
- lliohttpserver_tut.cpp
- llmessageconfig_tut.cpp
- llpermissions_tut.cpp
- llpipeutil.cpp
- llsaleinfo_tut.cpp
- llsdmessagebuilder_tut.cpp
- llsdmessagereader_tut.cpp
- llsd_new_tut.cpp
- llsdutil_tut.cpp
- llservicebuilder_tut.cpp
- llstreamtools_tut.cpp
- lltemplatemessagebuilder_tut.cpp
- message_tut.cpp
- )
-
-set(test_HEADER_FILES
- CMakeLists.txt
+ catch_and_store_what_in.h
+ chained_callback.h
debug.h
- llpipeutil.h
llsdtraits.h
+ lltestapp.h
lltut.h
+ namedtempfile.h
+ print.h
+ setenv.h
sync.h
+ test.h
)
-if (NOT WINDOWS)
- list(APPEND test_SOURCE_FILES
- llmessagetemplateparser_tut.cpp
- )
-endif (NOT WINDOWS)
-
-list(APPEND test_SOURCE_FILES ${test_HEADER_FILES})
+list(APPEND test_lib_SOURCE_FILES ${test_lib_HEADER_FILES})
-add_executable(lltest ${test_SOURCE_FILES})
+add_library(lltut_runner_lib ${test_lib_SOURCE_FILES})
-target_link_libraries(lltest
- lltut_runner_lib
- llinventory
- llmessage
- llmath
- llfilesystem
- llxml
- llcommon
- llcorehttp
- )
+target_link_libraries(lltut_runner_lib PRIVATE llcommon)
-set_target_properties(lltest
+set_target_properties(lltut_runner_lib
PROPERTIES
FOLDER "Tests"
)
-if (WINDOWS)
- set_target_properties(lltest
- PROPERTIES
- LINK_FLAGS "/NODEFAULTLIB:LIBCMT"
- LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\""
- RUNTIME_OUTPUT_DIRECTORY "${EXE_STAGING_DIR}"
- )
-elseif (DARWIN)
+if (DARWIN)
set_target_properties(lltut_runner_lib
PROPERTIES
OSX_ARCHITECTURES ${LL_MACOS_TEST_ARCHITECTURE}
)
- set_target_properties(lltest
- PROPERTIES
- OSX_ARCHITECTURES ${LL_MACOS_TEST_ARCHITECTURE}
- )
- # Support our "@executable_path/../Resources" load path for our test
- # executable. This SHOULD properly be "$<TARGET_FILE_DIR:lltest>/Resources",
- # but the CMake $<TARGET_FILE_DIR> generator expression isn't evaluated by
- # CREATE_LINK, so fudge it.
- file(CREATE_LINK "../sharedlibs/Release/Resources" "${CMAKE_BINARY_DIR}/test/Resources"
- SYMBOLIC)
-endif (WINDOWS)
-
-# This should cause the test executable to be built, but not
-# run if LL_TESTS is disabled. This will hopefully keep the
-# tests up to date with any code changes changes even if
-# developers choose to disable LL_TESTS.
-if (LL_TESTS)
- set(TEST_EXE $<TARGET_FILE:lltest>)
-
- SET_TEST_PATH(LD_LIBRARY_PATH)
-
- LL_TEST_COMMAND(command
- "${LD_LIBRARY_PATH}"
- "${TEST_EXE}"
- "--output=${CMAKE_CURRENT_BINARY_DIR}/cpp_test_results.txt"
- "--touch=${CMAKE_CURRENT_BINARY_DIR}/cpp_tests_ok.txt")
-
- add_test(NAME "C++ unit tests" COMMAND ${command} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
-
- add_dependencies(BUILD_TESTS lltest)
- if(DARWIN)
- # Support our "@executable_path/../Resources" load path for our test
- # executable. This SHOULD properly be "$<TARGET_FILE_DIR:lltest>/Resources",
- # but the CMake $<TARGET_FILE_DIR> generator expression isn't evaluated by
- # CREATE_LINK, so fudge it.
- add_custom_command( TARGET lltest POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E create_symlink ${SHARED_LIB_STAGING_DIR} ${CMAKE_BINARY_DIR}/test/Resources
- )
- endif()
-endif (LL_TESTS)
+endif ()
diff --git a/indra/test/hexdump.h b/indra/test/hexdump.h
deleted file mode 100644
index 95f1e297c3..0000000000
--- a/indra/test/hexdump.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * @file hexdump.h
- * @author Nat Goodspeed
- * @date 2023-09-08
- * @brief Provide hexdump() and hexmix() ostream formatters
- *
- * $LicenseInfo:firstyear=2023&license=viewerlgpl$
- * Copyright (c) 2023, Linden Research, Inc.
- * $/LicenseInfo$
- */
-
-#if ! defined(LL_HEXDUMP_H)
-#define LL_HEXDUMP_H
-
-#include <cctype>
-#include <iomanip>
-#include <iostream>
-#include <string_view>
-
-// Format a given byte string as 2-digit hex values, no separators
-// Usage: std::cout << hexdump(somestring) << ...
-class hexdump
-{
-public:
- hexdump(const std::string_view& data):
- hexdump(data.data(), data.length())
- {}
-
- hexdump(const char* data, size_t len):
- hexdump(reinterpret_cast<const unsigned char*>(data), len)
- {}
-
- hexdump(const unsigned char* data, size_t len):
- mData(data, data + len)
- {}
-
- friend std::ostream& operator<<(std::ostream& out, const hexdump& self)
- {
- auto oldfmt{ out.flags() };
- auto oldfill{ out.fill() };
- out.setf(std::ios_base::hex, std::ios_base::basefield);
- out.fill('0');
- for (auto c : self.mData)
- {
- out << std::setw(2) << unsigned(c);
- }
- out.setf(oldfmt, std::ios_base::basefield);
- out.fill(oldfill);
- return out;
- }
-
-private:
- std::vector<unsigned char> mData;
-};
-
-// Format a given byte string as a mix of printable characters and, for each
-// non-printable character, "\xnn"
-// Usage: std::cout << hexmix(somestring) << ...
-class hexmix
-{
-public:
- hexmix(const std::string_view& data):
- mData(data)
- {}
-
- hexmix(const char* data, size_t len):
- mData(data, len)
- {}
-
- friend std::ostream& operator<<(std::ostream& out, const hexmix& self)
- {
- auto oldfmt{ out.flags() };
- auto oldfill{ out.fill() };
- out.setf(std::ios_base::hex, std::ios_base::basefield);
- out.fill('0');
- for (auto c : self.mData)
- {
- // std::isprint() must be passed an unsigned char!
- if (std::isprint(static_cast<unsigned char>(c)))
- {
- out << c;
- }
- else
- {
- out << "\\x" << std::setw(2) << unsigned(c);
- }
- }
- out.setf(oldfmt, std::ios_base::basefield);
- out.fill(oldfill);
- return out;
- }
-
-private:
- std::string mData;
-};
-
-#endif /* ! defined(LL_HEXDUMP_H) */
diff --git a/indra/test/llassetuploadqueue_tut.cpp b/indra/test/llassetuploadqueue_tut.cpp
deleted file mode 100644
index be5f9e4288..0000000000
--- a/indra/test/llassetuploadqueue_tut.cpp
+++ /dev/null
@@ -1,195 +0,0 @@
-/**
- * @file asset_upload_queue_tut.cpp
- * @brief Tests for newview/llassetuploadqueue.cpp
- *
- * $LicenseInfo:firstyear=2007&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 "lltut.h"
-
-#include "mock_http_client.h"
-#include "../newview/llassetuploadqueue.cpp"
-
-// Mock implementation.
-LLAssetUploadResponder::LLAssetUploadResponder(const LLSD& post_data,
- const LLUUID& vfile_id,
- LLAssetType::EType asset_type)
-{
-}
-
-LLAssetUploadResponder::LLAssetUploadResponder(const LLSD& post_data, const std::string& file_name)
-{
-}
-
-LLAssetUploadResponder::~LLAssetUploadResponder()
-{
-}
-
-void LLAssetUploadResponder::httpFailure()
-{
-}
-
-void LLAssetUploadResponder::httpSuccess()
-{
-}
-
-void LLAssetUploadResponder::uploadUpload(const LLSD& content)
-{
-}
-
-void LLAssetUploadResponder::uploadComplete(const LLSD& content)
-{
-}
-
-void LLAssetUploadResponder::uploadFailure(const LLSD& content)
-{
-}
-
-LLUpdateTaskInventoryResponder::LLUpdateTaskInventoryResponder(const LLSD& post_data,
- const LLUUID& vfile_id,
- LLAssetType::EType asset_type) :
- LLAssetUploadResponder(post_data, vfile_id, asset_type)
-{
-}
-
-LLUpdateTaskInventoryResponder::LLUpdateTaskInventoryResponder(const LLSD& post_data,
- const std::string& file_name) :
- LLAssetUploadResponder(post_data, file_name)
-{
-}
-
-LLUpdateTaskInventoryResponder::LLUpdateTaskInventoryResponder(const LLSD& post_data,
- const std::string& file_name,
- const LLUUID& queue_id) :
- LLAssetUploadResponder(post_data, file_name)
-{
-}
-
-void LLUpdateTaskInventoryResponder::uploadComplete(const LLSD& content)
-{
-}
-
-namespace tut
-{
- class asset_upload_queue_test_data : public MockHttpClient {};
- typedef test_group<asset_upload_queue_test_data> asset_upload_queue_test;
- typedef asset_upload_queue_test::object asset_upload_queue_object;
- tut::asset_upload_queue_test asset_upload_queue("asset_upload_queue");
-
- void queue(LLAssetUploadQueue& q, const std::string& filename)
- {
- LLUUID task_id;
- LLUUID item_id;
- BOOL is_running = FALSE;
- BOOL is_target_mono = TRUE;
- LLUUID queue_id;
- q.queue(filename, task_id, item_id, is_running, is_target_mono, queue_id);
- }
-
- class LLTestSupplier : public LLAssetUploadQueueSupplier
- {
- public:
-
- void set(LLAssetUploadQueue* queue) {mQueue = queue;}
-
- virtual LLAssetUploadQueue* get() const
- {
- return mQueue;
- }
-
- private:
- LLAssetUploadQueue* mQueue;
- };
-
- template<> template<>
- void asset_upload_queue_object::test<1>()
- {
- setupTheServer();
- reset();
- LLTestSupplier* supplier = new LLTestSupplier();
- LLAssetUploadQueue q("http://localhost:8888/test/success", supplier);
- supplier->set(&q);
- queue(q, "foo.bar");
- ensure("upload queue not empty before request", q.isEmpty());
- runThePump(10);
- ensure("upload queue not empty after request", q.isEmpty());
- }
-
- template<> template<>
- void asset_upload_queue_object::test<2>()
- {
- reset();
- LLTestSupplier* supplier = new LLTestSupplier();
- LLAssetUploadQueue q("http://localhost:8888/test/error", supplier);
- supplier->set(&q);
- queue(q, "foo.bar");
- ensure("upload queue not empty before request", q.isEmpty());
- runThePump(10);
- ensure("upload queue not empty after request", q.isEmpty());
- }
-
- template<> template<>
- void asset_upload_queue_object::test<3>()
- {
- reset();
- LLTestSupplier* supplier = new LLTestSupplier();
- LLAssetUploadQueue q("http://localhost:8888/test/timeout", supplier);
- supplier->set(&q);
- queue(q, "foo.bar");
- ensure("upload queue not empty before request", q.isEmpty());
- runThePump(10);
- ensure("upload queue not empty after request", q.isEmpty());
- }
-
- template<> template<>
- void asset_upload_queue_object::test<4>()
- {
- reset();
- LLTestSupplier* supplier = new LLTestSupplier();
- LLAssetUploadQueue q("http://localhost:8888/test/success", supplier);
- supplier->set(&q);
- queue(q, "foo.bar");
- queue(q, "baz.bar");
- ensure("upload queue empty before request", !q.isEmpty());
- runThePump(10);
- ensure("upload queue not empty before request", q.isEmpty());
- runThePump(10);
- ensure("upload queue not empty after request", q.isEmpty());
- }
-
- template<> template<>
- void asset_upload_queue_object::test<5>()
- {
- reset();
- LLTestSupplier* supplier = new LLTestSupplier();
- LLAssetUploadQueue q("http://localhost:8888/test/success", supplier);
- supplier->set(&q);
- queue(q, "foo.bar");
- runThePump(10);
- ensure("upload queue not empty before request", q.isEmpty());
- queue(q, "baz.bar");
- ensure("upload queue not empty after request", q.isEmpty());
- runThePump(10);
- killServer();
- }
-}
diff --git a/indra/test/lltimestampcache_tut.cpp b/indra/test/lltimestampcache_tut.cpp
deleted file mode 100644
index 857dfe6e6e..0000000000
--- a/indra/test/lltimestampcache_tut.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/**
- * @file lltimestampcache_tut.cpp
- * @author James Tess
- * @date 2008-12-03
- *
- * $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$
- */
-
-#include <tut/tut.hpp>
-
-#include "linden_common.h"
-#include "../mapserver/lltimestampcache.h"
-#include "lltut.h"
-
-
-namespace tut
-{
- struct LLTimestampCacheTestData
- {
- };
-
- typedef test_group<LLTimestampCacheTestData> LLTimestampCacheTestGroup;
- typedef LLTimestampCacheTestGroup::object LLTimestampCacheTestObject;
-
- LLTimestampCacheTestGroup timestampCacheTestGroup("LLTimestampCache");
-
- // Most common usage
- template<> template<>
- void LLTimestampCacheTestObject::test<1>()
- {
- LLTimestampCache<std::string, std::string> cache;
- // put in some data
- cache.insert("key1", "val1", 1);
- cache.insert("key2", "val2", 2);
- cache.insert("key3", "val3", 3);
- ensure_equals("size is 3", cache.size(), 3);
- // check some items
- ensure("has key1", cache.has("key1"));
- ensure("no invalid key", !cache.has("invalid key"));
- // get some items
- ensure_equals("get key1", cache.get("key1", 4), "val1");
- ensure_equals("get invalid key",
- cache.get("invalid key", 4), std::string() );
- // timestamps
- ensure_equals("key1 timestamp updated", cache.getTimestamp("key1"), 4);
- ensure_equals("invalid key timestamp",
- cache.getTimestamp("invalid key"), 0);
- }
-
- // New empty cache shouldn't have any entries
- template<> template<>
- void LLTimestampCacheTestObject::test<2>()
- {
- LLTimestampCache<std::string, std::string> cache;
- ensure_equals("starts empty", cache.size(), 0);
- ensure_equals("has nothing", cache.has("foo"), false);
- ensure_equals("gets nothing", cache.get("foo", 0), std::string() );
- U32 max_time = 0xFFFFFFFF;
- ensure_equals("erases nothing", cache.eraseBefore(max_time), 0);
- }
-
- // Non empty cache
- template<> template<>
- void LLTimestampCacheTestObject::test<3>()
- {
- LLTimestampCache<std::string, std::string> cache;
- cache.insert("foo", "bar", 123);
- ensure_equals("size one", cache.size(), 1);
- ensure_equals("has it", cache.has("foo"), true);
- ensure_equals("timestamp correct", cache.getTimestamp("foo"), 123);
- std::string value = cache.get("foo", 456);
- ensure_equals("get value", value, "bar");
- ensure_equals("timestamp updated", cache.getTimestamp("foo"), 456);
- ensure_equals("erase nothing", cache.eraseBefore(0), 0);
- ensure_equals("erase one", cache.eraseBefore(789), 1);
- ensure_equals("empty after erase", cache.size(), 0);
- }
-
- // Recache of item should update timestamp
- template<> template<>
- void LLTimestampCacheTestObject::test<4>()
- {
- LLTimestampCache<std::string, std::string> cache;
- cache.insert("foo", "bar", 123);
- cache.insert("foo", "bar", 456);
- ensure_equals("duplicate suppressed", cache.size(), 1);
- ensure_equals("timestamp replaced", cache.getTimestamp("foo"), 456);
- }
-
- // Erasing some items
- template<> template<>
- void LLTimestampCacheTestObject::test<5>()
- {
- LLTimestampCache<std::string, std::string> cache;
- cache.insert("key1", "val1", 1);
- cache.insert("key2", "val2", 2);
- cache.insert("key3", "val3", 3);
- cache.insert("key4", "val4", 4);
- size_t erased = cache.eraseBefore(3);
- ensure_equals("erase range", erased, 2);
- ensure_equals("cache post erase", cache.size(), 2);
- ensure_equals("has key3", cache.has("key3"), true);
- ensure_equals("not has key2", cache.has("key2"), false);
- }
-}
diff --git a/indra/test/lltranscode_tut.cpp b/indra/test/lltranscode_tut.cpp
deleted file mode 100644
index 23d554d46d..0000000000
--- a/indra/test/lltranscode_tut.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * @file llscriptresource_tut.cpp
- * @brief Test LLScriptResource
- *
- * $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$
- */
-
-//#include <tut/tut.h>
-#include "linden_common.h"
-
-#include "lltut.h"
-
-#include "../newsim/lltranscode.cpp" // include TU to pull in newsim implementation.
-
-static const char test_utf8[] = "Edelwei\xc3\x9f";
-static const char test_utf7[] = "Edelwei+AN8-";
-static const char test_latin1[] = "Edelwei\xdf";
-static const char test_latin2[] = "Edelwei\xdf";
-
-namespace tut
-{
- class LLTranscodeTestData
- {
- };
-
- typedef test_group<LLTranscodeTestData> LLTranscodeTestGroup;
- typedef LLTranscodeTestGroup::object LLTranscodeTestObject;
- LLTranscodeTestGroup transcodeTestGroup("transcode");
-
- template<> template<>
- void LLTranscodeTestObject::test<1>()
- {
- // Test utf8
- std::stringstream input;
- std::stringstream output;
-
- input.str(test_utf7);
- output.clear();
- LLTranscode::transcode("charset=UTF-7", input, output);
- ensure_equals("UTF-7 to UTF-8 transcoding", output.str(),
- std::string(test_utf8));
-
- input.str(test_latin1);
- output.clear();
- LLTranscode::transcode("", input, output);
- ensure_equals("Default (latin_1) to UTF8 transcoding", output.str(),
- std::string(test_utf8));
-
- input.str(test_latin1);
- output.clear();
- LLTranscode::transcode("charset=iso-8859-1", input, output);
- ensure_equals("latin_1 (ISO-8859-1) to UTF8 transcoding", output.str(),
- std::string(test_utf8));
-
- input.str(test_latin2);
- output.clear();
- LLTranscode::transcode("charset=iso-8859-2", input, output);
- ensure_equals("latin_2 (ISO-8859-2) to UTF8 transcoding", output.str(),
- std::string(test_utf8));
-
- input.str(test_utf8);
- output.clear();
- LLTranscode::transcode("charset=utf-8", input, output);
- ensure_equals("UTF8 to UTF8 transcoding", output.str(),
- std::string(test_utf8));
- }
-}
diff --git a/indra/test/mock_http_client.cpp b/indra/test/mock_http_client.cpp
deleted file mode 100644
index a97d31c7f4..0000000000
--- a/indra/test/mock_http_client.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * @file mock_http_client.cpp
- * @brief Framework for testing HTTP requests
- *
- * $LicenseInfo:firstyear=2007&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 "llhttpnode.h"
-
-namespace tut
-{
- class SuccessNode : public LLHTTPNode
- {
- public:
- void get(ResponsePtr r, const LLSD& context) const
- {
- LLSD result;
- result["state"] = "complete";
- result["test"] = "test";
- r->result(result);
- }
- void post(ResponsePtr r, const LLSD& context, const LLSD& input) const
- {
- LLSD result;
- result["state"] = "complete";
- result["test"] = "test";
- r->result(result);
- }
- };
-
- class ErrorNode : public LLHTTPNode
- {
- public:
- void get(ResponsePtr r, const LLSD& context) const
- { r->status(599, "Intentional error"); }
- void post(ResponsePtr r, const LLSD& context, const LLSD& input) const
- { r->status(input["status"], input["reason"]); }
- };
-
- class TimeOutNode : public LLHTTPNode
- {
- public:
- void get(ResponsePtr r, const LLSD& context) const
- {
- /* do nothing, the request will eventually time out */
- }
- };
-
- LLSD storage;
-
- class LLSDStorageNode : public LLHTTPNode
- {
- public:
- LLSD get() const{ return storage; }
- LLSD put(const LLSD& value) const{ storage = value; return LLSD(); }
- };
-
- LLHTTPRegistration<LLSDStorageNode> gStorageNode("/test/storage");
- LLHTTPRegistration<SuccessNode> gSuccessNode("/test/success");
- LLHTTPRegistration<ErrorNode> gErrorNode("/test/error");
- LLHTTPRegistration<TimeOutNode> gTimeOutNode("/test/timeout");
-}
diff --git a/indra/test/mock_http_client.h b/indra/test/mock_http_client.h
deleted file mode 100644
index ef268abc6e..0000000000
--- a/indra/test/mock_http_client.h
+++ /dev/null
@@ -1,190 +0,0 @@
-/**
- * @file mock_http_client.cpp
- * @brief Framework for testing HTTP requests
- *
- * $LicenseInfo:firstyear=2007&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 "llsdhttpserver.h"
-#include "lliohttpserver.h"
-#include "llhttpclient.h"
-#include "llformat.h"
-#include "llpipeutil.h"
-#include "llpumpio.h"
-
-namespace tut
-{
- struct MockHttpClient
- {
- public:
- MockHttpClient()
- {
- apr_pool_create(&mPool, NULL);
- mServerPump = new LLPumpIO(mPool);
- mClientPump = new LLPumpIO(mPool);
-
- LLHTTPClient::setPump(*mClientPump);
- }
-
- ~MockHttpClient()
- {
- delete mServerPump;
- delete mClientPump;
- apr_pool_destroy(mPool);
- }
-
- void setupTheServer()
- {
- LLHTTPNode& root = LLIOHTTPServer::create(mPool, *mServerPump, 8888);
-
- LLHTTPStandardServices::useServices();
- LLHTTPRegistrar::buildAllServices(root);
- }
-
- void runThePump(float timeout = 100.0f)
- {
- LLTimer timer;
- timer.setTimerExpirySec(timeout);
-
- while(!mSawCompleted && !timer.hasExpired())
- {
- if (mServerPump)
- {
- mServerPump->pump();
- mServerPump->callback();
- }
- if (mClientPump)
- {
- mClientPump->pump();
- mClientPump->callback();
- }
- }
- }
-
- void killServer()
- {
- delete mServerPump;
- mServerPump = NULL;
- }
-
- private:
- apr_pool_t* mPool;
- LLPumpIO* mServerPump;
- LLPumpIO* mClientPump;
-
-
- protected:
- void ensureStatusOK()
- {
- if (mSawError)
- {
- std::string msg =
- llformat("httpFailure() called when not expected, status %d",
- mStatus);
- fail(msg);
- }
- }
-
- void ensureStatusError()
- {
- if (!mSawError)
- {
- fail("httpFailure() wasn't called");
- }
- }
-
- LLSD getResult()
- {
- return mResult;
- }
-
- protected:
- bool mSawError;
- S32 mStatus;
- std::string mReason;
- bool mSawCompleted;
- LLSD mResult;
- bool mResultDeleted;
-
- class Result : public LLHTTPClient::Responder
- {
- protected:
- Result(MockHttpClient& client)
- : mClient(client)
- {
- }
-
- public:
- static boost::intrusive_ptr<Result> build(MockHttpClient& client)
- {
- return boost::intrusive_ptr<Result>(new Result(client));
- }
-
- ~Result()
- {
- mClient.mResultDeleted = true;
- }
-
- protected:
- virtual void httpFailure()
- {
- mClient.mSawError = true;
- mClient.mStatus = getStatus();
- mClient.mReason = getReason();
- }
-
- virtual void httpSuccess()
- {
- mClient.mResult = getContent();
- }
-
- virtual void httpCompleted()
- {
- LLHTTPClient::Responder::httpCompleted();
-
- mClient.mSawCompleted = true;
- }
-
- private:
- MockHttpClient& mClient;
- };
-
- friend class Result;
-
- protected:
-
- void reset()
- {
- mSawError = false;
- mStatus = 0;
- mSawCompleted = false;
- mResult.clear();
- mResultDeleted = false;
- }
-
- LLHTTPClient::ResponderPtr newResult()
- {
- reset();
- return Result::build(*this);
- }
- };
-}
diff --git a/indra/test/prim_linkability_tut.cpp b/indra/test/prim_linkability_tut.cpp
deleted file mode 100644
index 3603b25f18..0000000000
--- a/indra/test/prim_linkability_tut.cpp
+++ /dev/null
@@ -1,495 +0,0 @@
-/**
- * @file linkability.cpp
- * @author andrew@lindenlab.com
- * @date 2007-04-23
- * @brief Tests for the LLPrimLinkInfo template which computes the linkability of prims
- *
- * $LicenseInfo:firstyear=2007&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 "lltut.h"
-#include "llprimlinkinfo.h"
-#include "llrand.h"
-
-
-// helper function
-void randomize_sphere(LLSphere& sphere, F32 center_range, F32 radius_range)
-{
- F32 radius = ll_frand(2.f * radius_range) - radius_range;
- LLVector3 center;
- for (S32 i=0; i<3; ++i)
- {
- center.mV[i] = ll_frand(2.f * center_range) - center_range;
- }
- sphere.setRadius(radius);
- sphere.setCenter(center);
-}
-
-// helper function. Same as above with a min and max radius.
-void randomize_sphere(LLSphere& sphere, F32 center_range, F32 minimum_radius, F32 maximum_radius)
-{
- F32 radius = ll_frand(maximum_radius - minimum_radius) + minimum_radius;
- LLVector3 center;
- for (S32 i=0; i<3; ++i)
- {
- center.mV[i] = ll_frand(2.f * center_range) - center_range;
- }
- sphere.setRadius(radius);
- sphere.setCenter(center);
-}
-
-// helper function
-bool random_sort( const LLPrimLinkInfo< S32 >&, const LLPrimLinkInfo< S32 >& b)
-{
- return (ll_rand(64) < 32);
-}
-
-namespace tut
-{
- struct linkable_data
- {
- LLPrimLinkInfo<S32> info;
- };
-
- typedef test_group<linkable_data> linkable_test;
- typedef linkable_test::object linkable_object;
- tut::linkable_test wtf("prim linkability");
-
- template<> template<>
- void linkable_object::test<1>()
- {
- // Here we test the boundary of the LLPrimLinkInfo::canLink() method
- // between semi-random middle-sized objects.
-
- S32 number_of_tests = 100;
- for (S32 test = 0; test < number_of_tests; ++test)
- {
- // compute the radii that would provide the above max link distance
- F32 first_radius = 0.f;
- F32 second_radius = 0.f;
-
- // compute a random center for the first sphere
- // compute some random max link distance
- F32 max_link_span = ll_frand(MAX_OBJECT_SPAN);
- if (max_link_span < OBJECT_SPAN_BONUS)
- {
- max_link_span += OBJECT_SPAN_BONUS;
- }
- LLVector3 first_center(
- ll_frand(2.f * max_link_span) - max_link_span,
- ll_frand(2.f * max_link_span) - max_link_span,
- ll_frand(2.f * max_link_span) - max_link_span);
-
- // put the second sphere at the right distance from the origin
- // such that it is within the max_link_distance of the first
- LLVector3 direction(ll_frand(2.f) - 1.f, ll_frand(2.f) - 1.f, ll_frand(2.f) - 1.f);
- direction.normalize();
- F32 half_milimeter = 0.0005f;
- LLVector3 second_center;
-
- // max_span = 3 * (first_radius + second_radius) + OBJECT_SPAN_BONUS
- // make sure they link at short distances
- {
- second_center = first_center + (OBJECT_SPAN_BONUS - half_milimeter) * direction;
- LLPrimLinkInfo<S32> first_info(0, LLSphere(first_center, first_radius) );
- LLPrimLinkInfo<S32> second_info(1, LLSphere(second_center, second_radius) );
- ensure("these nearby objects should link", first_info.canLink(second_info) );
- }
-
- // make sure they fail to link if we move them apart just a little bit
- {
- second_center = first_center + (OBJECT_SPAN_BONUS + half_milimeter) * direction;
- LLPrimLinkInfo<S32> first_info(0, LLSphere(first_center, first_radius) );
- LLPrimLinkInfo<S32> second_info(1, LLSphere(second_center, second_radius) );
- ensure("these nearby objects should NOT link", !first_info.canLink(second_info) );
- }
-
- // make sure the objects link or not at medium distances
- {
- first_radius = 0.3f * ll_frand(max_link_span - OBJECT_SPAN_BONUS);
-
- // This is the exact second radius that will link at exactly our random max_link_distance
- second_radius = ((max_link_span - OBJECT_SPAN_BONUS) / 3.f) - first_radius;
- second_center = first_center + (max_link_span - first_radius - second_radius - half_milimeter) * direction;
-
- LLPrimLinkInfo<S32> first_info(0, LLSphere(first_center, first_radius) );
- LLPrimLinkInfo<S32> second_info(1, LLSphere(second_center, second_radius) );
-
- ensure("these objects should link", first_info.canLink(second_info) );
- }
-
- // make sure they fail to link if we move them apart just a little bit
- {
- // move the second sphere such that it is a little too far from the first
- second_center += (2.f * half_milimeter) * direction;
- LLPrimLinkInfo<S32> first_info(0, LLSphere(first_center, first_radius) );
- LLPrimLinkInfo<S32> second_info(1, LLSphere(second_center, second_radius) );
-
- ensure("these objects should NOT link", !first_info.canLink(second_info) );
- }
-
- // make sure things don't link at far distances
- {
- second_center = first_center + (MAX_OBJECT_SPAN + 2.f * half_milimeter) * direction;
- second_radius = 0.3f * MAX_OBJECT_SPAN;
- LLPrimLinkInfo<S32> first_info(0, LLSphere(first_center, first_radius) );
- LLPrimLinkInfo<S32> second_info(1, LLSphere(second_center, second_radius) );
- ensure("these objects should NOT link", !first_info.canLink(second_info) );
- }
-
- }
- }
-
- template<> template<>
- void linkable_object::test<2>()
- {
-
- // Consider a row of eight spheres in a row, each 10m in diameter and centered
- // at 10m intervals: 01234567.
-
- F32 radius = 5.f;
- F32 spacing = 10.f;
-
- LLVector3 line_direction(ll_frand(2.f) - 1.f, ll_frand(2.f) - 1.f, ll_frand(2.f) - 1.f);
- line_direction.normalize();
-
- LLVector3 first_center(ll_frand(2.f * spacing) -spacing, ll_frand(2.f * spacing) - spacing, ll_frand(2.f * spacing) - spacing);
-
- LLPrimLinkInfo<S32> infos[8];
-
- for (S32 index = 0; index < 8; ++index)
- {
- LLVector3 center = first_center + ((F32)(index) * spacing) * line_direction;
- infos[index].set(index, LLSphere(center, radius));
- }
-
- // Max span for 2 spheres of 5m radius is 3 * (5 + 5) + 1 = 31m
- // spheres 0&2 have a 30m span (from outside edge to outside edge) and should link
- {
- LLPrimLinkInfo<S32> root_info = infos[0];
- std::list< LLPrimLinkInfo<S32> > info_list;
- info_list.push_back(infos[2]);
- root_info.mergeLinkableSet(info_list);
- S32 prim_count = root_info.getPrimCount();
- ensure_equals("0&2 prim count should be 2", prim_count, 2);
- ensure_equals("0&2 unlinkable list should have length 0", (S32) info_list.size(), 0);
- }
-
-
- // spheres 0&3 have a 40 meter span and should NOT link outright
- {
- LLPrimLinkInfo<S32> root_info = infos[0];
- std::list< LLPrimLinkInfo<S32> > info_list;
- info_list.push_back(infos[3]);
- root_info.mergeLinkableSet(info_list);
- S32 prim_count = root_info.getPrimCount();
- ensure_equals("0&4 prim count should be 1", prim_count, 1);
- ensure_equals("0&4 unlinkable list should have length 1", (S32) info_list.size(), 1);
- }
-
-
- // spheres 0-4 should link no matter what order : 01234
- // Total span = 50m, 012 link with a r=15.5 giving max span of 3 * (15.5 + 5) + 1 = 62.5, but the cap is 54m
- {
- LLPrimLinkInfo<S32> root_info = infos[0];
- std::list< LLPrimLinkInfo<S32> > info_list;
- for (S32 index = 1; index < 5; ++index)
- {
- info_list.push_back(infos[index]);
- }
- root_info.mergeLinkableSet(info_list);
- S32 prim_count = root_info.getPrimCount();
- ensure_equals("01234 prim count should be 5", prim_count, 5);
- ensure_equals("01234 unlinkable list should have length 0", (S32) info_list.size(), 0);
- }
-
-
- // spheres 0-5 should link no matter what order : 04321
- {
- LLPrimLinkInfo<S32> root_info = infos[0];
- std::list< LLPrimLinkInfo<S32> > info_list;
- for (S32 index = 4; index > 0; --index)
- {
- info_list.push_back(infos[index]);
- }
- root_info.mergeLinkableSet(info_list);
- S32 prim_count = root_info.getPrimCount();
- ensure_equals("04321 prim count should be 5", prim_count, 5);
- ensure_equals("04321 unlinkable list should have length 0", (S32) info_list.size(), 0);
- }
-
- // spheres 0-4 should link no matter what order : 01423
- {
- LLPrimLinkInfo<S32> root_info = infos[0];
- std::list< LLPrimLinkInfo<S32> > info_list;
- info_list.push_back(infos[1]);
- info_list.push_back(infos[4]);
- info_list.push_back(infos[2]);
- info_list.push_back(infos[3]);
- root_info.mergeLinkableSet(info_list);
- S32 prim_count = root_info.getPrimCount();
- ensure_equals("01423 prim count should be 5", prim_count, 5);
- ensure_equals("01423 unlinkable list should have length 0", (S32) info_list.size(), 0);
- }
-
- // spheres 0-5 should NOT fully link, only 0-4
- {
- LLPrimLinkInfo<S32> root_info = infos[0];
- std::list< LLPrimLinkInfo<S32> > info_list;
- for (S32 index = 1; index < 6; ++index)
- {
- info_list.push_back(infos[index]);
- }
- root_info.mergeLinkableSet(info_list);
- S32 prim_count = root_info.getPrimCount();
- ensure_equals("012345 prim count should be 5", prim_count, 5);
- ensure_equals("012345 unlinkable list should have length 1", (S32) info_list.size(), 1);
- std::list< LLPrimLinkInfo<S32> >::iterator info_itr = info_list.begin();
- if (info_itr != info_list.end())
- {
- // examine the contents of the unlinked info
- std::list<S32> unlinked_indecies;
- info_itr->getData(unlinked_indecies);
- // make sure there is only one index in the unlinked_info
- ensure_equals("012345 unlinkable index count should be 1", (S32) unlinked_indecies.size(), 1);
- // make sure its value is 6
- std::list<S32>::iterator unlinked_index_itr = unlinked_indecies.begin();
- S32 unlinkable_index = *unlinked_index_itr;
- ensure_equals("012345 unlinkable index should be 5", (S32) unlinkable_index, 5);
- }
- }
-
- // spheres 0-7 should NOT fully link, only 0-5
- {
- LLPrimLinkInfo<S32> root_info = infos[0];
- std::list< LLPrimLinkInfo<S32> > info_list;
- for (S32 index = 1; index < 8; ++index)
- {
- info_list.push_back(infos[index]);
- }
- root_info.mergeLinkableSet(info_list);
- S32 prim_count = root_info.getPrimCount();
- ensure_equals("01234567 prim count should be 5", prim_count, 5);
- // Should be 1 linkinfo on unlinkable that has 2 prims
- ensure_equals("01234567 unlinkable list should have length 1", (S32) info_list.size(), 1);
- std::list< LLPrimLinkInfo<S32> >::iterator info_itr = info_list.begin();
- if (info_itr != info_list.end())
- {
- // make sure there is only one index in the unlinked_info
- std::list<S32> unlinked_indecies;
- info_itr->getData(unlinked_indecies);
- ensure_equals("0123456 unlinkable index count should be 3", (S32) unlinked_indecies.size(), 3);
-
- // make sure its values are 6 and 7
- std::list<S32>::iterator unlinked_index_itr = unlinked_indecies.begin();
- S32 unlinkable_index = *unlinked_index_itr;
- ensure_equals("0123456 first unlinkable index should be 5", (S32) unlinkable_index, 5);
- ++unlinked_index_itr;
- unlinkable_index = *unlinked_index_itr;
- ensure_equals("0123456 second unlinkable index should be 6", (S32) unlinkable_index, 6);
- ++unlinked_index_itr;
- unlinkable_index = *unlinked_index_itr;
- ensure_equals("0123456 third unlinkable index should be 7", (S32) unlinkable_index, 7);
-
- }
- }
- }
-
- template<> template<>
- void linkable_object::test<3>()
- {
- // Here we test the link results between an LLPrimLinkInfo and a set of
- // randomized LLPrimLinkInfos where the expected results are known.
- S32 number_of_tests = 5;
- for (S32 test = 0; test < number_of_tests; ++test)
- {
- // the radii are known
- F32 first_radius = 1.f;
- F32 second_radius = 2.f;
- F32 third_radius = 3.f;
-
- // compute the distances
- F32 half_milimeter = 0.0005f;
- F32 max_first_second_span = 3.f * (first_radius + second_radius) + OBJECT_SPAN_BONUS;
- F32 linkable_distance = max_first_second_span - first_radius - second_radius - half_milimeter;
-
- F32 max_full_span = 3.f * (0.5f * max_first_second_span + third_radius) + OBJECT_SPAN_BONUS;
- F32 unlinkable_distance = max_full_span - 0.5f * linkable_distance - third_radius + half_milimeter;
-
- // compute some random directions
- LLVector3 first_direction(ll_frand(2.f) - 1.f, ll_frand(2.f) - 1.f, ll_frand(2.f) - 1.f);
- first_direction.normalize();
- LLVector3 second_direction(ll_frand(2.f) - 1.f, ll_frand(2.f) - 1.f, ll_frand(2.f) - 1.f);
- second_direction.normalize();
- LLVector3 third_direction(ll_frand(2.f) - 1.f, ll_frand(2.f) - 1.f, ll_frand(2.f) - 1.f);
- third_direction.normalize();
-
- // compute the centers
- LLVector3 first_center = ll_frand(10.f) * first_direction;
- LLVector3 second_center = first_center + ll_frand(linkable_distance) * second_direction;
- LLVector3 first_join_center = 0.5f * (first_center + second_center);
- LLVector3 third_center = first_join_center + unlinkable_distance * third_direction;
-
- // make sure the second info links and the third does not
- {
- // initialize the infos
- S32 index = 0;
- LLPrimLinkInfo<S32> first_info(index++, LLSphere(first_center, first_radius));
- LLPrimLinkInfo<S32> second_info(index++, LLSphere(second_center, second_radius));
- LLPrimLinkInfo<S32> third_info(index++, LLSphere(third_center, third_radius));
-
- // put the second and third infos in a list
- std::list< LLPrimLinkInfo<S32> > info_list;
- info_list.push_back(second_info);
- info_list.push_back(third_info);
-
- // merge the list with the first_info
- first_info.mergeLinkableSet(info_list);
- S32 prim_count = first_info.getPrimCount();
-
- ensure_equals("prim count should be 2", prim_count, 2);
- ensure_equals("unlinkable list should have length 1", (S32) info_list.size(), 1);
- }
-
- // reverse the order and make sure we get the same results
- {
- // initialize the infos
- S32 index = 0;
- LLPrimLinkInfo<S32> first_info(index++, LLSphere(first_center, first_radius));
- LLPrimLinkInfo<S32> second_info(index++, LLSphere(second_center, second_radius));
- LLPrimLinkInfo<S32> third_info(index++, LLSphere(third_center, third_radius));
-
- // build the list in the reverse order
- std::list< LLPrimLinkInfo<S32> > info_list;
- info_list.push_back(third_info);
- info_list.push_back(second_info);
-
- // merge the list with the first_info
- first_info.mergeLinkableSet(info_list);
- S32 prim_count = first_info.getPrimCount();
-
- ensure_equals("prim count should be 2", prim_count, 2);
- ensure_equals("unlinkable list should have length 1", (S32) info_list.size(), 1);
- }
- }
- }
-
- template<> template<>
- void linkable_object::test<4>()
- {
- // Here we test whether linkability is invarient under permutations
- // of link order. To do this we generate a bunch of random spheres
- // and then try to link them in different ways.
- //
- // NOTE: the linkability will only be invarient if there is only one
- // linkable solution. Multiple solutions will exist if the set of
- // candidates are larger than the maximum linkable distance, or more
- // numerous than a single linked object can contain. This is easily
- // understood by considering a very large set of link candidates,
- // and first linking preferentially to the left until linking fails,
- // then doing the same to the right -- the final solutions will differ.
- // Hence for this test we must generate candidate sets that lie within
- // the linkability envelope of a single object.
- //
- // NOTE: a random set of objects will tend to either be totally linkable
- // or totally not. That is, the random orientations that
-
- F32 root_center_range = 0.f;
- F32 min_prim_radius = 0.1f;
- F32 max_prim_radius = 2.f;
-
- // Linkability is min(MAX_OBJECT_SPAN,3 *( R1 + R2 ) + BONUS)
- // 3 * (min_prim_radius + min_prim_radius) + OBJECT_SPAN_BONUS = 6 * min_prim_radius + OBJECT_SPAN_BONUS;
- // Use .45 instead of .5 to gaurantee objects are within the minimum span.
- F32 child_center_range = 0.45f * ( (6*min_prim_radius) + OBJECT_SPAN_BONUS );
-
- S32 number_of_tests = 100;
- S32 number_of_spheres = 10;
- S32 number_of_scrambles = 10;
- S32 number_of_random_bubble_sorts = 10;
-
- for (S32 test = 0; test < number_of_tests; ++test)
- {
- LLSphere sphere;
- S32 sphere_index = 0;
-
- // build the root piece
- randomize_sphere(sphere, root_center_range, min_prim_radius, max_prim_radius);
- info.set( sphere_index++, sphere );
-
- // build the unlinked pieces
- std::list< LLPrimLinkInfo<S32> > info_list;
- for (; sphere_index < number_of_spheres; ++sphere_index)
- {
- randomize_sphere(sphere, child_center_range, min_prim_radius, max_prim_radius);
- LLPrimLinkInfo<S32> child_info( sphere_index, sphere );
- info_list.push_back(child_info);
- }
-
- // declare the variables used to store the results
- std::list<S32> first_linked_list;
-
- {
- // the link attempt will modify our original info's, so we
- // have to make copies of the originals for testing
- LLPrimLinkInfo<S32> test_info( 0, LLSphere(info.getCenter(), 0.5f * info.getDiameter()) );
- std::list< LLPrimLinkInfo<S32> > test_list;
- test_list.assign(info_list.begin(), info_list.end());
-
- // try to link
- test_info.mergeLinkableSet(test_list);
-
- ensure("All prims should link, but did not.",test_list.empty());
-
- // store the results
- test_info.getData(first_linked_list);
- first_linked_list.sort();
- }
-
- // try to link the spheres in various random orders
- for (S32 scramble = 0; scramble < number_of_scrambles; ++scramble)
- {
- LLPrimLinkInfo<S32> test_info(0, LLSphere(info.getCenter(), 0.5f * info.getDiameter()) );
-
- // scramble the order of the info_list
- std::list< LLPrimLinkInfo<S32> > test_list;
- test_list.assign(info_list.begin(), info_list.end());
- for (S32 i = 0; i < number_of_random_bubble_sorts; i++)
- {
- test_list.sort(random_sort);
- }
-
- // try to link
- test_info.mergeLinkableSet(test_list);
-
- // get the results
- std::list<S32> linked_list;
- test_info.getData(linked_list);
- linked_list.sort();
-
- ensure_equals("linked set size should be order independent",linked_list.size(),first_linked_list.size());
- }
- }
- }
-}
-
diff --git a/indra/test/test.cpp b/indra/test/test.cpp
index fd8034b811..5b36bb618d 100644
--- a/indra/test/test.cpp
+++ b/indra/test/test.cpp
@@ -46,13 +46,6 @@
#include "apr_pools.h"
#include "apr_getopt.h"
-// the CTYPE_WORKAROUND is needed for linux dev stations that don't
-// have the broken libc6 packages needed by our out-of-date static
-// libs (such as libcrypto and libcurl). -- Leviathan 20060113
-#ifdef CTYPE_WORKAROUND
-# include "ctype_workaround.h"
-#endif
-
#include <boost/iostreams/tee.hpp>
#include <boost/iostreams/stream.hpp>
@@ -316,122 +309,6 @@ protected:
std::shared_ptr<LLReplayLog> mReplayer;
};
-// TeamCity specific class which emits service messages
-// http://confluence.jetbrains.net/display/TCD3/Build+Script+Interaction+with+TeamCity;#BuildScriptInteractionwithTeamCity-testReporting
-
-class LLTCTestCallback : public LLTestCallback
-{
-public:
- LLTCTestCallback(bool verbose_mode, std::ostream *stream,
- std::shared_ptr<LLReplayLog> replayer) :
- LLTestCallback(verbose_mode, stream, replayer)
- {
- }
-
- ~LLTCTestCallback()
- {
- }
-
- virtual void group_started(const std::string& name) {
- LLTestCallback::group_started(name);
- std::cout << "\n##teamcity[testSuiteStarted name='" << escape(name) << "']" << std::endl;
- }
-
- virtual void group_completed(const std::string& name) {
- LLTestCallback::group_completed(name);
- std::cout << "##teamcity[testSuiteFinished name='" << escape(name) << "']" << std::endl;
- }
-
- virtual void test_completed(const tut::test_result& tr)
- {
- std::string testname(STRINGIZE(tr.group << "." << tr.test));
- if (! tr.name.empty())
- {
- testname.append(":");
- testname.append(tr.name);
- }
- testname = escape(testname);
-
- // Sadly, tut::callback doesn't give us control at test start; have to
- // backfill start message into TC output.
- std::cout << "##teamcity[testStarted name='" << testname << "']" << std::endl;
-
- // now forward call to base class so any output produced there is in
- // the right TC context
- LLTestCallback::test_completed(tr);
-
- switch(tr.result)
- {
- case tut::test_result::ok:
- break;
-
- case tut::test_result::fail:
- case tut::test_result::ex:
- case tut::test_result::warn:
- case tut::test_result::term:
- std::cout << "##teamcity[testFailed name='" << testname
- << "' message='" << escape(tr.message) << "']" << std::endl;
- break;
-
- case tut::test_result::skip:
- std::cout << "##teamcity[testIgnored name='" << testname << "']" << std::endl;
- break;
-
- default:
- break;
- }
-
- std::cout << "##teamcity[testFinished name='" << testname << "']" << std::endl;
- }
-
- static std::string escape(const std::string& str)
- {
- // Per http://confluence.jetbrains.net/display/TCD65/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-ServiceMessages
- std::string result;
- for (char c : str)
- {
- switch (c)
- {
- case '\'':
- result.append("|'");
- break;
- case '\n':
- result.append("|n");
- break;
- case '\r':
- result.append("|r");
- break;
-/*==========================================================================*|
- // These are not possible 'char' values from a std::string.
- case '\u0085': // next line
- result.append("|x");
- break;
- case '\u2028': // line separator
- result.append("|l");
- break;
- case '\u2029': // paragraph separator
- result.append("|p");
- break;
-|*==========================================================================*/
- case '|':
- result.append("||");
- break;
- case '[':
- result.append("|[");
- break;
- case ']':
- result.append("|]");
- break;
- default:
- result.push_back(c);
- break;
- }
- }
- return result;
- }
-};
-
-
static const apr_getopt_option_t TEST_CL_OPTIONS[] =
{
{"help", 'h', 0, "Print the help message."},
@@ -619,10 +496,6 @@ int main(int argc, char **argv)
LLFile::remove(test_log);
LLError::logToFile(test_log);
-#ifdef CTYPE_WORKAROUND
- ctype_workaround();
-#endif
-
if (!sMasterThreadRecorder)
{
sMasterThreadRecorder = new LLTrace::ThreadRecorder();
@@ -631,15 +504,7 @@ int main(int argc, char **argv)
// run the tests
- LLTestCallback* mycallback;
- if (getenv("TEAMCITY_PROJECT_NAME"))
- {
- mycallback = new LLTCTestCallback(verbose_mode, output.get(), replayer);
- }
- else
- {
- mycallback = new LLTestCallback(verbose_mode, output.get(), replayer);
- }
+ LLTestCallback* mycallback = new LLTestCallback(verbose_mode, output.get(), replayer);
// a chained_callback subclass must be linked with previous
mycallback->link();