From 6512d9f69d541b8f731a1b98198a7f8b0df07442 Mon Sep 17 00:00:00 2001 From: SignpostMarv Martin Date: Wed, 22 Dec 2010 19:41:59 +0000 Subject: Constraints in XUI files don't match the constraints imposed elsewhere in the viewer/server code. Don't know where the constraints are specified, but this XUI mod lets the user play within the full range of the actual constraints. --- indra/newview/skins/default/xui/en/floater_tools.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml index e70e1eb61b..f65082bd8c 100644 --- a/indra/newview/skins/default/xui/en/floater_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_tools.xml @@ -1829,26 +1829,26 @@ even though the user gets a free copy. -- cgit v1.2.3 From e32d1cf7564dd38664781ea7360fa8daa132961c Mon Sep 17 00:00:00 2001 From: Xiaohong Bao Date: Tue, 5 Apr 2011 15:28:18 -0600 Subject: fix for STORM-973: [crashhunters] crash at LLViewerTextureList::removeImageFromList(LLViewerFetchedTexture *) --- indra/newview/lldrawpoolbump.cpp | 5 +++++ indra/newview/llviewertexturelist.cpp | 36 ++++++++++++++++++++++++----------- indra/newview/llviewertexturelist.h | 9 +++++++-- 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/indra/newview/lldrawpoolbump.cpp b/indra/newview/lldrawpoolbump.cpp index 223e4a438c..c987847c66 100644 --- a/indra/newview/lldrawpoolbump.cpp +++ b/indra/newview/lldrawpoolbump.cpp @@ -853,6 +853,11 @@ void LLBumpImageList::destroyGL() void LLBumpImageList::restoreGL() { + if(!gTextureList.isInitialized()) + { + return ; + } + LLStandardBumpmap::restoreGL(); // Images will be recreated as they are needed. } diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index 10126219f8..f32d563dc1 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -76,18 +76,23 @@ LLStat LLViewerTextureList::sFormattedMemStat(32, TRUE); LLViewerTextureList gTextureList; static LLFastTimer::DeclareTimer FTM_PROCESS_IMAGES("Process Images"); +U32 LLViewerTextureList::sRenderThreadID = 0 ; /////////////////////////////////////////////////////////////////////////////// LLViewerTextureList::LLViewerTextureList() : mForceResetTextureStats(FALSE), mUpdateStats(FALSE), mMaxResidentTexMemInMegaBytes(0), - mMaxTotalTextureMemInMegaBytes(0) + mMaxTotalTextureMemInMegaBytes(0), + mInitialized(FALSE) { } void LLViewerTextureList::init() { + sRenderThreadID = LLThread::currentID() ; + + mInitialized = TRUE ; sNumImages = 0; mMaxResidentTexMemInMegaBytes = 0; mMaxTotalTextureMemInMegaBytes = 0 ; @@ -110,6 +115,10 @@ void LLViewerTextureList::doPreloadImages() { LL_DEBUGS("ViewerImages") << "Preloading images..." << LL_ENDL; + llassert_always(mInitialized) ; + llassert_always(mImageList.empty()) ; + llassert_always(mUUIDMap.empty()) ; + // Set the "missing asset" image LLViewerFetchedTexture::sMissingAssetImagep = LLViewerTextureManager::getFetchedTextureFromFile("missing_asset.tga", MIPMAP_NO, LLViewerFetchedTexture::BOOST_UI); @@ -305,6 +314,7 @@ void LLViewerTextureList::destroyGL(BOOL save_state) void LLViewerTextureList::restoreGL() { + llassert_always(mInitialized) ; LLImageGL::restoreGL(); } @@ -489,8 +499,10 @@ LLViewerFetchedTexture *LLViewerTextureList::findImage(const LLUUID &image_id) return iter->second; } -void LLViewerTextureList::addImageToList(LLViewerFetchedTexture *image) +void LLViewerTextureList::addImageToList(LLViewerFetchedTexture *image, U32 thread_id) { + llassert_always(mInitialized) ; + llassert_always(sRenderThreadID == thread_id); llassert(image); if (image->isInImageList()) { @@ -504,8 +516,10 @@ void LLViewerTextureList::addImageToList(LLViewerFetchedTexture *image) image->setInImageList(TRUE) ; } -void LLViewerTextureList::removeImageFromList(LLViewerFetchedTexture *image) +void LLViewerTextureList::removeImageFromList(LLViewerFetchedTexture *image, U32 thread_id) { + llassert_always(mInitialized) ; + llassert_always(sRenderThreadID == thread_id); llassert(image); if (!image->isInImageList()) { @@ -702,9 +716,9 @@ void LLViewerTextureList::updateImagesDecodePriorities() if ((decode_priority_test < old_priority_test * .8f) || (decode_priority_test > old_priority_test * 1.25f)) { - removeImageFromList(imagep); + removeImageFromList(imagep, sRenderThreadID); imagep->setDecodePriority(decode_priority); - addImageToList(imagep); + addImageToList(imagep, sRenderThreadID); } update_counter--; } @@ -781,9 +795,8 @@ void LLViewerTextureList::forceImmediateUpdate(LLViewerFetchedTexture* imagep) imagep->processTextureStats(); F32 decode_priority = LLViewerFetchedTexture::maxDecodePriority() ; imagep->setDecodePriority(decode_priority); - mImageList.insert(imagep); - imagep->setInImageList(TRUE) ; - + addImageToList(imagep); + return ; } @@ -877,7 +890,9 @@ void LLViewerTextureList::decodeAllImages(F32 max_time) { LLTimer timer; if(gNoRender) return; - + + llassert_always(sRenderThreadID == LLThread::currentID()); + // Update texture stats and priorities std::vector > image_list; for (image_priority_list_t::iterator iter = mImageList.begin(); @@ -895,8 +910,7 @@ void LLViewerTextureList::decodeAllImages(F32 max_time) imagep->processTextureStats(); F32 decode_priority = imagep->calcDecodePriority(); imagep->setDecodePriority(decode_priority); - mImageList.insert(imagep); - imagep->setInImageList(TRUE) ; + addImageToList(imagep); } image_list.clear(); diff --git a/indra/newview/llviewertexturelist.h b/indra/newview/llviewertexturelist.h index d508ce1ac6..27aab0c081 100644 --- a/indra/newview/llviewertexturelist.h +++ b/indra/newview/llviewertexturelist.h @@ -83,6 +83,7 @@ public: void dump(); void destroyGL(BOOL save_state = TRUE); void restoreGL(); + BOOL isInitialized() const {return mInitialized;} LLViewerFetchedTexture *findImage(const LLUUID &image_id); @@ -120,8 +121,8 @@ private: void addImage(LLViewerFetchedTexture *image); void deleteImage(LLViewerFetchedTexture *image); - void addImageToList(LLViewerFetchedTexture *image); - void removeImageFromList(LLViewerFetchedTexture *image); + void addImageToList(LLViewerFetchedTexture *image, U32 thread_id = LLThread::currentID()); + void removeImageFromList(LLViewerFetchedTexture *image, U32 thread_id = LLThread::currentID()); LLViewerFetchedTexture * getImage(const LLUUID &image_id, BOOL usemipmap = TRUE, @@ -187,6 +188,7 @@ private: // simply holds on to LLViewerFetchedTexture references to stop them from being purged too soon std::set > mImagePreloads; + BOOL mInitialized ; BOOL mUpdateStats; S32 mMaxResidentTexMemInMegaBytes; S32 mMaxTotalTextureMemInMegaBytes; @@ -206,6 +208,9 @@ public: private: static S32 sNumImages; static void (*sUUIDCallback)(void**, const LLUUID &); + + //debug use + static U32 sRenderThreadID; }; class LLUIImageList : public LLImageProviderInterface, public LLSingleton -- cgit v1.2.3 From 37bf11cc138565f866b4deea519543832c7a3887 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Tue, 12 Apr 2011 11:01:21 -0400 Subject: CHOP-581: add getGroups query to LLAgent listener --- indra/newview/llagentlistener.cpp | 24 ++++++++++++++++++++++++ indra/newview/llagentlistener.h | 1 + 2 files changed, 25 insertions(+) diff --git a/indra/newview/llagentlistener.cpp b/indra/newview/llagentlistener.cpp index c453fe91f4..d6de25e42e 100644 --- a/indra/newview/llagentlistener.cpp +++ b/indra/newview/llagentlistener.cpp @@ -64,6 +64,12 @@ LLAgentListener::LLAgentListener(LLAgent &agent) "[\"quat\"]: array of [x, y, z, w] quaternion values", &LLAgentListener::getAxes, LLSDMap("reply", LLSD())); + add("getGroups", + "Send on [\"reply\"], in [\"groups\"], an array describing agent's groups:\n" + "[\"id\"]: UUID of group\n" + "[\"name\"]: name of group", + &LLAgentListener::getGroups, + LLSDMap("reply", LLSD())); } void LLAgentListener::requestTeleport(LLSD const & event_data) const @@ -140,3 +146,21 @@ void LLAgentListener::getAxes(const LLSD& event) const ("euler", LLSDMap("roll", roll)("pitch", pitch)("yaw", yaw)), event); } + +void LLAgentListener::getGroups(const LLSD& event) const +{ + LLSD reply(LLSD::emptyArray()); + for (LLDynamicArray::const_iterator + gi(mAgent.mGroups.begin()), gend(mAgent.mGroups.end()); + gi != gend; ++gi) + { + reply.append(LLSDMap + ("id", gi->mID) + ("name", gi->mName) + ("insignia", gi->mInsigniaID) + ("notices", bool(gi->mAcceptNotices)) + ("display", bool(gi->mListInProfile)) + ("contrib", gi->mContribution)); + } + sendReply(LLSDMap("groups", reply), event); +} diff --git a/indra/newview/llagentlistener.h b/indra/newview/llagentlistener.h index 0aa58d0b16..5a89a99f6a 100644 --- a/indra/newview/llagentlistener.h +++ b/indra/newview/llagentlistener.h @@ -46,6 +46,7 @@ private: void requestStand(LLSD const & event_data) const; void resetAxes(const LLSD& event) const; void getAxes(const LLSD& event) const; + void getGroups(const LLSD& event) const; private: LLAgent & mAgent; -- cgit v1.2.3 From e9f6de28b2e2be98bd8bb9e62fcffafebd29a939 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Tue, 12 Apr 2011 11:04:19 -0400 Subject: CHOP-581: Preliminary attempt to add enter/leave group chat hooks. Unstable! Using present "startIM" is known to crash the Mac viewer. Committing to migrate to different dev box for further debugging. --- indra/newview/CMakeLists.txt | 2 ++ indra/newview/groupchatlistener.cpp | 36 ++++++++++++++++++++++++++++++++++++ indra/newview/groupchatlistener.h | 23 +++++++++++++++++++++++ indra/newview/llgroupactions.cpp | 2 ++ 4 files changed, 63 insertions(+) create mode 100644 indra/newview/groupchatlistener.cpp create mode 100644 indra/newview/groupchatlistener.h diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index b1cb10665b..b2053d68a3 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -70,6 +70,7 @@ include_directories( ) set(viewer_SOURCE_FILES + groupchatlistener.cpp llagent.cpp llagentaccess.cpp llagentcamera.cpp @@ -612,6 +613,7 @@ endif (LINUX) set(viewer_HEADER_FILES CMakeLists.txt ViewerInstall.cmake + groupchatlistener.h llagent.h llagentaccess.h llagentcamera.h diff --git a/indra/newview/groupchatlistener.cpp b/indra/newview/groupchatlistener.cpp new file mode 100644 index 0000000000..9b463c9a3f --- /dev/null +++ b/indra/newview/groupchatlistener.cpp @@ -0,0 +1,36 @@ +/** + * @file groupchatlistener.cpp + * @author Nat Goodspeed + * @date 2011-04-11 + * @brief Implementation for groupchatlistener. + * + * $LicenseInfo:firstyear=2011&license=internal$ + * Copyright (c) 2011, Linden Research, Inc. + * $/LicenseInfo$ + */ + +// Precompiled header +#include "llviewerprecompiledheaders.h" +// associated header +#include "groupchatlistener.h" +// STL headers +// std headers +// external library headers +// other Linden headers +#include "llgroupactions.h" + +GroupChatListener::GroupChatListener(): + LLEventAPI("GroupChat", + "API to enter, leave, send and intercept group chat messages") +{ + add("startIM", + "Enter a group chat in group with UUID [\"id\"]\n" + "Assumes the logged-in agent is already a member of this group.", + &LLGroupActions::startIM, + LLSDArray("id")); + add("endIM", + "Leave a group chat in group with UUID [\"id\"]\n" + "Assumes a prior successful startIM request.", + &LLGroupActions::endIM, + LLSDArray("id")); +} diff --git a/indra/newview/groupchatlistener.h b/indra/newview/groupchatlistener.h new file mode 100644 index 0000000000..719e3e877f --- /dev/null +++ b/indra/newview/groupchatlistener.h @@ -0,0 +1,23 @@ +/** + * @file groupchatlistener.h + * @author Nat Goodspeed + * @date 2011-04-11 + * @brief + * + * $LicenseInfo:firstyear=2011&license=internal$ + * Copyright (c) 2011, Linden Research, Inc. + * $/LicenseInfo$ + */ + +#if ! defined(LL_GROUPCHATLISTENER_H) +#define LL_GROUPCHATLISTENER_H + +#include "lleventapi.h" + +class GroupChatListener: public LLEventAPI +{ +public: + GroupChatListener(); +}; + +#endif /* ! defined(LL_GROUPCHATLISTENER_H) */ diff --git a/indra/newview/llgroupactions.cpp b/indra/newview/llgroupactions.cpp index 7c56e610ce..92fd84ff5b 100644 --- a/indra/newview/llgroupactions.cpp +++ b/indra/newview/llgroupactions.cpp @@ -40,10 +40,12 @@ #include "llsidetray.h" #include "llstatusbar.h" // can_afford_transaction() #include "llimfloater.h" +#include "groupchatlistener.h" // // Globals // +static GroupChatListener sGroupChatListener; class LLGroupHandler : public LLCommandHandler { -- cgit v1.2.3 From 4993cfba34bda2057bf2fa83afe3db4222625ef7 Mon Sep 17 00:00:00 2001 From: Seth ProductEngine Date: Wed, 13 Apr 2011 18:13:02 +0300 Subject: STORM-941 FIXED IM history to use the resident's user name for the log file name. Added conversions from legacy names or SLURLs with avatar id to the user names in cases of logging P2P sessions and inventory offers. Removed asynchronous writes to temporary IM log file depending on name cache responses. --- indra/newview/llgiveinventory.cpp | 3 ++ indra/newview/llimview.cpp | 73 +++++++++++++++-------------- indra/newview/llimview.h | 19 +++----- indra/newview/llnotificationhandlerutil.cpp | 18 +++++-- indra/newview/llviewermessage.cpp | 3 ++ 5 files changed, 63 insertions(+), 53 deletions(-) diff --git a/indra/newview/llgiveinventory.cpp b/indra/newview/llgiveinventory.cpp index f990b9294d..30858871ec 100644 --- a/indra/newview/llgiveinventory.cpp +++ b/indra/newview/llgiveinventory.cpp @@ -311,6 +311,9 @@ void LLGiveInventory::logInventoryOffer(const LLUUID& to_agent, const LLUUID &im std::string full_name; if (gCacheName->getFullName(to_agent, full_name)) { + // Build a new format username or firstname_lastname for legacy names + // to use it for a history log filename. + full_name = LLCacheName::buildUsername(full_name); LLIMModel::instance().logToFile(full_name, LLTrans::getString("SECOND_LIFE"), im_session_id, LLTrans::getString("inventory_item_offered-im")); } } diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index ec3fe48151..a6563ae93e 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -195,7 +195,7 @@ LLIMModel::LLIMSession::LLIMSession(const LLUUID& session_id, const std::string& // set P2P type by default mSessionType = P2P_SESSION; - if (IM_NOTHING_SPECIAL == type || IM_SESSION_P2P_INVITE == type) + if (IM_NOTHING_SPECIAL == mType || IM_SESSION_P2P_INVITE == mType) { mVoiceChannel = new LLVoiceChannelP2P(session_id, name, other_participant_id); mOtherParticipantIsAvatar = LLVoiceClient::getInstance()->isParticipantAvatar(mSessionID); @@ -249,7 +249,7 @@ LLIMModel::LLIMSession::LLIMSession(const LLUUID& session_id, const std::string& new LLSessionTimeoutTimer(mSessionID, SESSION_INITIALIZATION_TIMEOUT); } - if (IM_NOTHING_SPECIAL == type) + if (IM_NOTHING_SPECIAL == mType) { mCallBackEnabled = LLVoiceClient::getInstance()->isSessionCallBackPossible(mSessionID); mTextIMPossible = LLVoiceClient::getInstance()->isSessionTextIMPossible(mSessionID); @@ -269,10 +269,10 @@ LLIMModel::LLIMSession::LLIMSession(const LLUUID& session_id, const std::string& // Localizing name of ad-hoc session. STORM-153 // Changing name should happen here- after the history file was created, so that // history files have consistent (English) names in different locales. - if (isAdHocSessionType() && IM_SESSION_INVITE == type) + if (isAdHocSessionType() && IM_SESSION_INVITE == mType) { - LLAvatarNameCache::get(mOtherParticipantID, - boost::bind(&LLIMModel::LLIMSession::onAdHocNameCache, + LLAvatarNameCache::get(mOtherParticipantID, + boost::bind(&LLIMModel::LLIMSession::onAdHocNameCache, this, _2)); } } @@ -553,23 +553,10 @@ bool LLIMModel::LLIMSession::isOtherParticipantAvaline() return !mOtherParticipantIsAvatar; } -void LLIMModel::LLIMSession::onAvatarNameCache(const LLUUID& avatar_id, const LLAvatarName& av_name) -{ - if (av_name.mUsername.empty()) - { - // display names is off, use mDisplayName which will be the legacy name - mHistoryFileName = LLCacheName::buildUsername(av_name.mDisplayName); - } - else - { - mHistoryFileName = av_name.mUsername; - } -} - void LLIMModel::LLIMSession::buildHistoryFileName() { mHistoryFileName = mName; - + //ad-hoc requires sophisticated chat history saving schemes if (isAdHoc()) { @@ -583,17 +570,35 @@ void LLIMModel::LLIMSession::buildHistoryFileName() { std::set sorted_uuids(mInitialTargetIDs.begin(), mInitialTargetIDs.end()); mHistoryFileName = mName + " hash" + generateHash(sorted_uuids); - return; } - - //in case of incoming ad-hoc sessions - mHistoryFileName = mName + " " + LLLogChat::timestamp(true) + " " + mSessionID.asString().substr(0, 4); + else + { + //in case of incoming ad-hoc sessions + mHistoryFileName = mName + " " + LLLogChat::timestamp(true) + " " + mSessionID.asString().substr(0, 4); + } } - - // look up username to use as the log name - if (isP2P()) + else if (isP2P()) // look up username to use as the log name { - LLAvatarNameCache::get(mOtherParticipantID, boost::bind(&LLIMModel::LLIMSession::onAvatarNameCache, this, _1, _2)); + LLAvatarName av_name; + // For outgoing sessions we already have a cached name + // so no need for a callback in LLAvatarNameCache::get() + if (LLAvatarNameCache::get(mOtherParticipantID, &av_name)) + { + if (av_name.mUsername.empty()) + { + // Display names are off, use mDisplayName which will be the legacy name + mHistoryFileName = LLCacheName::buildUsername(av_name.mDisplayName); + } + else + { + mHistoryFileName = av_name.mUsername; + } + } + else + { + // Incoming P2P sessions include a name that we can use to build a history file name + mHistoryFileName = LLCacheName::buildUsername(mName); + } } } @@ -615,7 +620,6 @@ std::string LLIMModel::LLIMSession::generateHash(const std::set& sorted_ return participants_md5_hash.asString(); } - void LLIMModel::processSessionInitializedReply(const LLUUID& old_session_id, const LLUUID& new_session_id) { LLIMSession* session = findIMSession(old_session_id); @@ -798,11 +802,6 @@ bool LLIMModel::logToFile(const std::string& file_name, const std::string& from, } } -bool LLIMModel::logToFile(const LLUUID& session_id, const std::string& from, const LLUUID& from_id, const std::string& utf8_text) -{ - return logToFile(LLIMModel::getInstance()->getHistoryFileName(session_id), from, from_id, utf8_text); -} - bool LLIMModel::proccessOnlineOfflineNotification( const LLUUID& session_id, const std::string& utf8_text) @@ -856,8 +855,11 @@ LLIMModel::LLIMSession* LLIMModel::addMessageSilently(const LLUUID& session_id, } addToHistory(session_id, from_name, from_id, utf8_text); - if (log2file) logToFile(session_id, from_name, from_id, utf8_text); - + if (log2file) + { + logToFile(getHistoryFileName(session_id), from_name, from_id, utf8_text); + } + session->mNumUnread++; //update count of unread messages from real participant @@ -2468,6 +2470,7 @@ void LLIMMgr::addSystemMessage(const LLUUID& session_id, const std::string& mess std::string session_name; // since we select user to share item with - his name is already in cache gCacheName->getFullName(args["user_id"], session_name); + session_name = LLCacheName::buildUsername(session_name); LLIMModel::instance().logToFile(session_name, SYSTEM_FROM, LLUUID::null, message.getString()); } } diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h index a15776c207..0ee56c8070 100644 --- a/indra/newview/llimview.h +++ b/indra/newview/llimview.h @@ -98,13 +98,6 @@ public: /** ad-hoc sessions involve sophisticated chat history file naming schemes */ void buildHistoryFileName(); - void onAvatarNameCache(const LLUUID& avatar_id, const LLAvatarName& av_name); - - void onAdHocNameCache(const LLAvatarName& av_name); - - //*TODO make private - static std::string generateHash(const std::set& sorted_uuids); - LLUUID mSessionID; std::string mName; EInstantMessage mType; @@ -139,6 +132,11 @@ public: //if IM session is created for a voice call bool mStartedAsIMCall; + + private: + void onAdHocNameCache(const LLAvatarName& av_name); + + static std::string generateHash(const std::set& sorted_uuids); }; @@ -293,12 +291,7 @@ private: /** * Add message to a list of message associated with session specified by session_id */ - bool addToHistory(const LLUUID& session_id, const std::string& from, const LLUUID& from_id, const std::string& utf8_text); - - /** - * Save an IM message into a file - */ - bool logToFile(const LLUUID& session_id, const std::string& from, const LLUUID& from_id, const std::string& utf8_text); + bool addToHistory(const LLUUID& session_id, const std::string& from, const LLUUID& from_id, const std::string& utf8_text); }; class LLIMSessionObserver diff --git a/indra/newview/llnotificationhandlerutil.cpp b/indra/newview/llnotificationhandlerutil.cpp index 70d588db52..de90023f3b 100644 --- a/indra/newview/llnotificationhandlerutil.cpp +++ b/indra/newview/llnotificationhandlerutil.cpp @@ -27,13 +27,17 @@ #include "llviewerprecompiledheaders.h" // must be first include -#include "llnotificationhandler.h" +#include "llavatarnamecache.h" + +#include "llfloaterreg.h" #include "llnotifications.h" -#include "llimview.h" +#include "llurlaction.h" + #include "llagent.h" -#include "llfloaterreg.h" -#include "llnearbychat.h" #include "llimfloater.h" +#include "llimview.h" +#include "llnearbychat.h" +#include "llnotificationhandler.h" using namespace LLNotificationsUI; @@ -275,7 +279,11 @@ void LLHandlerUtil::logToIM(const EInstantMessage& session_type, { from = SYSTEM_FROM; } - LLIMModel::instance().logToFile(session_name, from, from_id, message); + + // Build a new format username or firstname_lastname for legacy names + // to use it for a history log filename. + std::string user_name = LLCacheName::buildUsername(session_name); + LLIMModel::instance().logToFile(user_name, from, from_id, message); } else { diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 9641a0901c..7907614f14 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2595,6 +2595,9 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) args["NAME"] = LLSLURL("agent", from_id, "completename").getSLURLString();; LLSD payload; payload["from_id"] = from_id; + // Passing the "SESSION_NAME" to use it for IM notification logging + // in LLTipHandler::processNotification(). See STORM-941. + payload["SESSION_NAME"] = name; LLNotificationsUtil::add("InventoryAccepted", args, payload); break; } -- cgit v1.2.3 From 137168ce439de8292a297a86061706780901b55b Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Sun, 17 Apr 2011 08:04:02 -0400 Subject: STORM-1088: fix loading of winmm.dll --- doc/contributions.txt | 1 + indra/media_plugins/winmmshim/forwarding_api.cpp | 173 +++++++++++++++++++++++ indra/media_plugins/winmmshim/forwarding_api.h | 1 + indra/media_plugins/winmmshim/winmm_shim.cpp | 17 ++- 4 files changed, 189 insertions(+), 3 deletions(-) diff --git a/doc/contributions.txt b/doc/contributions.txt index 71c54e8624..c92450acd2 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -703,6 +703,7 @@ Shawn Kaufmat SNOW-240 Siana Gearz STORM-960 + STORM-1088 SignpostMarv Martin VWR-153 VWR-154 diff --git a/indra/media_plugins/winmmshim/forwarding_api.cpp b/indra/media_plugins/winmmshim/forwarding_api.cpp index eff7e20451..495e08942b 100644 --- a/indra/media_plugins/winmmshim/forwarding_api.cpp +++ b/indra/media_plugins/winmmshim/forwarding_api.cpp @@ -389,90 +389,105 @@ void init_function_pointers(HMODULE winmm_handle) extern "C" { LRESULT WINAPI CloseDriver( HDRVR hDriver, LPARAM lParam1, LPARAM lParam2) { + ll_winmm_shim_initialize(); //OutputDebugString(L"CloseDriver\n"); return CloseDriver_orig( hDriver, lParam1, lParam2); } HDRVR WINAPI OpenDriver( LPCWSTR szDriverName, LPCWSTR szSectionName, LPARAM lParam2) { + ll_winmm_shim_initialize(); //OutputDebugString(L"OpenDriver\n"); return OpenDriver_orig( szDriverName, szSectionName, lParam2); } LRESULT WINAPI SendDriverMessage( HDRVR hDriver, UINT message, LPARAM lParam1, LPARAM lParam2) { + ll_winmm_shim_initialize(); //OutputDebugString(L"SendDriverMessage\n"); return SendDriverMessage_orig( hDriver, message, lParam1, lParam2); } HMODULE WINAPI DrvGetModuleHandle( HDRVR hDriver) { + ll_winmm_shim_initialize(); //OutputDebugString(L"DrvGetModuleHandle\n"); return DrvGetModuleHandle_orig( hDriver); } HMODULE WINAPI GetDriverModuleHandle( HDRVR hDriver) { + ll_winmm_shim_initialize(); //OutputDebugString(L"GetDriverModuleHandle\n"); return GetDriverModuleHandle_orig( hDriver); } LRESULT WINAPI DefDriverProc( DWORD_PTR dwDriverIdentifier, HDRVR hdrvr, UINT uMsg, LPARAM lParam1, LPARAM lParam2) { + ll_winmm_shim_initialize(); //OutputDebugString(L"DefDriverProc\n"); return DefDriverProc_orig( dwDriverIdentifier, hdrvr, uMsg, lParam1, lParam2); } BOOL WINAPI DriverCallback( DWORD dwCallBack, DWORD dwFlags, HDRVR hdrvr, DWORD msg, DWORD dwUser, DWORD dwParam1, DWORD dwParam2) { + ll_winmm_shim_initialize(); //OutputDebugString(L"DriverCallback\n"); return DriverCallback_orig(dwCallBack, dwFlags, hdrvr, msg, dwUser, dwParam1, dwParam2); } UINT WINAPI mmsystemGetVersion(void) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmsystemGetVersion\n"); return mmsystemGetVersion_orig(); } BOOL WINAPI sndPlaySoundA( LPCSTR pszSound, UINT fuSound) { + ll_winmm_shim_initialize(); //OutputDebugString(L"sndPlaySoundA\n"); return sndPlaySoundA_orig( pszSound, fuSound); } BOOL WINAPI sndPlaySoundW( LPCWSTR pszSound, UINT fuSound) { + ll_winmm_shim_initialize(); //OutputDebugString(L"sndPlaySoundW\n"); return sndPlaySoundW_orig( pszSound, fuSound); } BOOL WINAPI PlaySoundA( LPCSTR pszSound, HMODULE hmod, DWORD fdwSound) { + ll_winmm_shim_initialize(); //OutputDebugString(L"PlaySoundA\n"); return PlaySoundA_orig( pszSound, hmod, fdwSound); } BOOL WINAPI PlaySoundW( LPCWSTR pszSound, HMODULE hmod, DWORD fdwSound) { + ll_winmm_shim_initialize(); //OutputDebugString(L"PlaySoundW\n"); return PlaySoundW_orig( pszSound, hmod, fdwSound); } UINT WINAPI waveOutGetNumDevs(void) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutGetNumDevs\n"); return waveOutGetNumDevs_orig(); } MMRESULT WINAPI waveOutGetDevCapsA( UINT_PTR uDeviceID, LPWAVEOUTCAPSA pwoc, UINT cbwoc) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutGetDevCapsA\n"); return waveOutGetDevCapsA_orig( uDeviceID, pwoc, cbwoc); } MMRESULT WINAPI waveOutGetDevCapsW( UINT_PTR uDeviceID, LPWAVEOUTCAPSW pwoc, UINT cbwoc) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutGetDevCapsW\n"); return waveOutGetDevCapsW_orig( uDeviceID, pwoc, cbwoc); } @@ -480,24 +495,28 @@ extern "C" { MMRESULT WINAPI waveOutGetVolume( HWAVEOUT hwo, LPDWORD pdwVolume) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutGetVolume\n"); return waveOutGetVolume_orig( hwo, pdwVolume); } MMRESULT WINAPI waveOutSetVolume( HWAVEOUT hwo, DWORD dwVolume) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutSetVolume\n"); return waveOutSetVolume_orig( hwo, dwVolume); } MMRESULT WINAPI waveOutGetErrorTextA( MMRESULT mmrError, LPSTR pszText, UINT cchText) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutGetErrorTextA\n"); return waveOutGetErrorTextA_orig( mmrError, pszText, cchText); } MMRESULT WINAPI waveOutGetErrorTextW( MMRESULT mmrError, LPWSTR pszText, UINT cchText) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutGetErrorTextW\n"); return waveOutGetErrorTextW_orig( mmrError, pszText, cchText); } @@ -516,12 +535,14 @@ extern "C" { MMRESULT WINAPI waveOutPrepareHeader( HWAVEOUT hwo, LPWAVEHDR pwh, UINT cbwh) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutPrepareHeader\n"); return waveOutPrepareHeader_orig( hwo, pwh, cbwh); } MMRESULT WINAPI waveOutUnprepareHeader( HWAVEOUT hwo, LPWAVEHDR pwh, UINT cbwh) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutUnprepareHeader\n"); return waveOutUnprepareHeader_orig( hwo, pwh, cbwh); } @@ -535,834 +556,973 @@ extern "C" { MMRESULT WINAPI waveOutPause( HWAVEOUT hwo) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutPause\n"); return waveOutPause_orig( hwo); } MMRESULT WINAPI waveOutRestart( HWAVEOUT hwo) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutRestart\n"); return waveOutRestart_orig( hwo); } MMRESULT WINAPI waveOutReset( HWAVEOUT hwo) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutReset\n"); return waveOutReset_orig( hwo); } MMRESULT WINAPI waveOutBreakLoop( HWAVEOUT hwo) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutBreakLoop\n"); return waveOutBreakLoop_orig( hwo); } MMRESULT WINAPI waveOutGetPosition( HWAVEOUT hwo, LPMMTIME pmmt, UINT cbmmt) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutGetPosition\n"); return waveOutGetPosition_orig( hwo, pmmt, cbmmt); } MMRESULT WINAPI waveOutGetPitch( HWAVEOUT hwo, LPDWORD pdwPitch) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutGetPitch\n"); return waveOutGetPitch_orig( hwo, pdwPitch); } MMRESULT WINAPI waveOutSetPitch( HWAVEOUT hwo, DWORD dwPitch) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutSetPitch\n"); return waveOutSetPitch_orig( hwo, dwPitch); } MMRESULT WINAPI waveOutGetPlaybackRate( HWAVEOUT hwo, LPDWORD pdwRate) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutGetPlaybackRate\n"); return waveOutGetPlaybackRate_orig( hwo, pdwRate); } MMRESULT WINAPI waveOutSetPlaybackRate( HWAVEOUT hwo, DWORD dwRate) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutSetPlaybackRate\n"); return waveOutSetPlaybackRate_orig( hwo, dwRate); } MMRESULT WINAPI waveOutGetID( HWAVEOUT hwo, LPUINT puDeviceID) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutGetID\n"); return waveOutGetID_orig( hwo, puDeviceID); } MMRESULT WINAPI waveOutMessage( HWAVEOUT hwo, UINT uMsg, DWORD_PTR dw1, DWORD_PTR dw2) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveOutMessage\n"); return waveOutMessage_orig( hwo, uMsg, dw1, dw2); } UINT WINAPI waveInGetNumDevs(void) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInGetNumDevs\n"); return waveInGetNumDevs_orig(); } MMRESULT WINAPI waveInGetDevCapsA( UINT_PTR uDeviceID, LPWAVEINCAPSA pwic, UINT cbwic) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInGetDevCapsA\n"); return waveInGetDevCapsA_orig( uDeviceID, pwic, cbwic); } MMRESULT WINAPI waveInGetDevCapsW( UINT_PTR uDeviceID, LPWAVEINCAPSW pwic, UINT cbwic) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInGetDevCapsW\n"); return waveInGetDevCapsW_orig( uDeviceID, pwic, cbwic); } MMRESULT WINAPI waveInGetErrorTextA(MMRESULT mmrError, LPSTR pszText, UINT cchText) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInGetErrorTextA\n"); return waveInGetErrorTextA_orig(mmrError, pszText, cchText); } MMRESULT WINAPI waveInGetErrorTextW(MMRESULT mmrError, LPWSTR pszText, UINT cchText) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInGetErrorTextW\n"); return waveInGetErrorTextW_orig(mmrError, pszText, cchText); } MMRESULT WINAPI waveInOpen( LPHWAVEIN phwi, UINT uDeviceID, LPCWAVEFORMATEX pwfx, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInOpen\n"); return waveInOpen_orig(phwi, uDeviceID, pwfx, dwCallback, dwInstance, fdwOpen); } MMRESULT WINAPI waveInClose( HWAVEIN hwi) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInClose\n"); return waveInClose_orig( hwi); } MMRESULT WINAPI waveInPrepareHeader( HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInPrepareHeader\n"); return waveInPrepareHeader_orig( hwi, pwh, cbwh); } MMRESULT WINAPI waveInUnprepareHeader( HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInUnprepareHeader\n"); return waveInUnprepareHeader_orig( hwi, pwh, cbwh); } MMRESULT WINAPI waveInAddBuffer( HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInAddBuffer\n"); return waveInAddBuffer_orig( hwi, pwh, cbwh); } MMRESULT WINAPI waveInStart( HWAVEIN hwi) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInStart\n"); return waveInStart_orig( hwi); } MMRESULT WINAPI waveInStop( HWAVEIN hwi) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInStop\n"); return waveInStop_orig(hwi); } MMRESULT WINAPI waveInReset( HWAVEIN hwi) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInReset\n"); return waveInReset_orig(hwi); } MMRESULT WINAPI waveInGetPosition( HWAVEIN hwi, LPMMTIME pmmt, UINT cbmmt) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInGetPosition\n"); return waveInGetPosition_orig( hwi, pmmt, cbmmt); } MMRESULT WINAPI waveInGetID( HWAVEIN hwi, LPUINT puDeviceID) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInGetID\n"); return waveInGetID_orig( hwi, puDeviceID); } MMRESULT WINAPI waveInMessage( HWAVEIN hwi, UINT uMsg, DWORD_PTR dw1, DWORD_PTR dw2) { + ll_winmm_shim_initialize(); //OutputDebugString(L"waveInMessage\n"); return waveInMessage_orig( hwi, uMsg, dw1, dw2); } UINT WINAPI midiOutGetNumDevs(void) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutGetNumDevs\n"); return midiOutGetNumDevs_orig(); } MMRESULT WINAPI midiStreamOpen( LPHMIDISTRM phms, LPUINT puDeviceID, DWORD cMidi, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiStreamOpen\n"); return midiStreamOpen_orig( phms, puDeviceID, cMidi, dwCallback, dwInstance, fdwOpen); } MMRESULT WINAPI midiStreamClose( HMIDISTRM hms) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiStreamClose\n"); return midiStreamClose_orig( hms); } MMRESULT WINAPI midiStreamProperty( HMIDISTRM hms, LPBYTE lppropdata, DWORD dwProperty) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiStreamProperty\n"); return midiStreamProperty_orig( hms, lppropdata, dwProperty); } MMRESULT WINAPI midiStreamPosition( HMIDISTRM hms, LPMMTIME lpmmt, UINT cbmmt) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiStreamPosition\n"); return midiStreamPosition_orig( hms, lpmmt, cbmmt); } MMRESULT WINAPI midiStreamOut( HMIDISTRM hms, LPMIDIHDR pmh, UINT cbmh) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiStreamOut\n"); return midiStreamOut_orig( hms, pmh, cbmh); } MMRESULT WINAPI midiStreamPause( HMIDISTRM hms) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiStreamPause\n"); return midiStreamPause_orig( hms); } MMRESULT WINAPI midiStreamRestart( HMIDISTRM hms) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiStreamRestart\n"); return midiStreamRestart_orig( hms); } MMRESULT WINAPI midiStreamStop( HMIDISTRM hms) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiStreamStop\n"); return midiStreamStop_orig( hms); } MMRESULT WINAPI midiConnect( HMIDI hmi, HMIDIOUT hmo, LPVOID pReserved) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiConnect\n"); return midiConnect_orig( hmi, hmo, pReserved); } MMRESULT WINAPI midiDisconnect( HMIDI hmi, HMIDIOUT hmo, LPVOID pReserved) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiDisconnect\n"); return midiDisconnect_orig( hmi, hmo, pReserved); } MMRESULT WINAPI midiOutGetDevCapsA( UINT_PTR uDeviceID, LPMIDIOUTCAPSA pmoc, UINT cbmoc) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutGetDevCapsA\n"); return midiOutGetDevCapsA_orig( uDeviceID, pmoc, cbmoc); } MMRESULT WINAPI midiOutGetDevCapsW( UINT_PTR uDeviceID, LPMIDIOUTCAPSW pmoc, UINT cbmoc) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutGetDevCapsW\n"); return midiOutGetDevCapsW_orig( uDeviceID, pmoc, cbmoc); } MMRESULT WINAPI midiOutGetVolume( HMIDIOUT hmo, LPDWORD pdwVolume) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutGetVolume\n"); return midiOutGetVolume_orig( hmo, pdwVolume); } MMRESULT WINAPI midiOutSetVolume( HMIDIOUT hmo, DWORD dwVolume) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutSetVolume\n"); return midiOutSetVolume_orig( hmo, dwVolume); } MMRESULT WINAPI midiOutGetErrorTextA( MMRESULT mmrError, LPSTR pszText, UINT cchText) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutGetErrorTextA\n"); return midiOutGetErrorTextA_orig( mmrError, pszText, cchText); } MMRESULT WINAPI midiOutGetErrorTextW( MMRESULT mmrError, LPWSTR pszText, UINT cchText) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutGetErrorTextW\n"); return midiOutGetErrorTextW_orig( mmrError, pszText, cchText); } MMRESULT WINAPI midiOutOpen( LPHMIDIOUT phmo, UINT uDeviceID, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutOpen\n"); return midiOutOpen_orig(phmo, uDeviceID, dwCallback, dwInstance, fdwOpen); } MMRESULT WINAPI midiOutClose( HMIDIOUT hmo) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutClose\n"); return midiOutClose_orig( hmo); } MMRESULT WINAPI midiOutPrepareHeader( HMIDIOUT hmo, LPMIDIHDR pmh, UINT cbmh) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutPrepareHeader\n"); return midiOutPrepareHeader_orig( hmo, pmh, cbmh); } MMRESULT WINAPI midiOutUnprepareHeader(HMIDIOUT hmo, LPMIDIHDR pmh, UINT cbmh) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutUnprepareHeader\n"); return midiOutUnprepareHeader_orig(hmo, pmh, cbmh); } MMRESULT WINAPI midiOutShortMsg( HMIDIOUT hmo, DWORD dwMsg) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutShortMsg\n"); return midiOutShortMsg_orig( hmo, dwMsg); } MMRESULT WINAPI midiOutLongMsg(HMIDIOUT hmo, LPMIDIHDR pmh, UINT cbmh) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutLongMsg\n"); return midiOutLongMsg_orig(hmo, pmh, cbmh); } MMRESULT WINAPI midiOutReset( HMIDIOUT hmo) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutReset\n"); return midiOutReset_orig( hmo); } MMRESULT WINAPI midiOutCachePatches( HMIDIOUT hmo, UINT uBank, LPWORD pwpa, UINT fuCache) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutCachePatches\n"); return midiOutCachePatches_orig( hmo, uBank, pwpa, fuCache); } MMRESULT WINAPI midiOutCacheDrumPatches( HMIDIOUT hmo, UINT uPatch, LPWORD pwkya, UINT fuCache) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutCacheDrumPatches\n"); return midiOutCacheDrumPatches_orig( hmo, uPatch, pwkya, fuCache); } MMRESULT WINAPI midiOutGetID( HMIDIOUT hmo, LPUINT puDeviceID) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutGetID\n"); return midiOutGetID_orig( hmo, puDeviceID); } MMRESULT WINAPI midiOutMessage( HMIDIOUT hmo, UINT uMsg, DWORD_PTR dw1, DWORD_PTR dw2) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiOutMessage\n"); return midiOutMessage_orig( hmo, uMsg, dw1, dw2); } UINT WINAPI midiInGetNumDevs(void) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiInGetNumDevs\n"); return midiInGetNumDevs_orig(); } MMRESULT WINAPI midiInGetDevCapsA( UINT_PTR uDeviceID, LPMIDIINCAPSA pmic, UINT cbmic) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiInGetDevCapsA\n"); return midiInGetDevCapsA_orig( uDeviceID, pmic, cbmic); } MMRESULT WINAPI midiInGetDevCapsW( UINT_PTR uDeviceID, LPMIDIINCAPSW pmic, UINT cbmic) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiInGetDevCapsW\n"); return midiInGetDevCapsW_orig( uDeviceID, pmic, cbmic); } MMRESULT WINAPI midiInGetErrorTextA( MMRESULT mmrError, LPSTR pszText, UINT cchText) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiInGetErrorTextA\n"); return midiInGetErrorTextA_orig( mmrError, pszText, cchText); } MMRESULT WINAPI midiInGetErrorTextW( MMRESULT mmrError, LPWSTR pszText, UINT cchText) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiInGetErrorTextW\n"); return midiInGetErrorTextW_orig( mmrError, pszText, cchText); } MMRESULT WINAPI midiInOpen( LPHMIDIIN phmi, UINT uDeviceID, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiInOpen\n"); return midiInOpen_orig(phmi, uDeviceID, dwCallback, dwInstance, fdwOpen); } MMRESULT WINAPI midiInClose( HMIDIIN hmi) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiInClose\n"); return midiInClose_orig( hmi); } MMRESULT WINAPI midiInPrepareHeader( HMIDIIN hmi, LPMIDIHDR pmh, UINT cbmh) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiInPrepareHeader\n"); return midiInPrepareHeader_orig( hmi, pmh, cbmh); } MMRESULT WINAPI midiInUnprepareHeader( HMIDIIN hmi, LPMIDIHDR pmh, UINT cbmh) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiInUnprepareHeader\n"); return midiInUnprepareHeader_orig( hmi, pmh, cbmh); } MMRESULT WINAPI midiInAddBuffer( HMIDIIN hmi, LPMIDIHDR pmh, UINT cbmh) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiInAddBuffer\n"); return midiInAddBuffer_orig( hmi, pmh, cbmh); } MMRESULT WINAPI midiInStart( HMIDIIN hmi) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiInStart\n"); return midiInStart_orig( hmi); } MMRESULT WINAPI midiInStop( HMIDIIN hmi) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiInStop\n"); return midiInStop_orig(hmi); } MMRESULT WINAPI midiInReset( HMIDIIN hmi) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiInReset\n"); return midiInReset_orig( hmi); } MMRESULT WINAPI midiInGetID( HMIDIIN hmi, LPUINT puDeviceID) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiInGetID\n"); return midiInGetID_orig( hmi, puDeviceID); } MMRESULT WINAPI midiInMessage( HMIDIIN hmi, UINT uMsg, DWORD_PTR dw1, DWORD_PTR dw2) { + ll_winmm_shim_initialize(); //OutputDebugString(L"midiInMessage\n"); return midiInMessage_orig( hmi, uMsg, dw1, dw2); } UINT WINAPI auxGetNumDevs(void) { + ll_winmm_shim_initialize(); //OutputDebugString(L"auxGetNumDevs\n"); return auxGetNumDevs_orig(); } MMRESULT WINAPI auxGetDevCapsA( UINT_PTR uDeviceID, LPAUXCAPSA pac, UINT cbac) { + ll_winmm_shim_initialize(); //OutputDebugString(L"auxGetDevCapsA\n"); return auxGetDevCapsA_orig( uDeviceID, pac, cbac); } MMRESULT WINAPI auxGetDevCapsW( UINT_PTR uDeviceID, LPAUXCAPSW pac, UINT cbac) { + ll_winmm_shim_initialize(); //OutputDebugString(L"auxGetDevCapsW\n"); return auxGetDevCapsW_orig( uDeviceID, pac, cbac); } MMRESULT WINAPI auxSetVolume( UINT uDeviceID, DWORD dwVolume) { + ll_winmm_shim_initialize(); //OutputDebugString(L"auxSetVolume\n"); return auxSetVolume_orig( uDeviceID, dwVolume); } MMRESULT WINAPI auxGetVolume( UINT uDeviceID, LPDWORD pdwVolume) { + ll_winmm_shim_initialize(); //OutputDebugString(L"auxGetVolume\n"); return auxGetVolume_orig( uDeviceID, pdwVolume); } MMRESULT WINAPI auxOutMessage( UINT uDeviceID, UINT uMsg, DWORD_PTR dw1, DWORD_PTR dw2) { + ll_winmm_shim_initialize(); //OutputDebugString(L"auxOutMessage\n"); return auxOutMessage_orig( uDeviceID, uMsg, dw1, dw2); } UINT WINAPI mixerGetNumDevs(void) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mixerGetNumDevs\n"); return mixerGetNumDevs_orig(); } MMRESULT WINAPI mixerGetDevCapsA( UINT_PTR uMxId, LPMIXERCAPSA pmxcaps, UINT cbmxcaps) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mixerGetDevCapsA\n"); return mixerGetDevCapsA_orig( uMxId, pmxcaps, cbmxcaps); } MMRESULT WINAPI mixerGetDevCapsW( UINT_PTR uMxId, LPMIXERCAPSW pmxcaps, UINT cbmxcaps) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mixerGetDevCapsW\n"); return mixerGetDevCapsW_orig( uMxId, pmxcaps, cbmxcaps); } MMRESULT WINAPI mixerOpen( LPHMIXER phmx, UINT uMxId, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mixerOpen\n"); return mixerOpen_orig( phmx, uMxId, dwCallback, dwInstance, fdwOpen); } MMRESULT WINAPI mixerClose( HMIXER hmx) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mixerClose\n"); return mixerClose_orig( hmx); } DWORD WINAPI mixerMessage( HMIXER hmx, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mixerMessage\n"); return mixerMessage_orig( hmx, uMsg, dwParam1, dwParam2); } MMRESULT WINAPI mixerGetLineInfoA( HMIXEROBJ hmxobj, LPMIXERLINEA pmxl, DWORD fdwInfo) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mixerGetLineInfoA\n"); return mixerGetLineInfoA_orig( hmxobj, pmxl, fdwInfo); } MMRESULT WINAPI mixerGetLineInfoW( HMIXEROBJ hmxobj, LPMIXERLINEW pmxl, DWORD fdwInfo) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mixerGetLineInfoW\n"); return mixerGetLineInfoW_orig( hmxobj, pmxl, fdwInfo); } MMRESULT WINAPI mixerGetID( HMIXEROBJ hmxobj, UINT FAR *puMxId, DWORD fdwId) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mixerGetID\n"); return mixerGetID_orig( hmxobj, puMxId, fdwId); } MMRESULT WINAPI mixerGetLineControlsA( HMIXEROBJ hmxobj, LPMIXERLINECONTROLSA pmxlc, DWORD fdwControls) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mixerGetLineControlsA\n"); return mixerGetLineControlsA_orig( hmxobj, pmxlc, fdwControls); } MMRESULT WINAPI mixerGetLineControlsW( HMIXEROBJ hmxobj, LPMIXERLINECONTROLSW pmxlc, DWORD fdwControls) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mixerGetLineControlsW\n"); return mixerGetLineControlsW_orig( hmxobj, pmxlc, fdwControls); } MMRESULT WINAPI mixerGetControlDetailsA( HMIXEROBJ hmxobj, LPMIXERCONTROLDETAILS pmxcd, DWORD fdwDetails) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mixerGetControlDetailsA\n"); return mixerGetControlDetailsA_orig( hmxobj, pmxcd, fdwDetails); } MMRESULT WINAPI mixerGetControlDetailsW( HMIXEROBJ hmxobj, LPMIXERCONTROLDETAILS pmxcd, DWORD fdwDetails) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mixerGetControlDetailsW\n"); return mixerGetControlDetailsW_orig( hmxobj, pmxcd, fdwDetails); } MMRESULT WINAPI mixerSetControlDetails( HMIXEROBJ hmxobj, LPMIXERCONTROLDETAILS pmxcd, DWORD fdwDetails) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mixerSetControlDetails\n"); return mixerSetControlDetails_orig( hmxobj, pmxcd, fdwDetails); } DWORD WINAPI mmGetCurrentTask(void) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmGetCurrentTask\n"); return mmGetCurrentTask_orig(); } void WINAPI mmTaskBlock(DWORD val) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmTaskBlock\n"); return mmTaskBlock_orig(val); } UINT WINAPI mmTaskCreate(LPTASKCALLBACK a, HANDLE* b, DWORD_PTR c) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmTaskCreate\n"); return mmTaskCreate_orig(a, b, c); } BOOL WINAPI mmTaskSignal(DWORD a) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmTaskSignal\n"); return mmTaskSignal_orig(a); } VOID WINAPI mmTaskYield() { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmTaskYield\n"); mmTaskYield_orig(); } MMRESULT WINAPI timeGetSystemTime( LPMMTIME pmmt, UINT cbmmt) { + ll_winmm_shim_initialize(); //OutputDebugString(L"timeGetSystemTime\n"); return timeGetSystemTime_orig( pmmt, cbmmt); } DWORD WINAPI timeGetTime(void) { + ll_winmm_shim_initialize(); //OutputDebugString(L"timeGetTime\n"); return timeGetTime_orig(); } MMRESULT WINAPI timeSetEvent( UINT uDelay, UINT uResolution, LPTIMECALLBACK fptc, DWORD_PTR dwUser, UINT fuEvent) { + ll_winmm_shim_initialize(); //OutputDebugString(L"timeSetEvent\n"); return timeSetEvent_orig(uDelay, uResolution, fptc, dwUser, fuEvent); } MMRESULT WINAPI timeKillEvent( UINT uTimerID) { + ll_winmm_shim_initialize(); //OutputDebugString(L"timeKillEvent\n"); return timeKillEvent_orig( uTimerID); } MMRESULT WINAPI timeGetDevCaps( LPTIMECAPS ptc, UINT cbtc) { + ll_winmm_shim_initialize(); //OutputDebugString(L"timeGetDevCaps\n"); return timeGetDevCaps_orig( ptc, cbtc); } MMRESULT WINAPI timeBeginPeriod( UINT uPeriod) { + ll_winmm_shim_initialize(); //OutputDebugString(L"timeBeginPeriod\n"); return timeBeginPeriod_orig( uPeriod); } MMRESULT WINAPI timeEndPeriod( UINT uPeriod) { + ll_winmm_shim_initialize(); //OutputDebugString(L"timeEndPeriod\n"); return timeEndPeriod_orig( uPeriod); } UINT WINAPI joyGetNumDevs(void) { + ll_winmm_shim_initialize(); //OutputDebugString(L"joyGetNumDevs\n"); return joyGetNumDevs_orig(); } MMRESULT WINAPI joyConfigChanged(DWORD dwFlags) { + ll_winmm_shim_initialize(); //OutputDebugString(L"joyConfigChanged\n"); return joyConfigChanged_orig(dwFlags); } MMRESULT WINAPI joyGetDevCapsA( UINT_PTR uJoyID, LPJOYCAPSA pjc, UINT cbjc) { + ll_winmm_shim_initialize(); //OutputDebugString(L"joyGetDevCapsA\n"); return joyGetDevCapsA_orig( uJoyID, pjc, cbjc); } MMRESULT WINAPI joyGetDevCapsW( UINT_PTR uJoyID, LPJOYCAPSW pjc, UINT cbjc) { + ll_winmm_shim_initialize(); //OutputDebugString(L"joyGetDevCapsW\n"); return joyGetDevCapsW_orig( uJoyID, pjc, cbjc); } MMRESULT WINAPI joyGetPos( UINT uJoyID, LPJOYINFO pji) { + ll_winmm_shim_initialize(); //OutputDebugString(L"joyGetPos\n"); return joyGetPos_orig( uJoyID, pji); } MMRESULT WINAPI joyGetPosEx( UINT uJoyID, LPJOYINFOEX pji) { + ll_winmm_shim_initialize(); //OutputDebugString(L"joyGetPosEx\n"); return joyGetPosEx_orig( uJoyID, pji); } MMRESULT WINAPI joyGetThreshold( UINT uJoyID, LPUINT puThreshold) { + ll_winmm_shim_initialize(); //OutputDebugString(L"joyGetThreshold\n"); return joyGetThreshold_orig( uJoyID, puThreshold); } MMRESULT WINAPI joyReleaseCapture( UINT uJoyID) { + ll_winmm_shim_initialize(); //OutputDebugString(L"joyReleaseCapture\n"); return joyReleaseCapture_orig( uJoyID); } MMRESULT WINAPI joySetCapture( HWND hwnd, UINT uJoyID, UINT uPeriod, BOOL fChanged) { + ll_winmm_shim_initialize(); //OutputDebugString(L"joySetCapture\n"); return joySetCapture_orig(hwnd, uJoyID, uPeriod, fChanged); } MMRESULT WINAPI joySetThreshold( UINT uJoyID, UINT uThreshold) { + ll_winmm_shim_initialize(); //OutputDebugString(L"joySetThreshold\n"); return joySetThreshold_orig( uJoyID, uThreshold); } BOOL WINAPI mciDriverNotify(HWND hwndCallback, UINT uDeviceID, UINT uStatus) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciDriverNotify\n"); return mciDriverNotify_orig(hwndCallback, uDeviceID, uStatus); } UINT WINAPI mciDriverYield(UINT uDeviceID) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciDriverYield\n"); return mciDriverYield_orig(uDeviceID); } FOURCC WINAPI mmioStringToFOURCCA( LPCSTR sz, UINT uFlags) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioStringToFOURCCA\n"); return mmioStringToFOURCCA_orig( sz, uFlags); } FOURCC WINAPI mmioStringToFOURCCW( LPCWSTR sz, UINT uFlags) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioStringToFOURCCW\n"); return mmioStringToFOURCCW_orig( sz, uFlags); } LPMMIOPROC WINAPI mmioInstallIOProcA( FOURCC fccIOProc, LPMMIOPROC pIOProc, DWORD dwFlags) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioInstallIOProcA\n"); return mmioInstallIOProcA_orig( fccIOProc, pIOProc, dwFlags); } LPMMIOPROC WINAPI mmioInstallIOProcW( FOURCC fccIOProc, LPMMIOPROC pIOProc, DWORD dwFlags) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioInstallIOProcW\n"); return mmioInstallIOProcW_orig( fccIOProc, pIOProc, dwFlags); } HMMIO WINAPI mmioOpenA( LPSTR pszFileName, LPMMIOINFO pmmioinfo, DWORD fdwOpen) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioOpenA\n"); return mmioOpenA_orig( pszFileName, pmmioinfo, fdwOpen); } HMMIO WINAPI mmioOpenW( LPWSTR pszFileName, LPMMIOINFO pmmioinfo, DWORD fdwOpen) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioOpenW\n"); return mmioOpenW_orig( pszFileName, pmmioinfo, fdwOpen); } MMRESULT WINAPI mmioRenameA( LPCSTR pszFileName, LPCSTR pszNewFileName, LPCMMIOINFO pmmioinfo, DWORD fdwRename) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioRenameA\n"); return mmioRenameA_orig( pszFileName, pszNewFileName, pmmioinfo, fdwRename); } MMRESULT WINAPI mmioRenameW( LPCWSTR pszFileName, LPCWSTR pszNewFileName, LPCMMIOINFO pmmioinfo, DWORD fdwRename) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioRenameW\n"); return mmioRenameW_orig( pszFileName, pszNewFileName, pmmioinfo, fdwRename); } MMRESULT WINAPI mmioClose( HMMIO hmmio, UINT fuClose) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioClose\n"); return mmioClose_orig( hmmio, fuClose); } LONG WINAPI mmioRead( HMMIO hmmio, HPSTR pch, LONG cch) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioRead\n"); return mmioRead_orig( hmmio, pch, cch); } LONG WINAPI mmioWrite( HMMIO hmmio, const char _huge* pch, LONG cch) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioWrite\n"); return mmioWrite_orig( hmmio, pch, cch); } LONG WINAPI mmioSeek( HMMIO hmmio, LONG lOffset, int iOrigin) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioSeek\n"); return mmioSeek_orig(hmmio, lOffset, iOrigin); } MMRESULT WINAPI mmioGetInfo( HMMIO hmmio, LPMMIOINFO pmmioinfo, UINT fuInfo) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioGetInfo\n"); return mmioGetInfo_orig( hmmio, pmmioinfo, fuInfo); } MMRESULT WINAPI mmioSetInfo( HMMIO hmmio, LPCMMIOINFO pmmioinfo, UINT fuInfo) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioSetInfo\n"); return mmioSetInfo_orig( hmmio, pmmioinfo, fuInfo); } MMRESULT WINAPI mmioSetBuffer( HMMIO hmmio, LPSTR pchBuffer, LONG cchBuffer, UINT fuBuffer) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioSetBuffer\n"); return mmioSetBuffer_orig(hmmio, pchBuffer, cchBuffer, fuBuffer); } MMRESULT WINAPI mmioFlush( HMMIO hmmio, UINT fuFlush) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioFlush\n"); return mmioFlush_orig( hmmio, fuFlush); } MMRESULT WINAPI mmioAdvance( HMMIO hmmio, LPMMIOINFO pmmioinfo, UINT fuAdvance) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioAdvance\n"); return mmioAdvance_orig( hmmio, pmmioinfo, fuAdvance); } LRESULT WINAPI mmioSendMessage( HMMIO hmmio, UINT uMsg, LPARAM lParam1, LPARAM lParam2) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioSendMessage\n"); return mmioSendMessage_orig(hmmio, uMsg, lParam1, lParam2); } MMRESULT WINAPI mmioDescend( HMMIO hmmio, LPMMCKINFO pmmcki, const MMCKINFO FAR* pmmckiParent, UINT fuDescend) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioDescend\n"); return mmioDescend_orig(hmmio, pmmcki, pmmckiParent, fuDescend); } MMRESULT WINAPI mmioAscend( HMMIO hmmio, LPMMCKINFO pmmcki, UINT fuAscend) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioAscend\n"); return mmioAscend_orig( hmmio, pmmcki, fuAscend); } MMRESULT WINAPI mmioCreateChunk(HMMIO hmmio, LPMMCKINFO pmmcki, UINT fuCreate) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mmioCreateChunk\n"); return mmioCreateChunk_orig(hmmio, pmmcki, fuCreate); } MCIERROR WINAPI mciSendCommandA( MCIDEVICEID mciId, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciSendCommandA\n"); return mciSendCommandA_orig( mciId, uMsg, dwParam1, dwParam2); } MCIERROR WINAPI mciSendCommandW( MCIDEVICEID mciId, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciSendCommandW\n"); return mciSendCommandW_orig( mciId, uMsg, dwParam1, dwParam2); } MCIERROR WINAPI mciSendStringA( LPCSTR lpstrCommand, LPSTR lpstrReturnString, UINT uReturnLength, HWND hwndCallback) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciSendStringA\n"); return mciSendStringA_orig( lpstrCommand, lpstrReturnString, uReturnLength, hwndCallback); } MCIERROR WINAPI mciSendStringW( LPCWSTR lpstrCommand, LPWSTR lpstrReturnString, UINT uReturnLength, HWND hwndCallback) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciSendStringW\n"); return mciSendStringW_orig( lpstrCommand, lpstrReturnString, uReturnLength, hwndCallback); } @@ -1375,72 +1535,84 @@ extern "C" { MCIDEVICEID WINAPI mciGetDeviceIDW( LPCWSTR pszDevice) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciGetDeviceIDW\n"); return mciGetDeviceIDW_orig( pszDevice); } MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDA( DWORD dwElementID, LPCSTR lpstrType ) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciGetDeviceIDFromElementIDA\n"); return mciGetDeviceIDFromElementIDA_orig( dwElementID, lpstrType ); } MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDW( DWORD dwElementID, LPCWSTR lpstrType ) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciGetDeviceIDFromElementIDW\n"); return mciGetDeviceIDFromElementIDW_orig( dwElementID, lpstrType ); } DWORD_PTR WINAPI mciGetDriverData(UINT uDeviceID) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciGetDriverData\n"); return mciGetDriverData_orig(uDeviceID); } BOOL WINAPI mciGetErrorStringA( MCIERROR mcierr, LPSTR pszText, UINT cchText) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciGetErrorStringA\n"); return mciGetErrorStringA_orig( mcierr, pszText, cchText); } BOOL WINAPI mciGetErrorStringW( MCIERROR mcierr, LPWSTR pszText, UINT cchText) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciGetErrorStringW\n"); return mciGetErrorStringW_orig( mcierr, pszText, cchText); } BOOL WINAPI mciSetDriverData(UINT uDeviceID, DWORD_PTR dwData) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciSetDriverData_type\n"); return mciSetDriverData_orig( uDeviceID, dwData ); } BOOL WINAPI mciSetYieldProc( MCIDEVICEID mciId, YIELDPROC fpYieldProc, DWORD dwYieldData) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciSetYieldProc\n"); return mciSetYieldProc_orig(mciId, fpYieldProc, dwYieldData); } BOOL WINAPI mciFreeCommandResource(UINT uTable) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciFreeCommandResource\n"); return mciFreeCommandResource_orig(uTable); } HTASK WINAPI mciGetCreatorTask( MCIDEVICEID mciId) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciGetCreatorTask\n"); return mciGetCreatorTask_orig( mciId); } YIELDPROC WINAPI mciGetYieldProc( MCIDEVICEID mciId, LPDWORD pdwYieldData) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciGetYieldProc\n"); return mciGetYieldProc_orig( mciId, pdwYieldData); } UINT WINAPI mciLoadCommandResource(HINSTANCE hInstance, LPCWSTR lpResName, UINT uType) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciLoadCommandResource"); return mciLoadCommandResource_orig(hInstance, lpResName, uType); } @@ -1448,6 +1620,7 @@ extern "C" { BOOL WINAPI mciExecute(LPCSTR pszCommand) { + ll_winmm_shim_initialize(); //OutputDebugString(L"mciExecute\n"); return mciExecute_orig(pszCommand); } diff --git a/indra/media_plugins/winmmshim/forwarding_api.h b/indra/media_plugins/winmmshim/forwarding_api.h index 89a6b347f3..076a08f769 100644 --- a/indra/media_plugins/winmmshim/forwarding_api.h +++ b/indra/media_plugins/winmmshim/forwarding_api.h @@ -30,6 +30,7 @@ #include void init_function_pointers(HMODULE winmm_handle); +void ll_winmm_shim_initialize(); typedef VOID (*LPTASKCALLBACK)(DWORD_PTR dwInst); diff --git a/indra/media_plugins/winmmshim/winmm_shim.cpp b/indra/media_plugins/winmmshim/winmm_shim.cpp index 9563a3b664..6ba95e565e 100644 --- a/indra/media_plugins/winmmshim/winmm_shim.cpp +++ b/indra/media_plugins/winmmshim/winmm_shim.cpp @@ -32,14 +32,21 @@ using std::wstring; static float sVolumeLevel = 1.f; static bool sMute = false; +static CRITICAL_SECTION sCriticalSection; BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { + InitializeCriticalSectionAndSpinCount(&sCriticalSection, 0x00000400); + return TRUE; +} + +void ll_winmm_shim_initialize(){ static bool initialized = false; // do this only once + EnterCriticalSection(&sCriticalSection); if (!initialized) { // bind to original winmm.dll TCHAR system_path[MAX_PATH]; @@ -54,13 +61,14 @@ BOOL APIENTRY DllMain( HMODULE hModule, { // we have a dll, let's get out pointers! initialized = true; init_function_pointers(winmm_handle); - return true; + ::OutputDebugStringA("WINMM_SHIM.DLL: real winmm.dll initialized successfully\n"); + return; } // failed to initialize real winmm.dll - return false; + ::OutputDebugStringA("WINMM_SHIM.DLL: Failed to initialize real winmm.dll\n"); } - return true; + LeaveCriticalSection(&sCriticalSection); } @@ -79,6 +87,7 @@ extern "C" MMRESULT WINAPI waveOutOpen( LPHWAVEOUT phwo, UINT uDeviceID, LPCWAVEFORMATEX pwfx, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen) { + ll_winmm_shim_initialize(); if (pwfx->wFormatTag != WAVE_FORMAT_PCM || (pwfx->wBitsPerSample != 8 && pwfx->wBitsPerSample != 16)) { // uncompressed 8 and 16 bit sound are the only types we support @@ -97,6 +106,7 @@ extern "C" MMRESULT WINAPI waveOutClose( HWAVEOUT hwo) { + ll_winmm_shim_initialize(); wave_out_map_t::iterator found_it = sWaveOuts.find(hwo); if (found_it != sWaveOuts.end()) { // forget what we know about this handle @@ -108,6 +118,7 @@ extern "C" MMRESULT WINAPI waveOutWrite( HWAVEOUT hwo, LPWAVEHDR pwh, UINT cbwh) { + ll_winmm_shim_initialize(); MMRESULT result = MMSYSERR_NOERROR; if (sMute) -- cgit v1.2.3 From fb4743300ccfeadfb6601e39c808c4f3b90c1150 Mon Sep 17 00:00:00 2001 From: brad kittenbrink Date: Fri, 15 Apr 2011 16:45:19 -0700 Subject: FIX: STORM-1141. Win7: 2.6.3 Beta1 crashes on startup if locale differs from English. Force LLTextureCache::purgeAllTextures to get called in addition to normal cache purging. --- indra/newview/llappviewer.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index cfb5853cfd..4985524f00 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -3500,10 +3500,10 @@ bool LLAppViewer::initCache() LLAppViewer::getTextureCache()->setReadOnly(read_only) ; LLVOCache::getInstance()->setReadOnly(read_only); - BOOL texture_cache_mismatch = FALSE ; + bool texture_cache_mismatch = false; if (gSavedSettings.getS32("LocalCacheVersion") != LLAppViewer::getTextureCacheVersion()) { - texture_cache_mismatch = TRUE ; + texture_cache_mismatch = true; if(!read_only) { gSavedSettings.setS32("LocalCacheVersion", LLAppViewer::getTextureCacheVersion()); @@ -3517,7 +3517,9 @@ bool LLAppViewer::initCache() gSavedSettings.getBOOL("PurgeCacheOnNextStartup")) { gSavedSettings.setBOOL("PurgeCacheOnNextStartup", false); - mPurgeCache = true; + mPurgeCache = true; + // STORM-1141 force purgeAllTextures to get called to prevent a crash here. -brad + texture_cache_mismatch = true; } // We have moved the location of the cache directory over time. -- cgit v1.2.3 From 4438a5ebb2faebc2a3a9de82668d14f870f50d84 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Sun, 17 Apr 2011 11:25:00 -0400 Subject: STORM-1088: corrected fix loading of winmm.dll --- indra/media_plugins/winmmshim/winmm_shim.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/indra/media_plugins/winmmshim/winmm_shim.cpp b/indra/media_plugins/winmmshim/winmm_shim.cpp index 6ba95e565e..47a1e5c018 100644 --- a/indra/media_plugins/winmmshim/winmm_shim.cpp +++ b/indra/media_plugins/winmmshim/winmm_shim.cpp @@ -39,7 +39,7 @@ BOOL APIENTRY DllMain( HMODULE hModule, LPVOID lpReserved ) { - InitializeCriticalSectionAndSpinCount(&sCriticalSection, 0x00000400); + InitializeCriticalSection(&sCriticalSection); return TRUE; } @@ -62,11 +62,12 @@ void ll_winmm_shim_initialize(){ initialized = true; init_function_pointers(winmm_handle); ::OutputDebugStringA("WINMM_SHIM.DLL: real winmm.dll initialized successfully\n"); - return; } - - // failed to initialize real winmm.dll - ::OutputDebugStringA("WINMM_SHIM.DLL: Failed to initialize real winmm.dll\n"); + else + { + // failed to initialize real winmm.dll + ::OutputDebugStringA("WINMM_SHIM.DLL: Failed to initialize real winmm.dll\n"); + } } LeaveCriticalSection(&sCriticalSection); } -- cgit v1.2.3 From 21e37069fe723094bbf3b857acc5c1d494ecb942 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Wed, 13 Apr 2011 15:13:10 -0400 Subject: SH-1329 FIXED Physics are "twitchy" for high-FPS machines Fixed bug that was messing up time slices for physics. --- indra/newview/llphysicsmotion.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp index 1d3c2b72f2..de4ce52351 100644 --- a/indra/newview/llphysicsmotion.cpp +++ b/indra/newview/llphysicsmotion.cpp @@ -452,7 +452,14 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) // const F32 time_delta = time - mLastTime; - if (time_delta > 3.0 || time_delta <= 0.01) + + // Don't update too frequently, to avoid precision errors from small time slices. + if (time_delta <= .01) + { + return FALSE; + } + + if (time_delta > 3.0) { mLastTime = time; return FALSE; -- cgit v1.2.3 From eaabea67445096d8d6ef6606aa8d06a4bf3913f6 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Wed, 13 Apr 2011 15:23:11 -0400 Subject: SH-1364 FIXED Avatar Physics are not updating smoothly even for high-performance machines. "high" graphics settings now give 100% updates, versus 90%. Changed a simple constant that was acting as a threshold for when physics should be updated (the constant was set way too high, meaning that updates were being skipped). --- indra/newview/featuretable.txt | 2 +- indra/newview/llphysicsmotion.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt index 15ad330418..af2d951bf7 100644 --- a/indra/newview/featuretable.txt +++ b/indra/newview/featuretable.txt @@ -132,7 +132,7 @@ list High RenderAnisotropic 1 1 RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 1.0 -RenderAvatarPhysicsLODFactor 1 0.9 +RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarVP 1 1 RenderFarClip 1 128 RenderFlexTimeFactor 1 1.0 diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp index de4ce52351..09c9e75f2a 100644 --- a/indra/newview/llphysicsmotion.cpp +++ b/indra/newview/llphysicsmotion.cpp @@ -656,7 +656,7 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) if ((pixel_area > area_for_this_setting) || is_self) { const F32 position_diff_local = llabs(mPositionLastUpdate_local-position_new_local_clamped); - const F32 min_delta = (1.01f-lod_factor)*0.4f; + const F32 min_delta = (1.0001f-lod_factor)*0.4f; if (llabs(position_diff_local) > min_delta) { update_visuals = TRUE; -- cgit v1.2.3 From 0d421c0535181e357d6629f1b2ed139ceda0a2e3 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Thu, 14 Apr 2011 14:47:05 -0400 Subject: VWR-25453 FIXED Avatar Physics Spring Needs a Higher Limit Tripled spring limit for all params. Very safe change. --- indra/newview/character/avatar_lad.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/indra/newview/character/avatar_lad.xml b/indra/newview/character/avatar_lad.xml index ec162e3608..6acaa75c32 100644 --- a/indra/newview/character/avatar_lad.xml +++ b/indra/newview/character/avatar_lad.xml @@ -11903,7 +11903,7 @@ render_pass="bump"> edit_group="physics_breasts_updown" value_default="0" value_min="0" - value_max="1"> + value_max="3"> edit_group="physics_breasts_inout" value_default="0" value_min="0" - value_max="1"> + value_max="3"> edit_group="physics_belly_updown" value_default="0" value_min="0" - value_max="1"> + value_max="3"> edit_group="physics_butt_updown" value_default="0" value_min="0" - value_max="1"> + value_max="3"> edit_group="physics_butt_leftright" value_default="0" value_min="0" - value_max="1"> + value_max="3"> edit_group="physics_breasts_leftright" value_default="0" value_min="0" - value_max="1"> + value_max="3"> Date: Thu, 14 Apr 2011 16:21:49 -0400 Subject: VWR-25445 FIXED breasts... accordions are presented in Edit Physics floater for male avatars Accordions are selectively hidden based on gender. --- indra/newview/llpaneleditwearable.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp index cb8fbd66b5..b73d97e4c4 100644 --- a/indra/newview/llpaneleditwearable.cpp +++ b/indra/newview/llpaneleditwearable.cpp @@ -1133,7 +1133,7 @@ void LLPanelEditWearable::showWearable(LLWearable* wearable, BOOL show, BOOL dis LLScrollingPanelList *panel_list = getChild(scrolling_panel); LLAccordionCtrlTab *tab = getChild(accordion_tab); - + if (!panel_list) { llwarns << "could not get scrolling panel list: " << scrolling_panel << llendl; @@ -1145,7 +1145,18 @@ void LLPanelEditWearable::showWearable(LLWearable* wearable, BOOL show, BOOL dis llwarns << "could not get llaccordionctrltab from UI with name: " << accordion_tab << llendl; continue; } - + + // Don't show female subparts if you're not female, etc. + if (!(gAgentAvatarp->getSex() & subpart_entry->mSex)) + { + tab->setVisible(FALSE); + continue; + } + else + { + tab->setVisible(TRUE); + } + // what edit group do we want to extract params for? const std::string edit_group = subpart_entry->mEditGroup; -- cgit v1.2.3 From 96f5a8e19cf36a59cd3b5afe413ec8e2d5fc33ce Mon Sep 17 00:00:00 2001 From: "Andrew A. de Laix" Date: Thu, 14 Apr 2011 15:23:09 -0700 Subject: add testing hook to send a group chat IM. --- indra/newview/groupchatlistener.cpp | 27 +++++++++++++++++++++++++-- indra/newview/llgroupactions.cpp | 7 ++++--- indra/newview/llgroupactions.h | 2 +- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/indra/newview/groupchatlistener.cpp b/indra/newview/groupchatlistener.cpp index 9b463c9a3f..d9c705adf0 100644 --- a/indra/newview/groupchatlistener.cpp +++ b/indra/newview/groupchatlistener.cpp @@ -18,6 +18,22 @@ // external library headers // other Linden headers #include "llgroupactions.h" +#include "llimview.h" + + +namespace { + void startIm_wrapper(LLSD const & event) + { + LLUUID session_id = LLGroupActions::startIM(event["id"].asUUID()); + sendReply(LLSDMap("session_id", LLSD(session_id)), event); + } + + void send_message_wrapper(const std::string& text, const LLUUID& session_id, const LLUUID& group_id) + { + LLIMModel::sendMessage(text, session_id, group_id, IM_SESSION_GROUP_START); + } +} + GroupChatListener::GroupChatListener(): LLEventAPI("GroupChat", @@ -26,11 +42,18 @@ GroupChatListener::GroupChatListener(): add("startIM", "Enter a group chat in group with UUID [\"id\"]\n" "Assumes the logged-in agent is already a member of this group.", - &LLGroupActions::startIM, - LLSDArray("id")); + &startIm_wrapper); add("endIM", "Leave a group chat in group with UUID [\"id\"]\n" "Assumes a prior successful startIM request.", &LLGroupActions::endIM, LLSDArray("id")); + add("sendIM", + "send a groupchat IM", + &send_message_wrapper, + LLSDArray("text")("session_id")("group_id")); } +/* + static void sendMessage(const std::string& utf8_text, const LLUUID& im_session_id, + const LLUUID& other_participant_id, EInstantMessage dialog); +*/ \ No newline at end of file diff --git a/indra/newview/llgroupactions.cpp b/indra/newview/llgroupactions.cpp index 92fd84ff5b..97fa551441 100644 --- a/indra/newview/llgroupactions.cpp +++ b/indra/newview/llgroupactions.cpp @@ -322,10 +322,9 @@ void LLGroupActions::closeGroup(const LLUUID& group_id) // static -void LLGroupActions::startIM(const LLUUID& group_id) +LLUUID LLGroupActions::startIM(const LLUUID& group_id) { - if (group_id.isNull()) - return; + if (group_id.isNull()) return LLUUID::null; LLGroupData group_data; if (gAgent.getGroupData(group_id, group_data)) @@ -339,12 +338,14 @@ void LLGroupActions::startIM(const LLUUID& group_id) LLIMFloater::show(session_id); } make_ui_sound("UISndStartIM"); + return session_id; } else { // this should never happen, as starting a group IM session // relies on you belonging to the group and hence having the group data make_ui_sound("UISndInvalidOp"); + return LLUUID::null; } } diff --git a/indra/newview/llgroupactions.h b/indra/newview/llgroupactions.h index c52a25818b..3f9852f194 100644 --- a/indra/newview/llgroupactions.h +++ b/indra/newview/llgroupactions.h @@ -87,7 +87,7 @@ public: /** * Start group instant messaging session. */ - static void startIM(const LLUUID& group_id); + static LLUUID startIM(const LLUUID& group_id); /** * End group instant messaging session. -- cgit v1.2.3 From 2eb19ccc13244902074f756318354817cbe9fb15 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 15 Apr 2011 20:46:31 -0400 Subject: STORM-1100 (diagnosis) improve logging to aid in debugging recognition errors --- indra/newview/llfeaturemanager.cpp | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/indra/newview/llfeaturemanager.cpp b/indra/newview/llfeaturemanager.cpp index 4e16cc4217..bd8549635d 100644 --- a/indra/newview/llfeaturemanager.cpp +++ b/indra/newview/llfeaturemanager.cpp @@ -378,13 +378,16 @@ void LLFeatureManager::parseGPUTable(std::string filename) return; } - std::string renderer = gGLManager.getRawGLString(); + std::string rawRenderer = gGLManager.getRawGLString(); + std::string renderer = rawRenderer; for (std::string::iterator i = renderer.begin(); i != renderer.end(); ++i) { *i = tolower(*i); } - - while (!file.eof()) + + bool gpuFound; + U32 lineNumber; + for (gpuFound = false, lineNumber = 0; !gpuFound && !file.eof(); lineNumber++) { char buffer[MAX_STRING]; /*Flawfinder: ignore*/ buffer[0] = 0; @@ -431,6 +434,7 @@ void LLFeatureManager::parseGPUTable(std::string filename) if (label.empty() || expr.empty() || cls.empty() || supported.empty()) { + LL_WARNS("RenderInit") << "invald gpu_table.txt:" << lineNumber << ": '" << buffer << "'" << LL_ENDL; continue; } @@ -444,18 +448,22 @@ void LLFeatureManager::parseGPUTable(std::string filename) if(boost::regex_search(renderer, re)) { // if we found it, stop! - file.close(); - LL_INFOS("RenderInit") << "GPU is " << label << llendl; + gpuFound = true; mGPUString = label; mGPUClass = (EGPUClass) strtol(cls.c_str(), NULL, 10); mGPUSupported = (BOOL) strtol(supported.c_str(), NULL, 10); - file.close(); - return; } } file.close(); - LL_WARNS("RenderInit") << "Couldn't match GPU to a class: " << gGLManager.getRawGLString() << LL_ENDL; + if ( gpuFound ) + { + LL_INFOS("RenderInit") << "GPU '" << rawRenderer << "' recognized as '" << mGPUString << "'" << LL_ENDL; + } + else + { + LL_WARNS("RenderInit") << "GPU '" << rawRenderer << "' not recognized" << LL_ENDL; + } } // responder saves table into file -- cgit v1.2.3 From a3f97d6b1d877b833bcfa39fdc427b0e8762da3d Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 15 Apr 2011 18:31:55 -0400 Subject: STORM-1100 (trial) merge in many fixes to the GPU table --- indra/newview/gpu_table.txt | 243 +++++++++++++++++++++++++++++++------------- 1 file changed, 174 insertions(+), 69 deletions(-) diff --git a/indra/newview/gpu_table.txt b/indra/newview/gpu_table.txt index da888bc64d..8c63046e9e 100644 --- a/indra/newview/gpu_table.txt +++ b/indra/newview/gpu_table.txt @@ -1,4 +1,4 @@ -// +// // Categorizes graphics chips into various classes by name // // The table contains chip names regular expressions to match @@ -17,7 +17,7 @@ // // Format: // -// +// 3Dfx .*3Dfx.* 0 0 3Dlabs .*3Dlabs.* 0 0 @@ -75,28 +75,50 @@ ATI M76 .*ATI.*M76.* 3 1 ATI Mobility Radeon 4100 .*ATI.*Mobility *41.* 0 1 ATI Mobility Radeon 7xxx .*ATI.*Mobility *Radeon 7.* 0 1 ATI Mobility Radeon 8xxx .*ATI.*Mobility *Radeon 8.* 0 1 -ATI Mobility Radeon 9800 .*ATI.*Mobility *98.* 0 1 -ATI Mobility Radeon 9700 .*ATI.*Mobility *97.* 0 1 +ATI Mobility Radeon 9800 .*ATI.*Mobility *98.* 1 1 +ATI Mobility Radeon 9700 .*ATI.*Mobility *97.* 1 1 ATI Mobility Radeon 9600 .*ATI.*Mobility *96.* 0 1 ATI Mobility Radeon HD 2300 .*ATI.*Mobility *HD *23.* 1 1 ATI Mobility Radeon HD 2400 .*ATI.*Mobility *HD *24.* 1 1 ATI Mobility Radeon HD 2600 .*ATI.*Mobility *HD *26.* 3 1 -ATI Mobility Radeon HD 3400 .*ATI.*Mobility *HD *34.* 1 1 +ATI Mobility Radeon HD 2700 .*ATI.*Mobility *HD *27.* 3 1 +ATI Mobility Radeon HD 3100 .*ATI.*Mobility *HD *31.* 0 1 +ATI Mobility Radeon HD 3200 .*ATI.*Mobility *HD *32.* 0 1 +ATI Mobility Radeon HD 3400 .*ATI.*Mobility *HD *34.* 2 1 ATI Mobility Radeon HD 3600 .*ATI.*Mobility *HD *36.* 3 1 ATI Mobility Radeon HD 3800 .*ATI.*Mobility *HD *38.* 3 1 -ATI Mobility Radeon HD 5400 .*ATI.*Mobility *HD *54.* 1 1 -ATI Mobility Radeon HD 5500 .*ATI.*Mobility *HD *55.* 1 1 +ATI Mobility Radeon HD 4200 .*ATI.*Mobility *HD *42.* 2 1 +ATI Mobility Radeon HD 4300 .*ATI.*Mobility *HD *43.* 2 1 +ATI Mobility Radeon HD 4500 .*ATI.*Mobility *HD *45.* 3 1 +ATI Mobility Radeon HD 4600 .*ATI.*Mobility *HD *46.* 3 1 +ATI Mobility Radeon HD 4800 .*ATI.*Mobility *HD *48.* 3 1 +ATI Mobility Radeon HD 5100 .*ATI.*Mobility *HD *51.* 2 1 +ATI Mobility Radeon HD 5300 .*ATI.*Mobility *HD *53.* 2 1 +ATI Mobility Radeon HD 5400 .*ATI.*Mobility *HD *54.* 2 1 +ATI Mobility Radeon HD 5500 .*ATI.*Mobility *HD *55.* 2 1 +ATI Mobility Radeon HD 5600 .*ATI.*Mobility *HD *56.* 2 1 +ATI Mobility Radeon HD 5700 .*ATI.*Mobility *HD *57.* 3 1 +ATI Mobility Radeon HD 6200 .*ATI.*Mobility *HD *62.* 2 1 +ATI Mobility Radeon HD 6300 .*ATI.*Mobility *HD *63.* 2 1 +ATI Mobility Radeon HD 6400M .*ATI.*Mobility *HD *64.* 3 1 +ATI Mobility Radeon HD 6500M .*ATI.*Mobility *HD *65.* 3 1 +ATI Mobility Radeon HD 6700M .*ATI.*Mobility *HD *67.* 3 1 +ATI Mobility Radeon HD 6800M .*ATI.*Mobility *HD *68.* 3 1 +ATI Mobility Radeon HD 6900M .*ATI.*Mobility *HD *69.* 3 1 ATI Mobility Radeon X1xxx .*ATI.*Mobility *X1.* 0 1 ATI Mobility Radeon X2xxx .*ATI.*Mobility *X2.* 0 1 ATI Mobility Radeon X3xx .*ATI.*Mobility *X3.* 1 1 ATI Mobility Radeon X6xx .*ATI.*Mobility *X6.* 1 1 ATI Mobility Radeon X7xx .*ATI.*Mobility *X7.* 1 1 ATI Mobility Radeon Xxxx .*ATI.*Mobility *X.* 0 1 +ATI Mobility Radeon .*ATI.*Mobility.* 0 1 ATI Radeon HD 2300 .*ATI.*Radeon HD *23.* 0 1 ATI Radeon HD 2400 .*ATI.*Radeon HD *24.* 1 1 ATI Radeon HD 2600 .*ATI.*Radeon HD *26.* 2 1 ATI Radeon HD 2900 .*ATI.*Radeon HD *29.* 3 1 -ATI Radeon HD 3200 .*ATI.*Radeon *HD *32.* 0 1 +ATI Radeon HD 3000 .*ATI.*Radeon HD *30.* 0 1 +ATI Radeon HD 3100 .*ATI.*Radeon HD *31.* 1 1 +ATI Radeon HD 3200 .*ATI.*Radeon HD *32.* 0 1 ATI Radeon HD 3300 .*ATI.*Radeon HD *33.* 1 1 ATI Radeon HD 3400 .*ATI.*Radeon HD *34.* 1 1 ATI Radeon HD 3600 .*ATI.*Radeon HD *36.* 3 1 @@ -106,17 +128,24 @@ ATI Radeon HD 4300 .*ATI.*Radeon HD *43.* 1 1 ATI Radeon HD 4500 .*ATI.*Radeon HD *45.* 3 1 ATI Radeon HD 4600 .*ATI.*Radeon HD *46.* 3 1 ATI Radeon HD 4700 .*ATI.*Radeon HD *47.* 3 1 -ATI Radeon HD 4800 .*ATI.*Radeon.*HD *48.* 3 1 -ATI Radeon HD 5400 .*ATI.*Radeon.*HD *54.* 3 1 -ATI Radeon HD 5500 .*ATI.*Radeon.*HD *55.* 3 1 -ATI Radeon HD 5600 .*ATI.*Radeon.*HD *56.* 3 1 -ATI Radeon HD 5700 .*ATI.*Radeon.*HD *57.* 3 1 -ATI Radeon HD 5800 .*ATI.*Radeon.*HD *58.* 3 1 -ATI Radeon HD 5900 .*ATI.*Radeon.*HD *59.* 3 1 +ATI Radeon HD 4800 .*ATI.*Radeon HD *48.* 3 1 +ATI Radeon HD 5400 .*ATI.*Radeon HD *54.* 3 1 +ATI Radeon HD 5500 .*ATI.*Radeon HD *55.* 3 1 +ATI Radeon HD 5600 .*ATI.*Radeon HD *56.* 3 1 +ATI Radeon HD 5700 .*ATI.*Radeon HD *57.* 3 1 +ATI Radeon HD 5800 .*ATI.*Radeon HD *58.* 3 1 +ATI Radeon HD 5900 .*ATI.*Radeon HD *59.* 3 1 +ATI Radeon HD 6200 .*ATI.*Radeon HD *62.* 2 1 +ATI Radeon HD 6300 .*ATI.*Radeon HD *63.* 2 1 +ATI Radeon HD 6400 .*ATI.*Radeon HD *64.* 3 1 +ATI Radeon HD 6500 .*ATI.*Radeon HD *65.* 3 1 +ATI Radeon HD 6700 .*ATI.*Radeon HD *67.* 3 1 +ATI Radeon HD 6800 .*ATI.*Radeon HD *68.* 3 1 +ATI Radeon HD 6900 .*ATI.*Radeon HD *69.* 3 1 ATI Radeon OpenGL .*ATI.*Radeon OpenGL.* 0 0 ATI Radeon 2100 .*ATI.*Radeon 21.* 0 1 ATI Radeon 3000 .*ATI.*Radeon 30.* 0 1 -ATI Radeon 3100 .*ATI.*Radeon 31.* 0 1 +ATI Radeon 3100 .*ATI.*Radeon 31.* 1 1 ATI Radeon 7xxx .*ATI.*Radeon 7.* 0 1 ATI Radeon 8xxx .*ATI.*Radeon 8.* 0 1 ATI Radeon 9000 .*ATI.*Radeon 90.* 0 1 @@ -174,50 +203,114 @@ Intel Broadwater .*Intel.*Broadwater.* 0 0 Intel Brookdale .*Intel.*Brookdale.* 0 0 Intel Cantiga .*Intel.*Cantiga.* 0 0 Intel Eaglelake .*Intel.*Eaglelake.* 0 1 -Intel Graphics Media HD .*Intel(R) Graphics Media.*HD.* 0 1 -Intel HD Graphics .*Intel(R) HD Graphics.* 0 1 -Intel Mobile 4 Series .*Intel.*Mobile.*4 Series.* 0 1 -Intel Media Graphics HD .*Intel Media Graphics HD.* 0 1 +Intel Graphics Media HD .*Intel.*Graphics Media.*HD.* 0 1 +Intel HD Graphics .*Intel.*HD Graphics.* 0 1 +Intel Mobile 4 Series .*Intel.*Mobile *4 Series.* 0 1 +Intel Media Graphics HD .*Intel.*Media Graphics HD.* 0 1 Intel Montara .*Intel.*Montara.* 0 0 Intel Pineview .*Intel.*Pineview.* 0 1 Intel Springdale .*Intel.*Springdale.* 0 0 +Intel HD Graphics 2000 .*Intel.*HD2000.* 1 1 +Intel HD Graphics 3000 .*Intel.*HD3000.* 2 1 Matrox .*Matrox.* 0 0 Mesa .*Mesa.* 0 0 -NVIDIA 310M .*NVIDIA.*GeForce 310M.* 0 1 -NVIDIA 310 .*NVIDIA.*GeForce 310.* 0 1 -NVIDIA 320M .*NVIDIA.*GeForce 320M.* 0 1 -NVIDIA G100M .*NVIDIA.*GeForce G *100M.* 0 1 -NVIDIA G102M .*NVIDIA.*GeForce G *102M.* 0 1 -NVIDIA G103M .*NVIDIA.*GeForce G *103M.* 0 1 -NVIDIA G105M .*NVIDIA.*GeForce G *105M.* 0 1 -NVIDIA G210M .*NVIDIA.*GeForce G210M.* 0 1 -NVIDIA GT 120 .*NVIDIA.*GeForce GT 12.* 1 1 -NVIDIA GT 130 .*NVIDIA.*GeForce GT 13.* 1 1 -NVIDIA GT 220 .*NVIDIA.*GeForce GT 22.* 1 1 -NVIDIA GT 230 .*NVIDIA.*GeForce GT 23.* 1 1 -NVIDIA GT 240 .*NVIDIA.*GeForce GT 24.* 1 1 -NVIDIA GT 320 .*NVIDIA.*GeForce GT 32.* 0 1 -NVIDIA GT 330M .*NVIDIA.*GeForce GT 330M.* 1 1 -NVIDIA GTS 240 .*NVIDIA.*GeForce GTS 24.* 1 1 -NVIDIA GTS 250 .*NVIDIA.*GeForce GTS 25.* 3 1 -NVIDIA GTS 360M .*NVIDIA.*GeForce GTS 360M.* 3 1 -NVIDIA GTX 260 .*NVIDIA.*GeForce GTX 26.* 3 1 -NVIDIA GTX 270 .*NVIDIA.*GeForce GTX 27.* 3 1 -NVIDIA GTX 280 .*NVIDIA.*GeForce GTX 28.* 3 1 -NVIDIA GTX 290 .*NVIDIA.*GeForce GTX 29.* 3 1 -NVIDIA GTX 470 .*NVIDIA.*GeForce GTX 47.* 3 1 -NVIDIA GTX 480 .*NVIDIA.*GeForce GTX 48.* 3 1 -NVIDIA C51 .*NVIDIA.*C51.* 0 1 -NVIDIA G72 .*NVIDIA.*G72.* 1 1 -NVIDIA G73 .*NVIDIA.*G73.* 1 1 -NVIDIA G84 .*NVIDIA.*G84.* 3 1 -NVIDIA G86 .*NVIDIA.*G86.* 3 1 -NVIDIA G92 .*NVIDIA.*G92.* 3 1 +NVIDIA 205 .*NVIDIA.*GeForce 205.* 2 1 +NVIDIA 210 .*NVIDIA.*GeForce 210.* 2 1 +NVIDIA 310M .*NVIDIA.*GeForce 310M.* 1 1 +NVIDIA 310 .*NVIDIA.*GeForce 310.* 3 1 +NVIDIA 315M .*NVIDIA.*GeForce 315M.* 2 1 +NVIDIA 315 .*NVIDIA.*GeForce 315.* 3 1 +NVIDIA 320M .*NVIDIA.*GeForce 320M.* 2 1 +NVIDIA G100M .*NVIDIA.*GeForce *G *100M.* 0 1 +NVIDIA G102M .*NVIDIA.*GeForce *G *102M.* 0 1 +NVIDIA G103M .*NVIDIA.*GeForce *G *103M.* 0 1 +NVIDIA G105M .*NVIDIA.*GeForce *G *105M.* 0 1 +NVIDIA G 110M .*NVIDIA.*GeForce *G *110M.* 0 1 +NVIDIA G 120M .*NVIDIA.*GeForce *G *120M.* 1 1 +NVIDIA G210M .*NVIDIA.*GeForce *G *210M.* 1 1 +NVIDIA GT 120M .*NVIDIA.*GeForce *GT *120M.* 2 1 +NVIDIA GT 120 .*NVIDIA.*GeForce *GT *12.* 2 1 +NVIDIA GT 130M .*NVIDIA.*GeForce *GT *130M.* 2 1 +NVIDIA GT 130 .*NVIDIA.*GeForce *GT *13.* 2 1 +NVIDIA GT 140M .*NVIDIA.*GeForce *GT *140M.* 2 1 +NVIDIA GT 140 .*NVIDIA.*GeForce *GT *14.* 2 1 +NVIDIA GT 150M .*NVIDIA.*GeForce *GT *150M.* 2 1 +NVIDIA GT 150 .*NVIDIA.*GeForce *GT *15.* 2 1 +NVIDIA GT 160M .*NVIDIA.*GeForce *GT *160M.* 2 1 +NVIDIA GT 220M .*NVIDIA.*GeForce *GT *220M.* 2 1 +NVIDIA GT 220 .*NVIDIA.*GeForce *GT *22.* 2 1 +NVIDIA GT 230M .*NVIDIA.*GeForce *GT *230M.* 2 1 +NVIDIA GT 230 .*NVIDIA.*GeForce *GT *23.* 2 1 +NVIDIA GT 240M .*NVIDIA.*GeForce *GT *240M.* 2 1 +NVIDIA GT 240 .*NVIDIA.*GeForce *GT *24.* 1 1 +NVIDIA GT 250M .*NVIDIA.*GeForce *GT *250M.* 2 1 +NVIDIA GT 260M .*NVIDIA.*GeForce *GT *260M.* 2 1 +NVIDIA GT 320M .*NVIDIA.*GeForce *GT *320M.* 0 1 +NVIDIA GT 325M .*NVIDIA.*GeForce *GT *325M.* 0 1 +NVIDIA GT 320 .*NVIDIA.*GeForce *GT *32.* 0 1 +NVIDIA GT 330M .*NVIDIA.*GeForce *GT *330M.* 1 1 +NVIDIA GT 335M .*NVIDIA.*GeForce *GT *335M.* 1 1 +NVIDIA GT 330 .*NVIDIA.*GeForce *GT *33.* 1 1 +NVIDIA GT 340 .*NVIDIA.*GeForce *GT *34.* 1 1 +NVIDIA GT 415M .*NVIDIA.*GeForce *GT *415M.* 2 1 +NVIDIA GT 420M .*NVIDIA.*GeForce *GT *420M.* 2 1 +NVIDIA GT 425M .*NVIDIA.*GeForce *GT *425M.* 3 1 +NVIDIA GT 420 .*NVIDIA.*GeForce *GT *42.* 2 1 +NVIDIA GT 435M .*NVIDIA.*GeForce *GT *435M.* 3 1 +NVIDIA GT 430 .*NVIDIA.*GeForce *GT *43.* 3 1 +NVIDIA GT 445M .*NVIDIA.*GeForce *GT *445M.* 3 1 +NVIDIA GT 440 .*NVIDIA.*GeForce *GT *44.* 3 1 +NVIDIA GT 450 .*NVIDIA.*GeForce *GT *45.* 3 1 +NVIDIA GT 520M .*NVIDIA.*GeForce *GT *520M.* 3 1 +NVIDIA GT 525M .*NVIDIA.*GeForce *GT *525M.* 3 1 +NVIDIA GT 520 .*NVIDIA.*GeForce *GT *52.* 2 1 +NVIDIA GT 540M .*NVIDIA.*GeForce *GT *540M.* 3 1 +NVIDIA GT 540 .*NVIDIA.*GeForce *GT *54.* 3 1 +NVIDIA GT 550M .*NVIDIA.*GeForce *GT *550M.* 3 1 +NVIDIA GT 555M .*NVIDIA.*GeForce *GT *555M.* 3 1 +NVIDIA GTS 150 .*NVIDIA.*GeForce *GTS *15.* 3 1 +NVIDIA GTS 205 .*NVIDIA.*GeForce *GTS *10.* 3 1 +NVIDIA GTS 240 .*NVIDIA.*GeForce *GTS *24.* 3 1 +NVIDIA GTS 240 .*NVIDIA.*GeForce *GTS *24.* 3 1 +NVIDIA GTS 250 .*NVIDIA.*GeForce *GTS *25.* 3 1 +NVIDIA GTS 260M .*NVIDIA.*GeForce *GTS *260M.* 3 1 +NVIDIA GTS 280M .*NVIDIA.*GeForce *GTS *280M.* 3 1 +NVIDIA GTS 285M .*NVIDIA.*GeForce *GTS *285M.* 3 1 +NVIDIA GTS 350M .*NVIDIA.*GeForce *GTS *350M.* 3 1 +NVIDIA GTS 360M .*NVIDIA.*GeForce *GTS *360M.* 3 1 +NVIDIA GTS 450 .*NVIDIA.*GeForce *GTS *45.* 3 1 +NVIDIA GTX 260 .*NVIDIA.*GeForce *GTX *26.* 3 1 +NVIDIA GTX 275 .*NVIDIA.*GeForce *GTX *275.* 3 1 +NVIDIA GTX 270 .*NVIDIA.*GeForce *GTX *27.* 3 1 +NVIDIA GTX 280 .*NVIDIA.*GeForce *GTX *28.* 3 1 +NVIDIA GTX 295 .*NVIDIA.*GeForce *GTX *295.* 3 1 +NVIDIA GTX 290 .*NVIDIA.*GeForce *GTX *29.* 3 1 +NVIDIA GTX 460M .*NVIDIA.*GeForce *GTX *460M.* 3 1 +NVIDIA GTX 465 .*NVIDIA.*GeForce *GTX *465.* 3 1 +NVIDIA GTX 460 .*NVIDIA.*GeForce *GTX *46.* 3 1 +NVIDIA GTX 470M .*NVIDIA.*GeForce *GTX *470M.* 3 1 +NVIDIA GTX 470 .*NVIDIA.*GeForce *GTX *47.* 3 1 +NVIDIA GTX 480M .*NVIDIA.*GeForce *GTX *480M.* 3 1 +NVIDIA GTX 480 .*NVIDIA.*GeForce *GTX *48.* 3 1 +NVIDIA GTX 530 .*NVIDIA.*GeForce *GTX *53.* 3 1 +NVIDIA GTX 550 .*NVIDIA.*GeForce *GTX *54.* 3 1 +NVIDIA GTX 560 .*NVIDIA.*GeForce *GTX *56.* 3 1 +NVIDIA GTX 570 .*NVIDIA.*GeForce *GTX *57.* 3 1 +NVIDIA GTX 580M .*NVIDIA.*GeForce *GTX *580M.* 3 1 +NVIDIA GTX 580 .*NVIDIA.*GeForce *GTX *58.* 3 1 +NVIDIA GTX 590 .*NVIDIA.*GeForce *GTX *59.* 3 1 +NVIDIA C51 .*NVIDIA *C51.* 0 1 +NVIDIA G72 .*NVIDIA *G72.* 1 1 +NVIDIA G73 .*NVIDIA *G73.* 1 1 +NVIDIA G84 .*NVIDIA *G84.* 3 1 +NVIDIA G86 .*NVIDIA *G86.* 3 1 +NVIDIA G92 .*NVIDIA *G92.* 3 1 NVIDIA GeForce .*GeForce 256.* 0 0 NVIDIA GeForce 2 .*GeForce2.* 0 1 NVIDIA GeForce 3 .*GeForce3.* 0 1 NVIDIA GeForce 4 Go .*NVIDIA.*GeForce4.*Go.* 0 1 NVIDIA GeForce 4 MX .*NVIDIA.*GeForce4 MX.* 0 1 +NVIDIA GeForce 4 PCX .*NVIDIA.*GeForce4 PCX.* 0 1 NVIDIA GeForce 4 Ti .*NVIDIA.*GeForce4 Ti.* 0 1 NVIDIA GeForce 6100 .*NVIDIA.*GeForce 61.* 0 1 NVIDIA GeForce 6200 .*NVIDIA.*GeForce 62.* 0 1 @@ -230,32 +323,40 @@ NVIDIA GeForce 7100 .*NVIDIA.*GeForce 71.* 0 1 NVIDIA GeForce 7200 .*NVIDIA.*GeForce 72.* 1 1 NVIDIA GeForce 7300 .*NVIDIA.*GeForce 73.* 1 1 NVIDIA GeForce 7500 .*NVIDIA.*GeForce 75.* 1 1 -NVIDIA GeForce 7600 .*NVIDIA.*GeForce 76.* 1 1 -NVIDIA GeForce 7800 .*NVIDIA.*GeForce 78.* 1 1 -NVIDIA GeForce 7900 .*NVIDIA.*GeForce 79.* 1 1 +NVIDIA GeForce 7600 .*NVIDIA.*GeForce 76.* 2 1 +NVIDIA GeForce 7800 .*NVIDIA.*GeForce 78.* 2 1 +NVIDIA GeForce 7900 .*NVIDIA.*GeForce 79.* 2 1 NVIDIA GeForce 8100 .*NVIDIA.*GeForce 81.* 1 1 +NVIDIA GeForce 8200M .*NVIDIA.*GeForce 8200M.* 1 1 NVIDIA GeForce 8200 .*NVIDIA.*GeForce 82.* 1 1 NVIDIA GeForce 8300 .*NVIDIA.*GeForce 83.* 1 1 +NVIDIA GeForce 8400M .*NVIDIA.*GeForce 8400M.* 1 1 NVIDIA GeForce 8400 .*NVIDIA.*GeForce 84.* 1 1 -NVIDIA GeForce 8500 .*GeForce 85.* 1 1 -NVIDIA GeForce 8600M .*NVIDIA.*GeForce.*8600M.* 1 1 +NVIDIA GeForce 8500 .*NVIDIA.*GeForce 85.* 3 1 +NVIDIA GeForce 8600M .*NVIDIA.*GeForce 8600M.* 1 1 NVIDIA GeForce 8600 .*NVIDIA.*GeForce 86.* 3 1 +NVIDIA GeForce 8700M .*NVIDIA.*GeForce 8700M.* 3 1 NVIDIA GeForce 8700 .*NVIDIA.*GeForce 87.* 3 1 +NVIDIA GeForce 8800M .*NVIDIA.*GeForce 8800M.* 3 1 NVIDIA GeForce 8800 .*NVIDIA.*GeForce 88.* 3 1 -NVIDIA GeForce 9100 .*NVIDIA.*GeForce 9100.* 0 1 -NVIDIA GeForce 9200 .*NVIDIA.*GeForce 9200.* 0 1 +NVIDIA GeForce 9100M .*NVIDIA.*GeForce 9100M.* 0 1 +NVIDIA GeForce 9100 .*NVIDIA.*GeForce 91.* 0 1 +NVIDIA GeForce 9200M .*NVIDIA.*GeForce 9200M.* 1 1 +NVIDIA GeForce 9200 .*NVIDIA.*GeForce 92.* 1 1 NVIDIA GeForce 9300M .*NVIDIA.*GeForce 9300M.* 1 1 +NVIDIA GeForce 9300 .*NVIDIA.*GeForce 93.* 1 1 NVIDIA GeForce 9400M .*NVIDIA.*GeForce 9400M.* 1 1 +NVIDIA GeForce 9400 .*NVIDIA.*GeForce 94.* 1 1 NVIDIA GeForce 9500M .*NVIDIA.*GeForce 9500M.* 2 1 -NVIDIA GeForce 9600M .*NVIDIA.*GeForce 9600M.* 3 1 -NVIDIA GeForce 9700M .*NVIDIA.*GeForce 9700M.* 3 1 -NVIDIA GeForce 9300 .*NVIDIA.*GeForce 93.* 1 1 -NVIDIA GeForce 9400 .*GeForce 94.* 1 1 NVIDIA GeForce 9500 .*NVIDIA.*GeForce 95.* 2 1 -NVIDIA GeForce 9600 .*NVIDIA.*GeForce.*96.* 3 1 -NVIDIA GeForce 9800 .*NVIDIA.*GeForce.*98.* 3 1 +NVIDIA GeForce 9600M .*NVIDIA.*GeForce 9600M.* 3 1 +NVIDIA GeForce 9600 .*NVIDIA.*GeForce 96.* 2 1 +NVIDIA GeForce 9700M .*NVIDIA.*GeForce 9700M.* 2 1 +NVIDIA GeForce 9800M .*NVIDIA.*GeForce 9800M.* 3 1 +NVIDIA GeForce 9800 .*NVIDIA.*GeForce 98.* 3 1 NVIDIA GeForce FX 5100 .*NVIDIA.*GeForce FX 51.* 0 1 NVIDIA GeForce FX 5200 .*NVIDIA.*GeForce FX 52.* 0 1 +NVIDIA GeForce FX 5300 .*NVIDIA.*GeForce FX 53.* 0 1 NVIDIA GeForce FX 5500 .*NVIDIA.*GeForce FX 55.* 0 1 NVIDIA GeForce FX 5600 .*NVIDIA.*GeForce FX 56.* 0 1 NVIDIA GeForce FX 5700 .*NVIDIA.*GeForce FX 57.* 1 1 @@ -271,6 +372,7 @@ NVIDIA GeForce FX Go5800 .*NVIDIA.*GeForce FX Go58.* 1 1 NVIDIA GeForce FX Go5900 .*NVIDIA.*GeForce FX Go59.* 1 1 NVIDIA GeForce Go 6100 .*NVIDIA.*GeForce Go 61.* 0 1 NVIDIA GeForce Go 6200 .*NVIDIA.*GeForce Go 62.* 0 1 +NVIDIA GeForce Go 6400 .*NVIDIA.*GeForce Go 64.* 1 1 NVIDIA GeForce Go 6500 .*NVIDIA.*GeForce Go 65.* 1 1 NVIDIA GeForce Go 6600 .*NVIDIA.*GeForce Go 66.* 1 1 NVIDIA GeForce Go 6700 .*NVIDIA.*GeForce Go 67.* 1 1 @@ -288,7 +390,8 @@ NVIDIA G84 .*G84.* 1 1 NVIDIA G92 .*G92.* 3 1 NVIDIA G94 .*G94.* 3 1 NVIDIA GeForce Go 6 .*GeForce Go 6.* 1 1 -NVIDIA ION .*NVIDIA ION.* 1 1 +NVIDIA ION 2 .*NVIDIA ION 2.* 2 1 +NVIDIA ION .*NVIDIA ION.* 2 1 NVIDIA NB9M .*GeForce NB9M.* 1 1 NVIDIA NB9P .*GeForce NB9P.* 1 1 NVIDIA GeForce PCX .*GeForce PCX.* 0 1 @@ -297,14 +400,16 @@ NVIDIA NV17 .*GeForce NV17.* 0 1 NVIDIA NV34 .*NVIDIA.*NV34.* 0 1 NVIDIA NV35 .*NVIDIA.*NV35.* 0 1 NVIDIA NV36 .*GeForce NV36.* 1 1 -NVIDIA NV43 .*NVIDIA.*NV43.* 1 1 -NVIDIA NV44 .*NVIDIA.*NV44.* 1 1 -NVIDIA nForce .*NVIDIA.*nForce.* 0 0 -NVIDIA MCP78 .*NVIDIA.*MCP78.* 1 1 +NVIDIA NV43 .*NVIDIA *NV43.* 1 1 +NVIDIA NV44 .*NVIDIA *NV44.* 1 1 +NVIDIA nForce .*NVIDIA *nForce.* 0 0 +NVIDIA MCP78 .*NVIDIA *MCP78.* 1 1 NVIDIA Quadro2 .*Quadro2.* 0 1 +NVIDIA Quadro 4000 .*NVIDIA *Quadro *4000.* 3 1 NVIDIA Quadro4 .*Quadro4.* 0 1 NVIDIA Quadro DCC .*Quadro DCC.* 0 1 -NVIDIA Quadro FX 4500 .*Quadro.*FX.*4500.* 3 1 +NVIDIA Quadro FX 4500 .*Quadro.*FX *45.* 3 1 +NVIDIA Quadro FX 880M .*Quadro.*FX *880M.* 3 1 NVIDIA Quadro FX .*Quadro FX.* 1 1 NVIDIA Quadro NVS .*Quadro NVS.* 0 1 NVIDIA RIVA TNT .*RIVA TNT.* 0 0 -- cgit v1.2.3 From 5ebd3ca12cdc1d5e55091116d1459d1f79201b11 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Sat, 16 Apr 2011 06:57:29 -0400 Subject: STORM-1100 (trial) corrections caught in code review by open devs --- indra/newview/gpu_table.txt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/indra/newview/gpu_table.txt b/indra/newview/gpu_table.txt index 8c63046e9e..59c087bd0e 100644 --- a/indra/newview/gpu_table.txt +++ b/indra/newview/gpu_table.txt @@ -268,9 +268,8 @@ NVIDIA GT 540M .*NVIDIA.*GeForce *GT *540M.* 3 1 NVIDIA GT 540 .*NVIDIA.*GeForce *GT *54.* 3 1 NVIDIA GT 550M .*NVIDIA.*GeForce *GT *550M.* 3 1 NVIDIA GT 555M .*NVIDIA.*GeForce *GT *555M.* 3 1 -NVIDIA GTS 150 .*NVIDIA.*GeForce *GTS *15.* 3 1 -NVIDIA GTS 205 .*NVIDIA.*GeForce *GTS *10.* 3 1 -NVIDIA GTS 240 .*NVIDIA.*GeForce *GTS *24.* 3 1 +NVIDIA GTS 150 .*NVIDIA.*GeForce *GTS *15.* 3 1 +NVIDIA GTS 205 .*NVIDIA.*GeForce *GTS *205.* 3 1 NVIDIA GTS 240 .*NVIDIA.*GeForce *GTS *24.* 3 1 NVIDIA GTS 250 .*NVIDIA.*GeForce *GTS *25.* 3 1 NVIDIA GTS 260M .*NVIDIA.*GeForce *GTS *260M.* 3 1 @@ -282,9 +281,9 @@ NVIDIA GTS 450 .*NVIDIA.*GeForce *GTS *45.* 3 1 NVIDIA GTX 260 .*NVIDIA.*GeForce *GTX *26.* 3 1 NVIDIA GTX 275 .*NVIDIA.*GeForce *GTX *275.* 3 1 NVIDIA GTX 270 .*NVIDIA.*GeForce *GTX *27.* 3 1 +NVIDIA GTX 285 .*NVIDIA.*GeForce *GTX *285.* 3 1 NVIDIA GTX 280 .*NVIDIA.*GeForce *GTX *28.* 3 1 NVIDIA GTX 295 .*NVIDIA.*GeForce *GTX *295.* 3 1 -NVIDIA GTX 290 .*NVIDIA.*GeForce *GTX *29.* 3 1 NVIDIA GTX 460M .*NVIDIA.*GeForce *GTX *460M.* 3 1 NVIDIA GTX 465 .*NVIDIA.*GeForce *GTX *465.* 3 1 NVIDIA GTX 460 .*NVIDIA.*GeForce *GTX *46.* 3 1 @@ -378,8 +377,8 @@ NVIDIA GeForce Go 6600 .*NVIDIA.*GeForce Go 66.* 1 1 NVIDIA GeForce Go 6700 .*NVIDIA.*GeForce Go 67.* 1 1 NVIDIA GeForce Go 6800 .*NVIDIA.*GeForce Go 68.* 1 1 NVIDIA GeForce Go 7200 .*NVIDIA.*GeForce Go 72.* 1 1 -NVIDIA GeForce Go 7300 .*NVIDIA.*GeForce Go 73.* 1 1 NVIDIA GeForce Go 7300 LE .*NVIDIA.*GeForce Go 73.*LE.* 0 1 +NVIDIA GeForce Go 7300 .*NVIDIA.*GeForce Go 73.* 1 1 NVIDIA GeForce Go 7400 .*NVIDIA.*GeForce Go 74.* 1 1 NVIDIA GeForce Go 7600 .*NVIDIA.*GeForce Go 76.* 2 1 NVIDIA GeForce Go 7700 .*NVIDIA.*GeForce Go 77.* 2 1 -- cgit v1.2.3 From c8e5d030cf890f40fb9213d2c092c2bfcc1ad826 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 19 Apr 2011 12:07:12 -0400 Subject: storm-1100 (partial) remove some duplicate gpu lines, add some missing lines --- indra/newview/gpu_table.txt | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/indra/newview/gpu_table.txt b/indra/newview/gpu_table.txt index 59c087bd0e..c83e305f24 100644 --- a/indra/newview/gpu_table.txt +++ b/indra/newview/gpu_table.txt @@ -54,7 +54,6 @@ ATI ASUS EAH57xx .*ATI.*ASUS.*EAH57.* 3 1 ATI ASUS EAH58xx .*ATI.*ASUS.*EAH58.* 3 1 ATI Radeon X1xxx .*ATI.*ASUS.*X1.* 3 1 ATI Radeon X7xx .*ATI.*ASUS.*X7.* 1 1 -ATI Radeon X500 .*ATI.*Diamond X5.* 1 1 ATI Radeon X13xx .*ATI.*Diamond X13.* 1 1 ATI Radeon X16xx .*ATI.*Diamond X16.* 1 1 ATI Radeon X19xx .*ATI.*Diamond X19.* 1 1 @@ -179,7 +178,6 @@ ATI Radeon X800 .*ATI.*Radeon X8.* 2 1 ATI Radeon X900 .*ATI.*Radeon X9.* 2 1 ATI Radeon Xpress .*ATI.*Radeon Xpress.* 0 0 ATI Rage 128 .*ATI.*Rage 128.* 0 1 -ATI RV250 .*ATI.*RV250.* 0 1 ATI RV380 .*ATI.*RV380.* 0 1 ATI RV530 .*ATI.*RV530.* 1 1 ATI RX700 .*ATI.*RX700.* 1 1 @@ -301,7 +299,7 @@ NVIDIA GTX 590 .*NVIDIA.*GeForce *GTX *59.* 3 1 NVIDIA C51 .*NVIDIA *C51.* 0 1 NVIDIA G72 .*NVIDIA *G72.* 1 1 NVIDIA G73 .*NVIDIA *G73.* 1 1 -NVIDIA G84 .*NVIDIA *G84.* 3 1 +NVIDIA G84 .*NVIDIA *G84.* 2 1 NVIDIA G86 .*NVIDIA *G86.* 3 1 NVIDIA G92 .*NVIDIA *G92.* 3 1 NVIDIA GeForce .*GeForce 256.* 0 0 @@ -384,10 +382,8 @@ NVIDIA GeForce Go 7600 .*NVIDIA.*GeForce Go 76.* 2 1 NVIDIA GeForce Go 7700 .*NVIDIA.*GeForce Go 77.* 2 1 NVIDIA GeForce Go 7800 .*NVIDIA.*GeForce Go 78.* 2 1 NVIDIA GeForce Go 7900 .*NVIDIA.*GeForce Go 79.* 2 1 -NVIDIA D9M .*D9M.* 1 1 -NVIDIA G84 .*G84.* 1 1 -NVIDIA G92 .*G92.* 3 1 -NVIDIA G94 .*G94.* 3 1 +NVIDIA D9M .*NVIDIA.*D9M.* 1 1 +NVIDIA G94 .*NVIDIA.*G94.* 3 1 NVIDIA GeForce Go 6 .*GeForce Go 6.* 1 1 NVIDIA ION 2 .*NVIDIA ION 2.* 2 1 NVIDIA ION .*NVIDIA ION.* 2 1 -- cgit v1.2.3 From cf5ceff1aa4adf672a9c961a842b93fecca4737f Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 19 Apr 2011 12:09:05 -0400 Subject: storm-1100 (partial) add script for testing gpu table, with input and current output --- indra/newview/tests/gpu_table_tester | 165 ++++ indra/newview/tests/gpus_results.txt | 1593 ++++++++++++++++++++++++++++++++++ indra/newview/tests/gpus_seen.txt | 1593 ++++++++++++++++++++++++++++++++++ 3 files changed, 3351 insertions(+) create mode 100755 indra/newview/tests/gpu_table_tester create mode 100644 indra/newview/tests/gpus_results.txt create mode 100644 indra/newview/tests/gpus_seen.txt diff --git a/indra/newview/tests/gpu_table_tester b/indra/newview/tests/gpu_table_tester new file mode 100755 index 0000000000..5e05e4dbc9 --- /dev/null +++ b/indra/newview/tests/gpu_table_tester @@ -0,0 +1,165 @@ +#!/usr/bin/perl +## Checks entries in the indra/newview/gpu_table.txt file against sample data +## +## Copyright (c) 2011, Linden Research, Inc. +## +## Permission is hereby granted, free of charge, to any person obtaining a copy +## of this software and associated documentation files (the "Software"), to deal +## in the Software without restriction, including without limitation the rights +## to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +## copies of the Software, and to permit persons to whom the Software is +## furnished to do so, subject to the following conditions: +## +## The above copyright notice and this permission notice shall be included in +## all copies or substantial portions of the Software. +## +## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +## THE SOFTWARE. + +use English; +use Getopt::Long; + +( $MyName = $0 ) =~ s|.*/||; +my $mini_HELP = " + $MyName --gpu-table + [ --unrecognized-only ] + [ --table-only ] + [ ...] + + Checks for duplicates and invalid lines in the gpu_table.txt file. + + Unless the '--table-only' option is specified, it also tests the recognition of + values in the gpu-strings-files (or standard input if no files are given). + + If the --unrecognized-only option is specified, then no output is produced for + values that are matched, otherwise a line is output for each input line that + describes the results of attempting to match the value on that line. +"; + +&GetOptions("help" => \$Help, + "gpu-table=s" => \$GpuTable, + "unrecognized-only" => \$UnrecognizedOnly, + "table-only" => \$TableOnly + ) + || die "$mini_HELP"; + +if ($Help) +{ + print $mini_HELP; + exit 0; +} + +$ErrorsSeen = 0; + +die "Must specify a --gpu-table value" + unless $GpuTable; + +open(GPUS, "<$GpuTable") + || die "Failed to open gpu table '$GpuTable':\n\t$!\n"; + +# Parse the GPU table into these table, indexed by the name +my %NameLine; # name -> line number on which a given name was found (catches duplicate names) +my %RecognizerLine; # name -> line number on which a given name was found (catches duplicate names) +my %Name; # recognizer -> name +my %Class; # recognizer -> class +my %Supported; # recognizer -> supported +my @InOrder; # records the order of the recognizers + +$Name{'UNRECOGNIZED'} = 'UNRECOGNIZED'; +$NameLine{'UNRECOGNIZED'} = '(hard-coded)'; # use this for error messages in table parsing +$Class{'UNRECOGNIZED'} = ''; +$Supported{'UNRECOGNIZED'} = ''; + +while () +{ + next if m|^//|; # skip comments + next if m|^\s*$|; # skip blank lines + + chomp; + my ($name, $regex, $class, $supported, $extra) = split('\t+'); + my $errsOnLine = $ErrorsSeen; + if (!$name) + { + print STDERR "No name found on $GpuTable line $INPUT_LINE_NUMBER\n"; + $ErrorsSeen++; + } + elsif ( defined $NameLine{$name} ) + { + print STDERR "Duplicate name ($name) found on $GpuTable lines $NameLine{$name} and $INPUT_LINE_NUMBER (ignored)\n"; + $ErrorsSeen++; + } + if (!$regex) + { + print STDERR "No recognizer found on $GpuTable line $INPUT_LINE_NUMBER\n"; + $ErrorsSeen++; + } + elsif ( defined $RecognizerLine{$regex} ) + { + print STDERR "Duplicate recognizer '$regex' found on $GpuTable lines $RecognizerLine{$regex} and $INPUT_LINE_NUMBER (ignored)\n"; + $ErrorsSeen++; + } + if ($class !~ m/[0123]/) + { + print STDERR "Invalid class value '$class' on $GpuTable line $INPUT_LINE_NUMBER\n"; + $ErrorsSeen++; + } + if ($supported !~ m/[0123]/) + { + print STDERR "Invalid supported value '$supported' on $GpuTable line $INPUT_LINE_NUMBER\n"; + $ErrorsSeen++; + } + if ($extra) + { + print STDERR "Extra data '$extra' on $GpuTable line $INPUT_LINE_NUMBER\n"; + $ErrorsSeen++; + } + + if ($errsOnLine == $ErrorsSeen) # no errors found on this line + { + push @InOrder,$regex; + $NameLine{$name} = $INPUT_LINE_NUMBER; + $RecognizerLine{$regex} = $INPUT_LINE_NUMBER; + $Name{$regex} = $name; + $Class{$regex} = $class; + $Supported{$regex} = $supported ? "supported" : "unsupported"; + } +} + +close GPUS; + +exit $ErrorsSeen if $TableOnly; + +my %RecognizedBy; +while (<>) +{ + chomp; + my $recognizer; + $RecognizedBy{$_} = 'UNRECOGNIZED'; + foreach $recognizer ( @InOrder ) # note early exit if recognized + { + if ( m/$recognizer/ ) + { + $RecognizedBy{$_} = $recognizer; + last; # exit recognizer loop + } + } +} + +## Print results. +## For each input, show supported or unsupported, the class, and the recognizer name +format = +@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... @<<<<<<<<<< @> @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... +$_, $Supported{$RecognizedBy{$_}},$Class{$RecognizedBy{$_}},$Name{$RecognizedBy{$_}} +. + +foreach ( sort keys %RecognizedBy ) +{ + write if ! $UnrecognizedOnly || $Name{$RecognizedBy{$_}} eq 'UNRECOGNIZED'; +} + +exit $ErrorsSeen; diff --git a/indra/newview/tests/gpus_results.txt b/indra/newview/tests/gpus_results.txt new file mode 100644 index 0000000000..69f6785a7c --- /dev/null +++ b/indra/newview/tests/gpus_results.txt @@ -0,0 +1,1593 @@ +ATI UNRECOGNIZED +ATI 3D-Analyze unsupported 0 ATI 3D-Analyze +ATI ASUS A9xxx supported 1 ATI ASUS A9xxx +ATI ASUS AH24xx supported 1 ATI ASUS AH24xx +ATI ASUS AH26xx supported 3 ATI ASUS AH26xx +ATI ASUS AH34xx supported 1 ATI ASUS AH34xx +ATI ASUS AH36xx supported 3 ATI ASUS AH36xx +ATI ASUS AH46xx supported 3 ATI ASUS AH46xx +ATI ASUS AX3xx supported 1 ATI ASUS AX3xx +ATI ASUS AX5xx supported 1 ATI ASUS AX5xx +ATI ASUS AX8xx UNRECOGNIZED +ATI ASUS EAH38xx supported 3 ATI ASUS EAH38xx +ATI ASUS EAH43xx supported 1 ATI ASUS EAH43xx +ATI ASUS EAH45xx supported 1 ATI ASUS EAH45xx +ATI ASUS EAH48xx supported 3 ATI ASUS EAH48xx +ATI ASUS EAH57xx supported 3 ATI ASUS EAH57xx +ATI ASUS EAH58xx supported 3 ATI ASUS EAH58xx +ATI ASUS X1xxx supported 3 ATI Radeon X1xxx +ATI All-in-Wonder 9xxx supported 1 ATI All-in-Wonder 9xxx +ATI All-in-Wonder HD supported 1 ATI All-in-Wonder HD +ATI All-in-Wonder PCI-E supported 1 ATI All-in-Wonder PCI-E +ATI All-in-Wonder X1800 supported 3 ATI All-in-Wonder X1800 +ATI All-in-Wonder X1900 supported 3 ATI All-in-Wonder X1900 +ATI All-in-Wonder X600 supported 1 ATI All-in-Wonder X600 +ATI All-in-Wonder X800 supported 2 ATI All-in-Wonder X800 +ATI Diamond X1xxx UNRECOGNIZED +ATI Display Adapter UNRECOGNIZED +ATI FireGL supported 0 ATI FireGL +ATI FireGL 5200 supported 0 ATI FireGL +ATI FireGL 5xxx supported 0 ATI FireGL +ATI FireMV unsupported 0 ATI FireMV +ATI Generic unsupported 0 ATI Generic +ATI Hercules 9800 supported 1 ATI Hercules 9800 +ATI IGP 340M unsupported 0 ATI IGP 340M +ATI M52 supported 1 ATI M52 +ATI M54 supported 1 ATI M54 +ATI M56 supported 1 ATI M56 +ATI M71 supported 1 ATI M71 +ATI M72 supported 1 ATI M72 +ATI M76 supported 3 ATI M76 +ATI Mobility Radeon supported 0 ATI Mobility Radeon +ATI Mobility Radeon 7xxx supported 0 ATI Mobility Radeon 7xxx +ATI Mobility Radeon 9600 supported 0 ATI Mobility Radeon +ATI Mobility Radeon 9700 supported 0 ATI Mobility Radeon +ATI Mobility Radeon 9800 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 2300 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 2400 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 2600 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 2700 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 3400 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 3600 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 3800 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 4200 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 4300 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 4500 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 4600 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 4800 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 5400 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 5600 supported 0 ATI Mobility Radeon +ATI Mobility Radeon X1xxx supported 0 ATI Mobility Radeon +ATI Mobility Radeon X2xxx supported 0 ATI Mobility Radeon +ATI Mobility Radeon X3xx supported 0 ATI Mobility Radeon +ATI Mobility Radeon X6xx supported 0 ATI Mobility Radeon +ATI Mobility Radeon X7xx supported 0 ATI Mobility Radeon +ATI Mobility Radeon Xxxx supported 0 ATI Mobility Radeon +ATI RV380 supported 0 ATI RV380 +ATI RV530 supported 1 ATI RV530 +ATI Radeon 2100 supported 0 ATI Radeon 2100 +ATI Radeon 3000 supported 0 ATI Radeon 3000 +ATI Radeon 3100 supported 1 ATI Radeon 3100 +ATI Radeon 7000 supported 0 ATI Radeon 7xxx +ATI Radeon 7xxx supported 0 ATI Radeon 7xxx +ATI Radeon 8xxx supported 0 ATI Radeon 8xxx +ATI Radeon 9000 supported 0 ATI Radeon 9000 +ATI Radeon 9100 supported 0 ATI Radeon 9100 +ATI Radeon 9200 supported 0 ATI Radeon 9200 +ATI Radeon 9500 supported 0 ATI Radeon 9500 +ATI Radeon 9600 supported 0 ATI Radeon 9600 +ATI Radeon 9700 supported 1 ATI Radeon 9700 +ATI Radeon 9800 supported 1 ATI Radeon 9800 +ATI Radeon HD 2300 supported 0 ATI Radeon HD 2300 +ATI Radeon HD 2400 supported 1 ATI Radeon HD 2400 +ATI Radeon HD 2600 supported 2 ATI Radeon HD 2600 +ATI Radeon HD 2900 supported 3 ATI Radeon HD 2900 +ATI Radeon HD 3000 supported 0 ATI Radeon HD 3000 +ATI Radeon HD 3100 supported 1 ATI Radeon HD 3100 +ATI Radeon HD 3200 supported 0 ATI Radeon HD 3200 +ATI Radeon HD 3300 supported 1 ATI Radeon HD 3300 +ATI Radeon HD 3400 supported 1 ATI Radeon HD 3400 +ATI Radeon HD 3600 supported 3 ATI Radeon HD 3600 +ATI Radeon HD 3800 supported 3 ATI Radeon HD 3800 +ATI Radeon HD 4200 supported 1 ATI Radeon HD 4200 +ATI Radeon HD 4300 supported 1 ATI Radeon HD 4300 +ATI Radeon HD 4500 supported 3 ATI Radeon HD 4500 +ATI Radeon HD 4600 supported 3 ATI Radeon HD 4600 +ATI Radeon HD 4700 supported 3 ATI Radeon HD 4700 +ATI Radeon HD 4800 supported 3 ATI Radeon HD 4800 +ATI Radeon HD 5400 supported 3 ATI Radeon HD 5400 +ATI Radeon HD 5500 supported 3 ATI Radeon HD 5500 +ATI Radeon HD 5600 supported 3 ATI Radeon HD 5600 +ATI Radeon HD 5700 supported 3 ATI Radeon HD 5700 +ATI Radeon HD 5800 supported 3 ATI Radeon HD 5800 +ATI Radeon HD 5900 supported 3 ATI Radeon HD 5900 +ATI Radeon HD 6200 supported 2 ATI Radeon HD 6200 +ATI Radeon HD 6300 supported 2 ATI Radeon HD 6300 +ATI Radeon HD 6500 supported 3 ATI Radeon HD 6500 +ATI Radeon HD 6800 supported 3 ATI Radeon HD 6800 +ATI Radeon HD 6900 supported 3 ATI Radeon HD 6900 +ATI Radeon OpenGL UNRECOGNIZED +ATI Radeon RV250 supported 0 ATI Radeon RV250 +ATI Radeon RV600 supported 1 ATI Radeon RV600 +ATI Radeon RX9550 supported 1 ATI Radeon RX9550 +ATI Radeon VE unsupported 0 ATI Radeon VE +ATI Radeon X1000 supported 0 ATI Radeon X1000 +ATI Radeon X1200 supported 0 ATI Radeon X1200 +ATI Radeon X1300 supported 1 ATI Radeon X1300 +ATI Radeon X13xx supported 1 ATI Radeon X1300 +ATI Radeon X1400 supported 1 ATI Radeon X1400 +ATI Radeon X1500 supported 1 ATI Radeon X1500 +ATI Radeon X1600 supported 1 ATI Radeon X1600 +ATI Radeon X16xx supported 1 ATI Radeon X1600 +ATI Radeon X1700 supported 1 ATI Radeon X1700 +ATI Radeon X1800 supported 3 ATI Radeon X1800 +ATI Radeon X1900 supported 3 ATI Radeon X1900 +ATI Radeon X19xx supported 3 ATI Radeon X1900 +ATI Radeon X1xxx UNRECOGNIZED +ATI Radeon X300 supported 0 ATI Radeon X300 +ATI Radeon X500 supported 0 ATI Radeon X500 +ATI Radeon X600 supported 1 ATI Radeon X600 +ATI Radeon X700 supported 1 ATI Radeon X700 +ATI Radeon X7xx supported 1 ATI Radeon X700 +ATI Radeon X800 supported 2 ATI Radeon X800 +ATI Radeon Xpress unsupported 0 ATI Radeon Xpress +ATI Rage 128 supported 0 ATI Rage 128 +ATI Technologies Inc. UNRECOGNIZED +ATI Technologies Inc. x86 UNRECOGNIZED +ATI Technologies Inc. x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. (Vista) ATI Mobility Radeon HD 5730 supported 0 ATI Mobility Radeon +ATI Technologies Inc. 256MB ATI Radeon X1300PRO x86/SSE2 supported 1 ATI Radeon X1300 +ATI Technologies Inc. AMD 760G UNRECOGNIZED +ATI Technologies Inc. AMD 760G (Microsoft WDDM 1.1) UNRECOGNIZED +ATI Technologies Inc. AMD 780L UNRECOGNIZED +ATI Technologies Inc. AMD FirePro 2270 UNRECOGNIZED +ATI Technologies Inc. AMD M860G with ATI Mobility Radeon 4100 supported 0 ATI Mobility Radeon +ATI Technologies Inc. AMD M880G with ATI Mobility Radeon HD 4200 supported 0 ATI Mobility Radeon +ATI Technologies Inc. AMD M880G with ATI Mobility Radeon HD 4250 supported 0 ATI Mobility Radeon +ATI Technologies Inc. AMD RADEON HD 6450 UNRECOGNIZED +ATI Technologies Inc. AMD Radeon HD 6200 series Graphics supported 2 ATI Radeon HD 6200 +ATI Technologies Inc. AMD Radeon HD 6250 Graphics supported 2 ATI Radeon HD 6200 +ATI Technologies Inc. AMD Radeon HD 6300 series Graphics supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. AMD Radeon HD 6300M Series supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. AMD Radeon HD 6310 Graphics supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. AMD Radeon HD 6310M supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. AMD Radeon HD 6330M supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. AMD Radeon HD 6350 supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. AMD Radeon HD 6370M supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. AMD Radeon HD 6400M Series supported 3 ATI Radeon HD 6400 +ATI Technologies Inc. AMD Radeon HD 6450 supported 3 ATI Radeon HD 6400 +ATI Technologies Inc. AMD Radeon HD 6470M supported 3 ATI Radeon HD 6400 +ATI Technologies Inc. AMD Radeon HD 6490M supported 3 ATI Radeon HD 6400 +ATI Technologies Inc. AMD Radeon HD 6500M/5600/5700 Series supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. AMD Radeon HD 6530M supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. AMD Radeon HD 6550M supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. AMD Radeon HD 6570 supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. AMD Radeon HD 6570M supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. AMD Radeon HD 6570M/5700 Series supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. AMD Radeon HD 6600M Series UNRECOGNIZED +ATI Technologies Inc. AMD Radeon HD 6650M UNRECOGNIZED +ATI Technologies Inc. AMD Radeon HD 6670 UNRECOGNIZED +ATI Technologies Inc. AMD Radeon HD 6700 Series supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. AMD Radeon HD 6750 supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. AMD Radeon HD 6750M supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. AMD Radeon HD 6770 supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. AMD Radeon HD 6800 Series supported 3 ATI Radeon HD 6800 +ATI Technologies Inc. AMD Radeon HD 6850M supported 3 ATI Radeon HD 6800 +ATI Technologies Inc. AMD Radeon HD 6870 supported 3 ATI Radeon HD 6800 +ATI Technologies Inc. AMD Radeon HD 6870M supported 3 ATI Radeon HD 6800 +ATI Technologies Inc. AMD Radeon HD 6900 Series supported 3 ATI Radeon HD 6900 +ATI Technologies Inc. AMD Radeon HD 6970M supported 3 ATI Radeon HD 6900 +ATI Technologies Inc. AMD Radeon HD 6990 supported 3 ATI Radeon HD 6900 +ATI Technologies Inc. AMD Radeon(TM) HD 6470M UNRECOGNIZED +ATI Technologies Inc. ASUS 5870 Eyefinity 6 UNRECOGNIZED +ATI Technologies Inc. ASUS AH2600 Series supported 3 ATI ASUS AH26xx +ATI Technologies Inc. ASUS AH3450 Series supported 1 ATI ASUS AH34xx +ATI Technologies Inc. ASUS AH3650 Series supported 3 ATI ASUS AH36xx +ATI Technologies Inc. ASUS AH4650 Series supported 3 ATI ASUS AH46xx +ATI Technologies Inc. ASUS ARES UNRECOGNIZED +ATI Technologies Inc. ASUS EAH2900 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH3450 Series supported 1 ATI ASUS AH34xx +ATI Technologies Inc. ASUS EAH3650 Series supported 3 ATI ASUS AH36xx +ATI Technologies Inc. ASUS EAH4350 series supported 1 ATI ASUS EAH43xx +ATI Technologies Inc. ASUS EAH4550 series supported 1 ATI ASUS EAH45xx +ATI Technologies Inc. ASUS EAH4650 series supported 3 ATI ASUS AH46xx +ATI Technologies Inc. ASUS EAH4670 series supported 3 ATI ASUS AH46xx +ATI Technologies Inc. ASUS EAH4750 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH4770 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH4770 series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH4850 series supported 3 ATI ASUS EAH48xx +ATI Technologies Inc. ASUS EAH5450 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH5550 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH5570 series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH5670 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH5750 Series supported 3 ATI ASUS EAH57xx +ATI Technologies Inc. ASUS EAH5770 Series supported 3 ATI ASUS EAH57xx +ATI Technologies Inc. ASUS EAH5830 Series supported 3 ATI ASUS EAH58xx +ATI Technologies Inc. ASUS EAH5850 Series supported 3 ATI ASUS EAH58xx +ATI Technologies Inc. ASUS EAH5870 Series supported 3 ATI ASUS EAH58xx +ATI Technologies Inc. ASUS EAH5970 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH6850 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH6870 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH6950 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH6970 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAHG4670 series UNRECOGNIZED +ATI Technologies Inc. ASUS Extreme AX600 Series UNRECOGNIZED +ATI Technologies Inc. ASUS Extreme AX600XT-TD UNRECOGNIZED +ATI Technologies Inc. ASUS X1300 Series x86/SSE2 supported 3 ATI Radeon X1xxx +ATI Technologies Inc. ASUS X1550 Series supported 3 ATI Radeon X1xxx +ATI Technologies Inc. ASUS X1950 Series x86/SSE2 supported 3 ATI Radeon X1xxx +ATI Technologies Inc. ASUS X800 Series UNRECOGNIZED +ATI Technologies Inc. ASUS X850 Series UNRECOGNIZED +ATI Technologies Inc. ATI All-in-Wonder HD supported 1 ATI All-in-Wonder HD +ATI Technologies Inc. ATI FirePro 2260 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro 2450 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro M5800 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro M7740 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro M7820 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro V3700 (FireGL) supported 0 ATI FireGL +ATI Technologies Inc. ATI FirePro V3800 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro V4800 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro V4800 (FireGL) supported 0 ATI FireGL +ATI Technologies Inc. ATI FirePro V5800 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro V7800 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON 9XXX x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON HD 3450 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON X1600 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON X2300 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON X2300 HD x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON X2300 x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON X2300 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON X300 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON X600 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON XPRESS 200 UNRECOGNIZED +ATI Technologies Inc. ATI Mobility FireGL V5700 supported 1 ATI FireGL 5xxx +ATI Technologies Inc. ATI Mobility Radeon 4100 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon Graphics supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 2300 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 2400 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 2400 XT supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 2600 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 2600 XT supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 2700 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 3400 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 3430 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 3450 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 3470 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 3470 Hybrid X2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 3650 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4200 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4200 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4225 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4225 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4250 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4250 Graphics supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4270 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4300 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4300/4500 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4330 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4330 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4350 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4350 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4500 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4500/5100 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4530 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4530 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4550 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4570 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4600 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4650 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4650 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4670 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4830 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4850 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4870 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5000 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5000 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5145 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5165 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 530v supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5400 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 540v supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5430 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5450 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5450 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 545v supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5470 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 550v supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5600/5700 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 560v supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5650 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5700 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5730 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5800 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5850 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5870 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 6300 series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 6370 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 6470M supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 6550 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 6570 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1300 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1300 x86/MMX/3DNow!/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1300 x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1350 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1350 x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1400 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1400 x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1600 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1600 x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1700 x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X2300 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X2300 (Omega 3.8.442) supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X2300 x86 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X2300 x86/MMX/3DNow!/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X2300 x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X2500 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X2500 x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon. HD 530v supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon. HD 5470 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI RADEON HD 3200 T25XX by CAMILO UNRECOGNIZED +ATI Technologies Inc. ATI RADEON XPRESS 1100 UNRECOGNIZED +ATI Technologies Inc. ATI RADEON XPRESS 200 Series UNRECOGNIZED +ATI Technologies Inc. ATI RADEON XPRESS 200 Series x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. ATI RADEON XPRESS 200M SERIES UNRECOGNIZED +ATI Technologies Inc. ATI Radeon UNRECOGNIZED +ATI Technologies Inc. ATI Radeon 2100 supported 0 ATI Radeon 2100 +ATI Technologies Inc. ATI Radeon 2100 (Microsoft - WDDM) supported 0 ATI Radeon 2100 +ATI Technologies Inc. ATI Radeon 2100 Graphics supported 0 ATI Radeon 2100 +ATI Technologies Inc. ATI Radeon 3000 supported 0 ATI Radeon 3000 +ATI Technologies Inc. ATI Radeon 3000 Graphics supported 0 ATI Radeon 3000 +ATI Technologies Inc. ATI Radeon 3100 Graphics supported 1 ATI Radeon 3100 +ATI Technologies Inc. ATI Radeon 5xxx series UNRECOGNIZED +ATI Technologies Inc. ATI Radeon 9550 / X1050 Series supported 0 ATI Radeon 9500 +ATI Technologies Inc. ATI Radeon 9550 / X1050 Series x86/MMX/3DNow!/SSE supported 0 ATI Radeon 9500 +ATI Technologies Inc. ATI Radeon 9550 / X1050 Series x86/SSE2 supported 0 ATI Radeon 9500 +ATI Technologies Inc. ATI Radeon 9550 / X1050 Series(Microsoft - WDDM) supported 0 ATI Radeon 9500 +ATI Technologies Inc. ATI Radeon 9600 / X1050 Series supported 0 ATI Radeon 9600 +ATI Technologies Inc. ATI Radeon 9600/9550/X1050 Series supported 0 ATI Radeon 9600 +ATI Technologies Inc. ATI Radeon BA Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon BB Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon Cedar PRO Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon Cypress PRO Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon Graphics Processor UNRECOGNIZED +ATI Technologies Inc. ATI Radeon HD 2200 Graphics UNRECOGNIZED +ATI Technologies Inc. ATI Radeon HD 2350 supported 0 ATI Radeon HD 2300 +ATI Technologies Inc. ATI Radeon HD 2400 supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2400 OpenGL Engine supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2400 PRO supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2400 PRO AGP supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2400 Pro supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2400 Series supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2400 XT supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2400 XT OpenGL Engine supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2600 OpenGL Engine supported 2 ATI Radeon HD 2600 +ATI Technologies Inc. ATI Radeon HD 2600 PRO supported 2 ATI Radeon HD 2600 +ATI Technologies Inc. ATI Radeon HD 2600 PRO OpenGL Engine supported 2 ATI Radeon HD 2600 +ATI Technologies Inc. ATI Radeon HD 2600 Pro supported 2 ATI Radeon HD 2600 +ATI Technologies Inc. ATI Radeon HD 2600 Series supported 2 ATI Radeon HD 2600 +ATI Technologies Inc. ATI Radeon HD 2600 XT supported 2 ATI Radeon HD 2600 +ATI Technologies Inc. ATI Radeon HD 2900 GT supported 3 ATI Radeon HD 2900 +ATI Technologies Inc. ATI Radeon HD 2900 XT supported 3 ATI Radeon HD 2900 +ATI Technologies Inc. ATI Radeon HD 3200 Graphics supported 0 ATI Radeon HD 3200 +ATI Technologies Inc. ATI Radeon HD 3300 Graphics supported 1 ATI Radeon HD 3300 +ATI Technologies Inc. ATI Radeon HD 3400 Series supported 1 ATI Radeon HD 3400 +ATI Technologies Inc. ATI Radeon HD 3450 supported 1 ATI Radeon HD 3400 +ATI Technologies Inc. ATI Radeon HD 3450 - Dell Optiplex supported 1 ATI Radeon HD 3400 +ATI Technologies Inc. ATI Radeon HD 3470 supported 1 ATI Radeon HD 3400 +ATI Technologies Inc. ATI Radeon HD 3470 - Dell Optiplex supported 1 ATI Radeon HD 3400 +ATI Technologies Inc. ATI Radeon HD 3550 UNRECOGNIZED +ATI Technologies Inc. ATI Radeon HD 3600 Series supported 3 ATI Radeon HD 3600 +ATI Technologies Inc. ATI Radeon HD 3650 supported 3 ATI Radeon HD 3600 +ATI Technologies Inc. ATI Radeon HD 3650 AGP supported 3 ATI Radeon HD 3600 +ATI Technologies Inc. ATI Radeon HD 3730 UNRECOGNIZED +ATI Technologies Inc. ATI Radeon HD 3800 Series supported 3 ATI Radeon HD 3800 +ATI Technologies Inc. ATI Radeon HD 3850 supported 3 ATI Radeon HD 3800 +ATI Technologies Inc. ATI Radeon HD 3850 AGP supported 3 ATI Radeon HD 3800 +ATI Technologies Inc. ATI Radeon HD 3870 supported 3 ATI Radeon HD 3800 +ATI Technologies Inc. ATI Radeon HD 3870 X2 supported 3 ATI Radeon HD 3800 +ATI Technologies Inc. ATI Radeon HD 4200 supported 1 ATI Radeon HD 4200 +ATI Technologies Inc. ATI Radeon HD 4250 supported 1 ATI Radeon HD 4200 +ATI Technologies Inc. ATI Radeon HD 4250 Graphics supported 1 ATI Radeon HD 4200 +ATI Technologies Inc. ATI Radeon HD 4270 supported 1 ATI Radeon HD 4200 +ATI Technologies Inc. ATI Radeon HD 4290 supported 1 ATI Radeon HD 4200 +ATI Technologies Inc. ATI Radeon HD 4300 Series supported 1 ATI Radeon HD 4300 +ATI Technologies Inc. ATI Radeon HD 4300/4500 Series supported 1 ATI Radeon HD 4300 +ATI Technologies Inc. ATI Radeon HD 4350 supported 1 ATI Radeon HD 4300 +ATI Technologies Inc. ATI Radeon HD 4350 (Microsoft WDDM 1.1) supported 1 ATI Radeon HD 4300 +ATI Technologies Inc. ATI Radeon HD 4450 UNRECOGNIZED +ATI Technologies Inc. ATI Radeon HD 4500 Series supported 3 ATI Radeon HD 4500 +ATI Technologies Inc. ATI Radeon HD 4550 supported 3 ATI Radeon HD 4500 +ATI Technologies Inc. ATI Radeon HD 4600 Series supported 3 ATI Radeon HD 4600 +ATI Technologies Inc. ATI Radeon HD 4650 supported 3 ATI Radeon HD 4600 +ATI Technologies Inc. ATI Radeon HD 4670 supported 3 ATI Radeon HD 4600 +ATI Technologies Inc. ATI Radeon HD 4670 OpenGL Engine supported 3 ATI Radeon HD 4600 +ATI Technologies Inc. ATI Radeon HD 4700 Series supported 3 ATI Radeon HD 4700 +ATI Technologies Inc. ATI Radeon HD 4720 supported 3 ATI Radeon HD 4700 +ATI Technologies Inc. ATI Radeon HD 4730 supported 3 ATI Radeon HD 4700 +ATI Technologies Inc. ATI Radeon HD 4730 Series supported 3 ATI Radeon HD 4700 +ATI Technologies Inc. ATI Radeon HD 4750 supported 3 ATI Radeon HD 4700 +ATI Technologies Inc. ATI Radeon HD 4770 supported 3 ATI Radeon HD 4700 +ATI Technologies Inc. ATI Radeon HD 4800 Series supported 3 ATI Radeon HD 4800 +ATI Technologies Inc. ATI Radeon HD 4850 supported 3 ATI Radeon HD 4800 +ATI Technologies Inc. ATI Radeon HD 4850 OpenGL Engine supported 3 ATI Radeon HD 4800 +ATI Technologies Inc. ATI Radeon HD 4850 Series supported 3 ATI Radeon HD 4800 +ATI Technologies Inc. ATI Radeon HD 4870 supported 3 ATI Radeon HD 4800 +ATI Technologies Inc. ATI Radeon HD 4870 OpenGL Engine supported 3 ATI Radeon HD 4800 +ATI Technologies Inc. ATI Radeon HD 4870 X2 supported 3 ATI Radeon HD 4800 +ATI Technologies Inc. ATI Radeon HD 5400 Series supported 3 ATI Radeon HD 5400 +ATI Technologies Inc. ATI Radeon HD 5450 supported 3 ATI Radeon HD 5400 +ATI Technologies Inc. ATI Radeon HD 5500 Series supported 3 ATI Radeon HD 5500 +ATI Technologies Inc. ATI Radeon HD 5570 supported 3 ATI Radeon HD 5500 +ATI Technologies Inc. ATI Radeon HD 5600 Series supported 3 ATI Radeon HD 5600 +ATI Technologies Inc. ATI Radeon HD 5630 supported 3 ATI Radeon HD 5600 +ATI Technologies Inc. ATI Radeon HD 5670 supported 3 ATI Radeon HD 5600 +ATI Technologies Inc. ATI Radeon HD 5670 OpenGL Engine supported 3 ATI Radeon HD 5600 +ATI Technologies Inc. ATI Radeon HD 5700 Series supported 3 ATI Radeon HD 5700 +ATI Technologies Inc. ATI Radeon HD 5750 supported 3 ATI Radeon HD 5700 +ATI Technologies Inc. ATI Radeon HD 5750 OpenGL Engine supported 3 ATI Radeon HD 5700 +ATI Technologies Inc. ATI Radeon HD 5770 supported 3 ATI Radeon HD 5700 +ATI Technologies Inc. ATI Radeon HD 5770 OpenGL Engine supported 3 ATI Radeon HD 5700 +ATI Technologies Inc. ATI Radeon HD 5800 Series supported 3 ATI Radeon HD 5800 +ATI Technologies Inc. ATI Radeon HD 5850 supported 3 ATI Radeon HD 5800 +ATI Technologies Inc. ATI Radeon HD 5870 supported 3 ATI Radeon HD 5800 +ATI Technologies Inc. ATI Radeon HD 5870 OpenGL Engine supported 3 ATI Radeon HD 5800 +ATI Technologies Inc. ATI Radeon HD 5900 Series supported 3 ATI Radeon HD 5900 +ATI Technologies Inc. ATI Radeon HD 5970 supported 3 ATI Radeon HD 5900 +ATI Technologies Inc. ATI Radeon HD 6230 supported 2 ATI Radeon HD 6200 +ATI Technologies Inc. ATI Radeon HD 6250 supported 2 ATI Radeon HD 6200 +ATI Technologies Inc. ATI Radeon HD 6350 supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. ATI Radeon HD 6390 supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. ATI Radeon HD 6490M OpenGL Engine supported 3 ATI Radeon HD 6400 +ATI Technologies Inc. ATI Radeon HD 6510 supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. ATI Radeon HD 6570M supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. ATI Radeon HD 6750 supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. ATI Radeon HD 6750M OpenGL Engine supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. ATI Radeon HD 6770 supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. ATI Radeon HD 6770M OpenGL Engine supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. ATI Radeon HD 6800 Series supported 3 ATI Radeon HD 6800 +ATI Technologies Inc. ATI Radeon HD 6970M OpenGL Engine supported 3 ATI Radeon HD 6900 +ATI Technologies Inc. ATI Radeon HD3750 UNRECOGNIZED +ATI Technologies Inc. ATI Radeon HD4300/HD4500 series supported 1 ATI Radeon HD 4300 +ATI Technologies Inc. ATI Radeon HD4670 supported 3 ATI Radeon HD 4600 +ATI Technologies Inc. ATI Radeon Juniper LE Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon RV710 Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon RV730 Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon RV770 Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon RV790 Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon Redwood PRO Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon Redwood XT Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon Whistler PRO/LP Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon X1050 supported 0 ATI Radeon X1000 +ATI Technologies Inc. ATI Radeon X1050 Series supported 0 ATI Radeon X1000 +ATI Technologies Inc. ATI Radeon X1200 supported 0 ATI Radeon X1200 +ATI Technologies Inc. ATI Radeon X1200 Series supported 0 ATI Radeon X1200 +ATI Technologies Inc. ATI Radeon X1200 Series x86/MMX/3DNow!/SSE2 supported 0 ATI Radeon X1200 +ATI Technologies Inc. ATI Radeon X1250 supported 0 ATI Radeon X1200 +ATI Technologies Inc. ATI Radeon X1250 x86/MMX/3DNow!/SSE2 supported 0 ATI Radeon X1200 +ATI Technologies Inc. ATI Radeon X1270 supported 0 ATI Radeon X1200 +ATI Technologies Inc. ATI Radeon X1270 x86/MMX/3DNow!/SSE2 supported 0 ATI Radeon X1200 +ATI Technologies Inc. ATI Radeon X1300/X1550 Series supported 1 ATI Radeon X1300 +ATI Technologies Inc. ATI Radeon X1550 Series supported 1 ATI Radeon X1500 +ATI Technologies Inc. ATI Radeon X1600 OpenGL Engine supported 1 ATI Radeon X1600 +ATI Technologies Inc. ATI Radeon X1900 OpenGL Engine supported 3 ATI Radeon X1900 +ATI Technologies Inc. ATI Radeon X1950 GT supported 3 ATI Radeon X1900 +ATI Technologies Inc. ATI Radeon X300/X550/X1050 Series supported 0 ATI Radeon X300 +ATI Technologies Inc. ATI Radeon Xpress 1100 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1150 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1150 x86/MMX/3DNow!/SSE2 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1200 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1200 Series unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1200 Series x86/MMX/3DNow!/SSE2 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1200 x86/MMX/3DNow!/SSE2 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1250 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1250 x86/SSE2 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress Series unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Yamaha HD 9000 UNRECOGNIZED +ATI Technologies Inc. ATi RS880M UNRECOGNIZED +ATI Technologies Inc. Carte graphique VGA standard UNRECOGNIZED +ATI Technologies Inc. Diamond Radeon X1550 Series supported 1 ATI Radeon X1500 +ATI Technologies Inc. EG JUNIPER UNRECOGNIZED +ATI Technologies Inc. EG PARK UNRECOGNIZED +ATI Technologies Inc. FireGL V3100 Pentium 4 (SSE2) supported 0 ATI FireGL +ATI Technologies Inc. FireMV 2400 PCI DDR x86 unsupported 0 ATI FireMV +ATI Technologies Inc. FireMV 2400 PCI DDR x86/SSE2 unsupported 0 ATI FireMV +ATI Technologies Inc. GeCube Radeon X1550 supported 1 ATI Radeon X1500 +ATI Technologies Inc. Geforce 9500 GT UNRECOGNIZED +ATI Technologies Inc. Geforce 9500GT UNRECOGNIZED +ATI Technologies Inc. Geforce 9800 GT UNRECOGNIZED +ATI Technologies Inc. HD3730 UNRECOGNIZED +ATI Technologies Inc. HIGHTECH EXCALIBUR RADEON 9550SE Series UNRECOGNIZED +ATI Technologies Inc. HIGHTECH EXCALIBUR X700 PRO UNRECOGNIZED +ATI Technologies Inc. M21 x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. M76M supported 3 ATI M76 +ATI Technologies Inc. MOBILITY RADEON 7500 DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON 9000 DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON 9000 IGPRADEON 9100 IGP DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON 9600 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON 9700 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON X300 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON X600 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON X700 SE x86 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON X700 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MSI RX9550SE supported 1 ATI Radeon RX9550 +ATI Technologies Inc. Mobility Radeon X2300 HD supported 0 ATI Mobility Radeon +ATI Technologies Inc. Mobility Radeon X2300 HD x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. RADEON 7000 DDR x86/MMX/3DNow!/SSE UNRECOGNIZED +ATI Technologies Inc. RADEON 7000 DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 7500 DDR x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 7500 DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9100 IGP DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9200 DDR x86/MMX/3DNow!/SSE UNRECOGNIZED +ATI Technologies Inc. RADEON 9200 DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9200 PRO DDR x86/MMX/3DNow!/SSE UNRECOGNIZED +ATI Technologies Inc. RADEON 9200 Series DDR x86/MMX/3DNow!/SSE UNRECOGNIZED +ATI Technologies Inc. RADEON 9200 Series DDR x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9200 Series DDR x86/SSE UNRECOGNIZED +ATI Technologies Inc. RADEON 9200 Series DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9200SE DDR x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9200SE DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9250/9200 Series DDR x86/MMX/3DNow!/SSE UNRECOGNIZED +ATI Technologies Inc. RADEON 9250/9200 Series DDR x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9250/9200 Series DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9500 UNRECOGNIZED +ATI Technologies Inc. RADEON 9550 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9600 SERIES UNRECOGNIZED +ATI Technologies Inc. RADEON 9600 SERIES x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9600 TX x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9600 x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9600 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9700 PRO x86/MMX/3DNow!/SSE UNRECOGNIZED +ATI Technologies Inc. RADEON 9800 PRO UNRECOGNIZED +ATI Technologies Inc. RADEON 9800 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON IGP 340M DDR x86/SSE2 unsupported 0 ATI IGP 340M +ATI Technologies Inc. RADEON X300 Series x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X300 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X300/X550 Series x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X550 x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X550 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X600 Series UNRECOGNIZED +ATI Technologies Inc. RADEON X600 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X700 PRO x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X800 SE x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X800GT UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS 200 Series SW TCL x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS 200 Series SW TCL x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS 200 Series x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS 200M Series x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS 200M Series x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS Series x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS Series x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RS740 UNRECOGNIZED +ATI Technologies Inc. RS780C UNRECOGNIZED +ATI Technologies Inc. RS780M UNRECOGNIZED +ATI Technologies Inc. RS880 UNRECOGNIZED +ATI Technologies Inc. RV410 Pro x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RV790 UNRECOGNIZED +ATI Technologies Inc. Radeon (TM) HD 6470M UNRECOGNIZED +ATI Technologies Inc. Radeon (TM) HD 6490M UNRECOGNIZED +ATI Technologies Inc. Radeon (TM) HD 6770M UNRECOGNIZED +ATI Technologies Inc. Radeon 7000 DDR x86/SSE2 supported 0 ATI Radeon 7xxx +ATI Technologies Inc. Radeon 7000 SDR x86/SSE2 supported 0 ATI Radeon 7xxx +ATI Technologies Inc. Radeon 7500 DDR x86/SSE2 supported 0 ATI Radeon 7xxx +ATI Technologies Inc. Radeon 9000 DDR x86/SSE2 supported 0 ATI Radeon 9000 +ATI Technologies Inc. Radeon DDR x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. Radeon DDR x86/SSE UNRECOGNIZED +ATI Technologies Inc. Radeon DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. Radeon HD 6310 supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. Radeon HD 6800 Series supported 3 ATI Radeon HD 6800 +ATI Technologies Inc. Radeon SDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. Radeon X1300 Series supported 1 ATI Radeon X1300 +ATI Technologies Inc. Radeon X1300 Series x86/MMX/3DNow!/SSE2 supported 1 ATI Radeon X1300 +ATI Technologies Inc. Radeon X1300 Series x86/SSE2 supported 1 ATI Radeon X1300 +ATI Technologies Inc. Radeon X1300/X1550 Series supported 1 ATI Radeon X1300 +ATI Technologies Inc. Radeon X1300/X1550 Series x86/SSE2 supported 1 ATI Radeon X1300 +ATI Technologies Inc. Radeon X1550 64-bit (Microsoft - WDDM) supported 1 ATI Radeon X1500 +ATI Technologies Inc. Radeon X1550 Series supported 1 ATI Radeon X1500 +ATI Technologies Inc. Radeon X1550 Series x86/SSE2 supported 1 ATI Radeon X1500 +ATI Technologies Inc. Radeon X1600 supported 1 ATI Radeon X1600 +ATI Technologies Inc. Radeon X1600 Pro / X1300XT x86/MMX/3DNow!/SSE2 supported 1 ATI Radeon X1600 +ATI Technologies Inc. Radeon X1600 Series x86/SSE2 supported 1 ATI Radeon X1600 +ATI Technologies Inc. Radeon X1600/X1650 Series supported 1 ATI Radeon X1600 +ATI Technologies Inc. Radeon X1650 Series supported 1 ATI Radeon X1600 +ATI Technologies Inc. Radeon X1650 Series x86/MMX/3DNow!/SSE2 supported 1 ATI Radeon X1600 +ATI Technologies Inc. Radeon X1650 Series x86/SSE2 supported 1 ATI Radeon X1600 +ATI Technologies Inc. Radeon X1900 Series x86/MMX/3DNow!/SSE2 supported 3 ATI Radeon X1900 +ATI Technologies Inc. Radeon X1950 Pro supported 3 ATI Radeon X1900 +ATI Technologies Inc. Radeon X1950 Pro x86/MMX/3DNow!/SSE2 supported 3 ATI Radeon X1900 +ATI Technologies Inc. Radeon X1950 Series supported 3 ATI Radeon X1900 +ATI Technologies Inc. Radeon X1950 Series (Microsoft - WDDM) supported 3 ATI Radeon X1900 +ATI Technologies Inc. Radeon X300/X550/X1050 Series supported 0 ATI Radeon X300 +ATI Technologies Inc. Radeon X550/X700 Series supported 0 ATI Radeon X500 +ATI Technologies Inc. Radeon X550XTX x86/MMX/3DNow!/SSE2 supported 0 ATI Radeon X500 +ATI Technologies Inc. SAPPHIRE RADEON X300SE UNRECOGNIZED +ATI Technologies Inc. SAPPHIRE RADEON X300SE x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. SAPPHIRE RADEON X300SE x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. SAPPHIRE Radeon X1550 Series supported 1 ATI Radeon X1500 +ATI Technologies Inc. SAPPHIRE Radeon X1550 Series x86/MMX/3DNow!/SSE2 supported 1 ATI Radeon X1500 +ATI Technologies Inc. Sapphire Radeon HD 3730 UNRECOGNIZED +ATI Technologies Inc. Sapphire Radeon HD 3750 UNRECOGNIZED +ATI Technologies Inc. Standard VGA Graphics Adapter UNRECOGNIZED +ATI Technologies Inc. Tul, RADEON X600 PRO UNRECOGNIZED +ATI Technologies Inc. Tul, RADEON X600 PRO x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. Tul, RADEON X700 PRO UNRECOGNIZED +ATI Technologies Inc. Tul, RADEON X700 PRO x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. VisionTek Radeon 4350 UNRECOGNIZED +ATI Technologies Inc. VisionTek Radeon X1550 Series supported 1 ATI Radeon X1500 +ATI Technologies Inc. WRESTLER 9802 UNRECOGNIZED +ATI Technologies Inc. WRESTLER 9803 UNRECOGNIZED +ATI Technologies Inc. XFX Radeon HD 4570 supported 3 ATI Radeon HD 4500 +ATI Technologies Inc. Yamaha ATI HD 9000da/s UNRECOGNIZED +ATI Technologies Inc. Yamaha ATI HD 9000da/s 2048 UNRECOGNIZED +Advanced Micro Devices, Inc. Mesa DRI R600 (RS780 9612) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RS880 9710) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RS880 9712) 20090101 TCL unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV610 94C1) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV610 94C9) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV620 95C4) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV620 95C5) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV620 95C5) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV635 9596) 20090101 x86/MMX+/3DNow!+/SSE TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV670 9505) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV710 9552) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV730 9490) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV730 9490) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV730 9498) 20090101 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV770 9440) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV770 9442) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +Alex Mohr GL Hijacker! UNRECOGNIZED +Apple Software Renderer unsupported 0 Apple Software Renderer +DRI R300 Project Mesa DRI R300 (RS400 5954) 20090101 x86/MMX+/3DNow!+/SSE2 NO-TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RS400 5975) 20090101 x86/MMX+/3DNow!+/SSE2 NO-TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RS400 5A62) 20090101 x86/MMX/SSE2 NO-TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RS600 7941) 20090101 x86/MMX/SSE2 NO-TCL unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RS690 791F) 20090101 x86/MMX+/3DNow!+/SSE2 NO-TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV350 4151) 20090101 AGP 4x x86/MMX+/3DNow!+/SSE TCL unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV350 4153) 20090101 AGP 8x x86/MMX+/3DNow!+/SSE TCL unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV380 3150) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV380 3150) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV380 5B60) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV380 5B62) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV515 7145) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV515 7146) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV515 7146) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV515 7149) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV515 714A) 20090101 x86/MMX/SSE2 TCL unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV515 714A) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV530 71C4) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +GPU_CLASS_UNKNOWN UNRECOGNIZED +Humper Chromium UNRECOGNIZED +Intel UNRECOGNIZED +Intel HD Graphics Family supported 0 Intel HD Graphics +Intel 3D-Analyze v2.2 - http://www.tommti-systems.com UNRECOGNIZED +Intel 3D-Analyze v2.3 - http://www.tommti-systems.com UNRECOGNIZED +Intel 4 Series Internal Chipset UNRECOGNIZED +Intel 830M unsupported 0 Intel 830M +Intel 845G unsupported 0 Intel 845G +Intel 855GM unsupported 0 Intel 855GM +Intel 865G unsupported 0 Intel 865G +Intel 915G unsupported 0 Intel 915G +Intel 915GM unsupported 0 Intel 915GM +Intel 945G supported 0 Intel 945G +Intel 945GM supported 0 Intel 945GM +Intel 950 supported 0 Intel 950 +Intel 965 supported 0 Intel 965 +Intel B43 Express Chipset UNRECOGNIZED +Intel Bear Lake unsupported 0 Intel Bear Lake +Intel Broadwater unsupported 0 Intel Broadwater +Intel Brookdale unsupported 0 Intel Brookdale +Intel Cantiga unsupported 0 Intel Cantiga +Intel Eaglelake supported 0 Intel Eaglelake +Intel Familia Mobile 45 Express Chipset (Microsoft Corporation - WDDM 1.1) UNRECOGNIZED +Intel G33 unsupported 0 Intel G33 +Intel G41 supported 0 Intel G41 +Intel G41 Express Chipset supported 0 Intel G41 +Intel G45 supported 0 Intel G45 +Intel G45/G43 Express Chipset supported 0 Intel G45 +Intel Graphics Media Accelerator HD supported 0 Intel Graphics Media HD +Intel HD Graphics supported 0 Intel HD Graphics +Intel HD Graphics 100 supported 0 Intel HD Graphics +Intel HD Graphics 200 supported 0 Intel HD Graphics +Intel HD Graphics 200 BR-1101-00SH supported 0 Intel HD Graphics +Intel HD Graphics 200 BR-1101-00SJ supported 0 Intel HD Graphics +Intel HD Graphics 200 BR-1101-00SK supported 0 Intel HD Graphics +Intel HD Graphics 200 BR-1101-01M5 supported 0 Intel HD Graphics +Intel HD Graphics 200 BR-1101-01M6 supported 0 Intel HD Graphics +Intel HD Graphics BR-1004-01Y1 supported 0 Intel HD Graphics +Intel HD Graphics BR-1006-0364 supported 0 Intel HD Graphics +Intel HD Graphics BR-1006-0365 supported 0 Intel HD Graphics +Intel HD Graphics BR-1006-0366 supported 0 Intel HD Graphics +Intel HD Graphics BR-1007-02G4 supported 0 Intel HD Graphics +Intel HD Graphics BR-1101-04SY supported 0 Intel HD Graphics +Intel HD Graphics BR-1101-04SZ supported 0 Intel HD Graphics +Intel HD Graphics BR-1101-04T0 supported 0 Intel HD Graphics +Intel HD Graphics BR-1101-04T9 supported 0 Intel HD Graphics +Intel HD Graphics Family supported 0 Intel HD Graphics +Intel HD Graphics Family BR-1012-00Y8 supported 0 Intel HD Graphics +Intel HD Graphics Family BR-1012-00YF supported 0 Intel HD Graphics +Intel HD Graphics Family BR-1012-00ZD supported 0 Intel HD Graphics +Intel HD Graphics Family BR-1102-00ML supported 0 Intel HD Graphics +Intel Inc. Intel GMA 900 OpenGL Engine UNRECOGNIZED +Intel Inc. Intel GMA 950 OpenGL Engine supported 0 Intel 950 +Intel Inc. Intel GMA X3100 OpenGL Engine supported 0 Intel X3100 +Intel Inc. Intel HD Graphics 3000 OpenGL Engine supported 0 Intel HD Graphics +Intel Inc. Intel HD Graphics OpenGL Engine supported 0 Intel HD Graphics +Intel Inc. Intel HD xxxx OpenGL Engine UNRECOGNIZED +Intel Intel 845G unsupported 0 Intel 845G +Intel Intel 855GM unsupported 0 Intel 855GM +Intel Intel 865G unsupported 0 Intel 865G +Intel Intel 915G unsupported 0 Intel 915G +Intel Intel 915GM unsupported 0 Intel 915GM +Intel Intel 945G supported 0 Intel 945G +Intel Intel 945GM supported 0 Intel 945GM +Intel Intel 965/963 Graphics Media Accelerator supported 0 Intel 965 +Intel Intel Bear Lake B unsupported 0 Intel Bear Lake +Intel Intel Broadwater G unsupported 0 Intel Broadwater +Intel Intel Brookdale-G unsupported 0 Intel Brookdale +Intel Intel Calistoga UNRECOGNIZED +Intel Intel Cantiga unsupported 0 Intel Cantiga +Intel Intel Eaglelake supported 0 Intel Eaglelake +Intel Intel Grantsdale-G UNRECOGNIZED +Intel Intel HD Graphics 3000 supported 0 Intel HD Graphics +Intel Intel Lakeport UNRECOGNIZED +Intel Intel Montara-GM unsupported 0 Intel Montara +Intel Intel Pineview Platform supported 0 Intel Pineview +Intel Intel Springdale-G unsupported 0 Intel Springdale +Intel Mobile - famiglia Express Chipset 45 (Microsoft Corporation - WDDM 1.1) UNRECOGNIZED +Intel Mobile 4 Series supported 0 Intel Mobile 4 Series +Intel Mobile 4 Series Express Chipset Family supported 0 Intel Mobile 4 Series +Intel Mobile 45 Express Chipset Family (Microsoft Corporation - WDDM 1.1) UNRECOGNIZED +Intel Mobile HD Graphics supported 0 Intel HD Graphics +Intel Mobile SandyBridge HD Graphics supported 0 Intel HD Graphics +Intel Montara unsupported 0 Intel Montara +Intel Pineview supported 0 Intel Pineview +Intel Q45/Q43 Express Chipset UNRECOGNIZED +Intel Royal BNA Driver UNRECOGNIZED +Intel SandyBridge HD Graphics supported 0 Intel HD Graphics +Intel SandyBridge HD Graphics BR-1006-00V8 supported 0 Intel HD Graphics +Intel Springdale unsupported 0 Intel Springdale +Intel X3100 supported 0 Intel X3100 +Intergraph wcgdrv 06.05.06.18 UNRECOGNIZED +Intergraph wcgdrv 06.06.00.35 UNRECOGNIZED +LegendgrafiX Mobile 945 Express C/TitaniumGL/GAC/D3D ACCELERATION/6x86/1 THREADs | http://Legendgra... UNRECOGNIZED +LegendgrafiX NVIDIA GeForce GT 430/TitaniumGL/GAC/D3D ACCELERATION/6x86/1 THREADs | http://Legendgr... supported 3 NVIDIA GT 430 +Linden Lab Headless UNRECOGNIZED +Matrox unsupported 0 Matrox +Mesa unsupported 0 Mesa +Mesa Project Software Rasterizer unsupported 0 Mesa +NVIDIA /PCI/SSE2 UNRECOGNIZED +NVIDIA /PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA 205 UNRECOGNIZED +NVIDIA 210 UNRECOGNIZED +NVIDIA 310 UNRECOGNIZED +NVIDIA 310M UNRECOGNIZED +NVIDIA 315 UNRECOGNIZED +NVIDIA 315M UNRECOGNIZED +NVIDIA 320M UNRECOGNIZED +NVIDIA C51 supported 0 NVIDIA C51 +NVIDIA D10M2-20/PCI/SSE2 UNRECOGNIZED +NVIDIA D10P1-25/PCI/SSE2 UNRECOGNIZED +NVIDIA D10P1-30/PCI/SSE2 UNRECOGNIZED +NVIDIA D10P2-50/PCI/SSE2 UNRECOGNIZED +NVIDIA D11M2-30/PCI/SSE2 UNRECOGNIZED +NVIDIA D12-P1-35/PCI/SSE2 UNRECOGNIZED +NVIDIA D12U-15/PCI/SSE2 UNRECOGNIZED +NVIDIA D13M1-40/PCI/SSE2 UNRECOGNIZED +NVIDIA D13P1-40/PCI/SSE2 UNRECOGNIZED +NVIDIA D13U-10/PCI/SSE2 UNRECOGNIZED +NVIDIA D13U/PCI/SSE2 UNRECOGNIZED +NVIDIA D9M supported 1 NVIDIA D9M +NVIDIA D9M-20/PCI/SSE2 supported 1 NVIDIA D9M +NVIDIA Entry Graphics/PCI/SSE2 UNRECOGNIZED +NVIDIA Entry Graphics/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA G 102M UNRECOGNIZED +NVIDIA G 103M UNRECOGNIZED +NVIDIA G 105M UNRECOGNIZED +NVIDIA G 110M UNRECOGNIZED +NVIDIA G100 UNRECOGNIZED +NVIDIA G102M UNRECOGNIZED +NVIDIA G103M UNRECOGNIZED +NVIDIA G105M UNRECOGNIZED +NVIDIA G210 UNRECOGNIZED +NVIDIA G210M UNRECOGNIZED +NVIDIA G70/PCI/SSE2 UNRECOGNIZED +NVIDIA G72 supported 1 NVIDIA G72 +NVIDIA G73 supported 1 NVIDIA G73 +NVIDIA G84 supported 2 NVIDIA G84 +NVIDIA G86 supported 3 NVIDIA G86 +NVIDIA G92 supported 3 NVIDIA G92 +NVIDIA G92-200/PCI/SSE2 supported 3 NVIDIA G92 +NVIDIA G94 supported 3 NVIDIA G94 +NVIDIA G96/PCI/SSE2 UNRECOGNIZED +NVIDIA G98/PCI/SSE2 UNRECOGNIZED +NVIDIA GT 120 UNRECOGNIZED +NVIDIA GT 130 UNRECOGNIZED +NVIDIA GT 130M UNRECOGNIZED +NVIDIA GT 140 UNRECOGNIZED +NVIDIA GT 150 UNRECOGNIZED +NVIDIA GT 160M UNRECOGNIZED +NVIDIA GT 220 UNRECOGNIZED +NVIDIA GT 220/PCI/SSE2 UNRECOGNIZED +NVIDIA GT 220/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA GT 230 UNRECOGNIZED +NVIDIA GT 230M UNRECOGNIZED +NVIDIA GT 240 UNRECOGNIZED +NVIDIA GT 240M UNRECOGNIZED +NVIDIA GT 250M UNRECOGNIZED +NVIDIA GT 260M UNRECOGNIZED +NVIDIA GT 320 UNRECOGNIZED +NVIDIA GT 320M UNRECOGNIZED +NVIDIA GT 330 UNRECOGNIZED +NVIDIA GT 330M UNRECOGNIZED +NVIDIA GT 340 UNRECOGNIZED +NVIDIA GT 420 UNRECOGNIZED +NVIDIA GT 430 UNRECOGNIZED +NVIDIA GT 440 UNRECOGNIZED +NVIDIA GT 450 UNRECOGNIZED +NVIDIA GT 520 UNRECOGNIZED +NVIDIA GT 540 UNRECOGNIZED +NVIDIA GT 540M UNRECOGNIZED +NVIDIA GT-120 UNRECOGNIZED +NVIDIA GT200/PCI/SSE2 UNRECOGNIZED +NVIDIA GTS 150 UNRECOGNIZED +NVIDIA GTS 240 UNRECOGNIZED +NVIDIA GTS 250 UNRECOGNIZED +NVIDIA GTS 350M UNRECOGNIZED +NVIDIA GTS 360 UNRECOGNIZED +NVIDIA GTS 360M UNRECOGNIZED +NVIDIA GTS 450 UNRECOGNIZED +NVIDIA GTX 260 UNRECOGNIZED +NVIDIA GTX 260M UNRECOGNIZED +NVIDIA GTX 270 UNRECOGNIZED +NVIDIA GTX 280 UNRECOGNIZED +NVIDIA GTX 285 UNRECOGNIZED +NVIDIA GTX 290 UNRECOGNIZED +NVIDIA GTX 460 UNRECOGNIZED +NVIDIA GTX 460M UNRECOGNIZED +NVIDIA GTX 465 UNRECOGNIZED +NVIDIA GTX 470 UNRECOGNIZED +NVIDIA GTX 470M UNRECOGNIZED +NVIDIA GTX 480 UNRECOGNIZED +NVIDIA GTX 480M UNRECOGNIZED +NVIDIA GTX 550 Ti UNRECOGNIZED +NVIDIA GTX 560 UNRECOGNIZED +NVIDIA GTX 560 Ti UNRECOGNIZED +NVIDIA GTX 570 UNRECOGNIZED +NVIDIA GTX 580 UNRECOGNIZED +NVIDIA GTX 590 UNRECOGNIZED +NVIDIA GeForce UNRECOGNIZED +NVIDIA GeForce 2 UNRECOGNIZED +NVIDIA GeForce 205/PCI/SSE2 supported 2 NVIDIA 205 +NVIDIA GeForce 210 supported 2 NVIDIA 210 +NVIDIA GeForce 210/PCI/SSE2 supported 2 NVIDIA 210 +NVIDIA GeForce 210/PCI/SSE2/3DNOW! supported 2 NVIDIA 210 +NVIDIA GeForce 3 UNRECOGNIZED +NVIDIA GeForce 305M/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce 310/PCI/SSE2 supported 3 NVIDIA 310 +NVIDIA GeForce 310/PCI/SSE2/3DNOW! supported 3 NVIDIA 310 +NVIDIA GeForce 310M/PCI/SSE2 supported 1 NVIDIA 310M +NVIDIA GeForce 315/PCI/SSE2 supported 3 NVIDIA 315 +NVIDIA GeForce 315/PCI/SSE2/3DNOW! supported 3 NVIDIA 315 +NVIDIA GeForce 315M/PCI/SSE2 supported 2 NVIDIA 315M +NVIDIA GeForce 320M/PCI/SSE2 supported 2 NVIDIA 320M +NVIDIA GeForce 4 Go UNRECOGNIZED +NVIDIA GeForce 4 MX UNRECOGNIZED +NVIDIA GeForce 4 Ti UNRECOGNIZED +NVIDIA GeForce 405/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce 6100 supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6100 nForce 400/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6100 nForce 405/PCI/SSE2 supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6100 nForce 405/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6100 nForce 420/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6100 nForce 430/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6100/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6150 LE/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6150/PCI/SSE2 supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6150/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6150SE nForce 430/PCI/SSE2 supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6150SE nForce 430/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6150SE/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6200 supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200 A-LE/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200 A-LE/AGP/SSE2 supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200 A-LE/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200 LE/PCI/SSE2 supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200 LE/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200 TurboCache(TM)/PCI/SSE2 supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200 TurboCache(TM)/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200/AGP/SSE2 supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200/PCI/SSE/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200/PCI/SSE2 supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200SE TurboCache(TM)/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6500 supported 0 NVIDIA GeForce 6500 +NVIDIA GeForce 6500/PCI/SSE2 supported 0 NVIDIA GeForce 6500 +NVIDIA GeForce 6600 supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600 GT/AGP/SSE/3DNOW! supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600 GT/AGP/SSE2 supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600 GT/PCI/SSE/3DNOW! supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600 GT/PCI/SSE2 supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600 GT/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600 LE/PCI/SSE2 supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600/AGP/SSE/3DNOW! supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600/AGP/SSE2 supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600/AGP/SSE2/3DNOW! supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600/PCI/SSE2 supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6700 supported 2 NVIDIA GeForce 6700 +NVIDIA GeForce 6800 supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 6800 GS/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 6800 GT/AGP/SSE2 supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 6800 GT/PCI/SSE2 supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 6800 XT/AGP/SSE2 supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 6800 XT/PCI/SSE2 supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 6800/PCI/SSE2 supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 6800/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 7000 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7000M supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7000M / nForce 610M/PCI/SSE2 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7000M / nForce 610M/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7025 / NVIDIA nForce 630a/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7025 / nForce 630a/PCI/SSE2 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7025 / nForce 630a/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 / NVIDIA nForce 610i/PCI/SSE2 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 / NVIDIA nForce 620i/PCI/SSE2 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 / nForce 610i/PCI/SSE2 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 / nForce 620i/PCI/SSE2 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 PV / NVIDIA nForce 630a/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 PV / nForce 630a/PCI/SSE2 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 PV / nForce 630a/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 SE / NVIDIA nForce 630a/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7100 supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7100 / NVIDIA nForce 620i/PCI/SSE2 supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7100 / NVIDIA nForce 630i/PCI/SSE2 supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7100 / nForce 630i/PCI/SSE2 supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7100 GS/PCI/SSE2 supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7100 GS/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7150M / nForce 630M/PCI/SSE2 supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7150M / nForce 630M/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7300 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 GS/PCI/SSE2 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 GT/AGP/SSE2 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 GT/AGP/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 GT/PCI/SSE2 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 GT/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 LE/PCI/SSE2 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 LE/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 SE/7200 GS/PCI/SSE2 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 SE/7200 GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 SE/PCI/SSE2 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 SE/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7350 LE/PCI/SSE2 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7500 supported 1 NVIDIA GeForce 7500 +NVIDIA GeForce 7500 LE/PCI/SSE2 supported 1 NVIDIA GeForce 7500 +NVIDIA GeForce 7500 LE/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7500 +NVIDIA GeForce 7600 supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GS/AGP/SSE2 supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GS/AGP/SSE2/3DNOW! supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GS/PCI/SSE2 supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GS/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GT/AGP/SSE/3DNOW! supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GT/AGP/SSE2 supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GT/PCI/SSE2 supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GT/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7650 GS/PCI/SSE2 supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7800 supported 2 NVIDIA GeForce 7800 +NVIDIA GeForce 7800 GS/AGP/SSE2 supported 2 NVIDIA GeForce 7800 +NVIDIA GeForce 7800 GS/AGP/SSE2/3DNOW! supported 2 NVIDIA GeForce 7800 +NVIDIA GeForce 7800 GT/PCI/SSE2 supported 2 NVIDIA GeForce 7800 +NVIDIA GeForce 7800 GTX/PCI/SSE2 supported 2 NVIDIA GeForce 7800 +NVIDIA GeForce 7800 GTX/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7800 +NVIDIA GeForce 7900 supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 7900 GS/PCI/SSE2 supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 7900 GS/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 7900 GT/GTO/PCI/SSE2 supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 7900 GT/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 7900 GTX/PCI/SSE2 supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 7950 GT/PCI/SSE2 supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 7950 GT/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 8100 supported 1 NVIDIA GeForce 8100 +NVIDIA GeForce 8100 / nForce 720a/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8100 +NVIDIA GeForce 8200 supported 1 NVIDIA GeForce 8200 +NVIDIA GeForce 8200/PCI/SSE2 supported 1 NVIDIA GeForce 8200 +NVIDIA GeForce 8200/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8200 +NVIDIA GeForce 8200M supported 1 NVIDIA GeForce 8200M +NVIDIA GeForce 8200M G/PCI/SSE2 supported 1 NVIDIA GeForce 8200M +NVIDIA GeForce 8200M G/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8200M +NVIDIA GeForce 8300 supported 1 NVIDIA GeForce 8300 +NVIDIA GeForce 8300 GS/PCI/SSE2 supported 1 NVIDIA GeForce 8300 +NVIDIA GeForce 8400 supported 1 NVIDIA GeForce 8400 +NVIDIA GeForce 8400 GS/PCI/SSE/3DNOW! supported 1 NVIDIA GeForce 8400 +NVIDIA GeForce 8400 GS/PCI/SSE2 supported 1 NVIDIA GeForce 8400 +NVIDIA GeForce 8400 GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8400 +NVIDIA GeForce 8400/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8400 +NVIDIA GeForce 8400GS/PCI/SSE2 supported 1 NVIDIA GeForce 8400 +NVIDIA GeForce 8400GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8400 +NVIDIA GeForce 8400M supported 1 NVIDIA GeForce 8400M +NVIDIA GeForce 8400M G/PCI/SSE2 supported 1 NVIDIA GeForce 8400M +NVIDIA GeForce 8400M G/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8400M +NVIDIA GeForce 8400M GS/PCI/SSE2 supported 1 NVIDIA GeForce 8400M +NVIDIA GeForce 8400M GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8400M +NVIDIA GeForce 8400M GT/PCI/SSE2 supported 1 NVIDIA GeForce 8400M +NVIDIA GeForce 8500 supported 3 NVIDIA GeForce 8500 +NVIDIA GeForce 8500 GT/PCI/SSE2 supported 3 NVIDIA GeForce 8500 +NVIDIA GeForce 8500 GT/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8500 +NVIDIA GeForce 8600 supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600 GS/PCI/SSE2 supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600 GS/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600 GT/PCI/SSE2 supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600 GT/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600 GTS/PCI/SSE2 supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600 GTS/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600GS/PCI/SSE2 supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600M supported 1 NVIDIA GeForce 8600M +NVIDIA GeForce 8600M GS/PCI/SSE2 supported 1 NVIDIA GeForce 8600M +NVIDIA GeForce 8600M GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8600M +NVIDIA GeForce 8600M GT/PCI/SSE2 supported 1 NVIDIA GeForce 8600M +NVIDIA GeForce 8700 supported 3 NVIDIA GeForce 8700 +NVIDIA GeForce 8700M supported 3 NVIDIA GeForce 8700M +NVIDIA GeForce 8700M GT/PCI/SSE2 supported 3 NVIDIA GeForce 8700M +NVIDIA GeForce 8800 supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GS/PCI/SSE2 supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GT/PCI/SSE2 supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GT/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GTS 512/PCI/SSE2 supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GTS 512/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GTS/PCI/SSE2 supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GTS/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GTX/PCI/SSE2 supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 Ultra/PCI/SSE2 supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800M GTS/PCI/SSE2 supported 3 NVIDIA GeForce 8800M +NVIDIA GeForce 8800M GTX/PCI/SSE2 supported 3 NVIDIA GeForce 8800M +NVIDIA GeForce 9100 supported 0 NVIDIA GeForce 9100 +NVIDIA GeForce 9100/PCI/SSE2 supported 0 NVIDIA GeForce 9100 +NVIDIA GeForce 9100/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 9100 +NVIDIA GeForce 9100M supported 0 NVIDIA GeForce 9100M +NVIDIA GeForce 9100M G/PCI/SSE2 supported 0 NVIDIA GeForce 9100M +NVIDIA GeForce 9100M G/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 9100M +NVIDIA GeForce 9200 supported 1 NVIDIA GeForce 9200 +NVIDIA GeForce 9200/PCI/SSE2 supported 1 NVIDIA GeForce 9200 +NVIDIA GeForce 9200/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9200 +NVIDIA GeForce 9200M GE/PCI/SSE2 supported 1 NVIDIA GeForce 9200M +NVIDIA GeForce 9200M GS/PCI/SSE2 supported 1 NVIDIA GeForce 9200M +NVIDIA GeForce 9300 supported 1 NVIDIA GeForce 9300 +NVIDIA GeForce 9300 / nForce 730i/PCI/SSE2 supported 1 NVIDIA GeForce 9300 +NVIDIA GeForce 9300 GE/PCI/SSE2 supported 1 NVIDIA GeForce 9300 +NVIDIA GeForce 9300 GE/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9300 +NVIDIA GeForce 9300 GS/PCI/SSE2 supported 1 NVIDIA GeForce 9300 +NVIDIA GeForce 9300 GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9300 +NVIDIA GeForce 9300 SE/PCI/SSE2 supported 1 NVIDIA GeForce 9300 +NVIDIA GeForce 9300M supported 1 NVIDIA GeForce 9300M +NVIDIA GeForce 9300M G/PCI/SSE2 supported 1 NVIDIA GeForce 9300M +NVIDIA GeForce 9300M G/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9300M +NVIDIA GeForce 9300M GS/PCI/SSE2 supported 1 NVIDIA GeForce 9300M +NVIDIA GeForce 9300M GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9300M +NVIDIA GeForce 9400 supported 1 NVIDIA GeForce 9400 +NVIDIA GeForce 9400 GT/PCI/SSE2 supported 1 NVIDIA GeForce 9400 +NVIDIA GeForce 9400 GT/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9400 +NVIDIA GeForce 9400/PCI/SSE2 supported 1 NVIDIA GeForce 9400 +NVIDIA GeForce 9400M supported 1 NVIDIA GeForce 9400M +NVIDIA GeForce 9400M G/PCI/SSE2 supported 1 NVIDIA GeForce 9400M +NVIDIA GeForce 9400M/PCI/SSE2 supported 1 NVIDIA GeForce 9400M +NVIDIA GeForce 9500 supported 2 NVIDIA GeForce 9500 +NVIDIA GeForce 9500 GS/PCI/SSE2 supported 2 NVIDIA GeForce 9500 +NVIDIA GeForce 9500 GS/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 9500 +NVIDIA GeForce 9500 GT/PCI/SSE2 supported 2 NVIDIA GeForce 9500 +NVIDIA GeForce 9500 GT/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 9500 +NVIDIA GeForce 9500M supported 2 NVIDIA GeForce 9500M +NVIDIA GeForce 9500M GS/PCI/SSE2 supported 2 NVIDIA GeForce 9500M +NVIDIA GeForce 9600 supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9600 GS/PCI/SSE2 supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9600 GSO 512/PCI/SSE2 supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9600 GSO/PCI/SSE2 supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9600 GSO/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9600 GT/PCI/SSE2 supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9600 GT/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9600M supported 3 NVIDIA GeForce 9600M +NVIDIA GeForce 9600M GS/PCI/SSE2 supported 3 NVIDIA GeForce 9600M +NVIDIA GeForce 9600M GT/PCI/SSE2 supported 3 NVIDIA GeForce 9600M +NVIDIA GeForce 9650M GT/PCI/SSE2 supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9700M supported 2 NVIDIA GeForce 9700M +NVIDIA GeForce 9700M GT/PCI/SSE2 supported 2 NVIDIA GeForce 9700M +NVIDIA GeForce 9700M GTS/PCI/SSE2 supported 2 NVIDIA GeForce 9700M +NVIDIA GeForce 9800 supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800 GT/PCI/SSE2 supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800 GT/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800 GTX+/PCI/SSE2 supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800 GTX+/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800 GTX/9800 GTX+/PCI/SSE2 supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800 GTX/PCI/SSE2 supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800 GX2/PCI/SSE2 supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800M supported 3 NVIDIA GeForce 9800M +NVIDIA GeForce 9800M GS/PCI/SSE2 supported 3 NVIDIA GeForce 9800M +NVIDIA GeForce 9800M GT/PCI/SSE2 supported 3 NVIDIA GeForce 9800M +NVIDIA GeForce 9800M GTS/PCI/SSE2 supported 3 NVIDIA GeForce 9800M +NVIDIA GeForce FX 5100 supported 0 NVIDIA GeForce FX 5100 +NVIDIA GeForce FX 5100/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce FX 5100 +NVIDIA GeForce FX 5200 supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5200/AGP/SSE supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5200/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5200/AGP/SSE2 supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5200/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5200/PCI/SSE2 supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5200/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5200LE/AGP/SSE2 supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5500 supported 0 NVIDIA GeForce FX 5500 +NVIDIA GeForce FX 5500/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce FX 5500 +NVIDIA GeForce FX 5500/AGP/SSE2 supported 0 NVIDIA GeForce FX 5500 +NVIDIA GeForce FX 5500/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5500 +NVIDIA GeForce FX 5500/PCI/SSE2 supported 0 NVIDIA GeForce FX 5500 +NVIDIA GeForce FX 5500/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5500 +NVIDIA GeForce FX 5600 supported 0 NVIDIA GeForce FX 5600 +NVIDIA GeForce FX 5600/AGP/SSE2 supported 0 NVIDIA GeForce FX 5600 +NVIDIA GeForce FX 5600/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5600 +NVIDIA GeForce FX 5600XT/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5600 +NVIDIA GeForce FX 5700 supported 1 NVIDIA GeForce FX 5700 +NVIDIA GeForce FX 5700/AGP/SSE/3DNOW! supported 1 NVIDIA GeForce FX 5700 +NVIDIA GeForce FX 5700LE/AGP/SSE supported 1 NVIDIA GeForce FX 5700 +NVIDIA GeForce FX 5700LE/AGP/SSE/3DNOW! supported 1 NVIDIA GeForce FX 5700 +NVIDIA GeForce FX 5800 supported 1 NVIDIA GeForce FX 5800 +NVIDIA GeForce FX 5900 supported 1 NVIDIA GeForce FX 5900 +NVIDIA GeForce FX 5900/AGP/SSE2 supported 1 NVIDIA GeForce FX 5900 +NVIDIA GeForce FX 5900XT/AGP/SSE2 supported 1 NVIDIA GeForce FX 5900 +NVIDIA GeForce FX Go5100 supported 0 NVIDIA GeForce FX Go5100 +NVIDIA GeForce FX Go5100/AGP/SSE2 supported 0 NVIDIA GeForce FX Go5100 +NVIDIA GeForce FX Go5200 supported 0 NVIDIA GeForce FX Go5200 +NVIDIA GeForce FX Go5200/AGP/SSE2 supported 0 NVIDIA GeForce FX Go5200 +NVIDIA GeForce FX Go5300 supported 0 NVIDIA GeForce FX Go5300 +NVIDIA GeForce FX Go5600 supported 0 NVIDIA GeForce FX Go5600 +NVIDIA GeForce FX Go5600/AGP/SSE2 supported 0 NVIDIA GeForce FX Go5600 +NVIDIA GeForce FX Go5650/AGP/SSE2 supported 0 NVIDIA GeForce FX Go5600 +NVIDIA GeForce FX Go5700 supported 1 NVIDIA GeForce FX Go5700 +NVIDIA GeForce FX Go5xxx/AGP/SSE2 UNRECOGNIZED +NVIDIA GeForce G 103M/PCI/SSE2 supported 0 NVIDIA G103M +NVIDIA GeForce G 105M/PCI/SSE2 supported 0 NVIDIA G105M +NVIDIA GeForce G 110M/PCI/SSE2 supported 0 NVIDIA G 110M +NVIDIA GeForce G100/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce G100/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA GeForce G102M/PCI/SSE2 supported 0 NVIDIA G102M +NVIDIA GeForce G105M/PCI/SSE2 supported 0 NVIDIA G105M +NVIDIA GeForce G200/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce G205M/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce G210/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce G210/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA GeForce G210M/PCI/SSE2 supported 1 NVIDIA G210M +NVIDIA GeForce G310M/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce GT 120/PCI/SSE2 supported 2 NVIDIA GT 120 +NVIDIA GeForce GT 120/PCI/SSE2/3DNOW! supported 2 NVIDIA GT 120 +NVIDIA GeForce GT 120M/PCI/SSE2 supported 2 NVIDIA GT 120M +NVIDIA GeForce GT 130M/PCI/SSE2 supported 2 NVIDIA GT 130M +NVIDIA GeForce GT 140/PCI/SSE2 supported 2 NVIDIA GT 140 +NVIDIA GeForce GT 220/PCI/SSE2 supported 2 NVIDIA GT 220 +NVIDIA GeForce GT 220/PCI/SSE2/3DNOW! supported 2 NVIDIA GT 220 +NVIDIA GeForce GT 220M/PCI/SSE2 supported 2 NVIDIA GT 220M +NVIDIA GeForce GT 230/PCI/SSE2 supported 2 NVIDIA GT 230 +NVIDIA GeForce GT 230M/PCI/SSE2 supported 2 NVIDIA GT 230M +NVIDIA GeForce GT 240 supported 1 NVIDIA GT 240 +NVIDIA GeForce GT 240/PCI/SSE2 supported 1 NVIDIA GT 240 +NVIDIA GeForce GT 240/PCI/SSE2/3DNOW! supported 1 NVIDIA GT 240 +NVIDIA GeForce GT 240M/PCI/SSE2 supported 2 NVIDIA GT 240M +NVIDIA GeForce GT 320/PCI/SSE2 supported 0 NVIDIA GT 320 +NVIDIA GeForce GT 320M/PCI/SSE2 supported 0 NVIDIA GT 320M +NVIDIA GeForce GT 325M/PCI/SSE2 supported 0 NVIDIA GT 325M +NVIDIA GeForce GT 330/PCI/SSE2 supported 1 NVIDIA GT 330 +NVIDIA GeForce GT 330/PCI/SSE2/3DNOW! supported 1 NVIDIA GT 330 +NVIDIA GeForce GT 330M/PCI/SSE2 supported 1 NVIDIA GT 330M +NVIDIA GeForce GT 335M/PCI/SSE2 supported 1 NVIDIA GT 335M +NVIDIA GeForce GT 340/PCI/SSE2 supported 1 NVIDIA GT 340 +NVIDIA GeForce GT 340/PCI/SSE2/3DNOW! supported 1 NVIDIA GT 340 +NVIDIA GeForce GT 415M/PCI/SSE2 supported 2 NVIDIA GT 415M +NVIDIA GeForce GT 420/PCI/SSE2 supported 2 NVIDIA GT 420 +NVIDIA GeForce GT 420M/PCI/SSE2 supported 2 NVIDIA GT 420M +NVIDIA GeForce GT 425M/PCI/SSE2 supported 3 NVIDIA GT 425M +NVIDIA GeForce GT 430/PCI/SSE2 supported 3 NVIDIA GT 430 +NVIDIA GeForce GT 430/PCI/SSE2/3DNOW! supported 3 NVIDIA GT 430 +NVIDIA GeForce GT 435M/PCI/SSE2 supported 3 NVIDIA GT 435M +NVIDIA GeForce GT 440/PCI/SSE2 supported 3 NVIDIA GT 440 +NVIDIA GeForce GT 440/PCI/SSE2/3DNOW! supported 3 NVIDIA GT 440 +NVIDIA GeForce GT 445M/PCI/SSE2 supported 3 NVIDIA GT 445M +NVIDIA GeForce GT 520M/PCI/SSE2 supported 3 NVIDIA GT 520M +NVIDIA GeForce GT 525M/PCI/SSE2 supported 3 NVIDIA GT 525M +NVIDIA GeForce GT 540M/PCI/SSE2 supported 3 NVIDIA GT 540M +NVIDIA GeForce GT 550M/PCI/SSE2 supported 3 NVIDIA GT 550M +NVIDIA GeForce GT 555M/PCI/SSE2 supported 3 NVIDIA GT 555M +NVIDIA GeForce GTS 150/PCI/SSE2 supported 3 NVIDIA GTS 150 +NVIDIA GeForce GTS 160M/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce GTS 240/PCI/SSE2 supported 3 NVIDIA GTS 240 +NVIDIA GeForce GTS 250/PCI/SSE2 supported 3 NVIDIA GTS 250 +NVIDIA GeForce GTS 250/PCI/SSE2/3DNOW! supported 3 NVIDIA GTS 250 +NVIDIA GeForce GTS 250M/PCI/SSE2 supported 3 NVIDIA GTS 250 +NVIDIA GeForce GTS 350M/PCI/SSE2 supported 3 NVIDIA GTS 350M +NVIDIA GeForce GTS 360M/PCI/SSE2 supported 3 NVIDIA GTS 360M +NVIDIA GeForce GTS 450/PCI/SSE2 supported 3 NVIDIA GTS 450 +NVIDIA GeForce GTS 450/PCI/SSE2/3DNOW! supported 3 NVIDIA GTS 450 +NVIDIA GeForce GTS 455/PCI/SSE2 supported 3 NVIDIA GTS 450 +NVIDIA GeForce GTX 260/PCI/SSE2 supported 3 NVIDIA GTX 260 +NVIDIA GeForce GTX 260/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 260 +NVIDIA GeForce GTX 260M/PCI/SSE2 supported 3 NVIDIA GTX 260 +NVIDIA GeForce GTX 275/PCI/SSE2 supported 3 NVIDIA GTX 275 +NVIDIA GeForce GTX 280 supported 3 NVIDIA GTX 280 +NVIDIA GeForce GTX 280/PCI/SSE2 supported 3 NVIDIA GTX 280 +NVIDIA GeForce GTX 280M/PCI/SSE2 supported 3 NVIDIA GTX 280 +NVIDIA GeForce GTX 285/PCI/SSE2 supported 3 NVIDIA GTX 285 +NVIDIA GeForce GTX 295/PCI/SSE2 supported 3 NVIDIA GTX 295 +NVIDIA GeForce GTX 460 SE/PCI/SSE2 supported 3 NVIDIA GTX 460 +NVIDIA GeForce GTX 460 SE/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 460 +NVIDIA GeForce GTX 460/PCI/SSE2 supported 3 NVIDIA GTX 460 +NVIDIA GeForce GTX 460/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 460 +NVIDIA GeForce GTX 460M/PCI/SSE2 supported 3 NVIDIA GTX 460M +NVIDIA GeForce GTX 465/PCI/SSE2 supported 3 NVIDIA GTX 465 +NVIDIA GeForce GTX 465/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 465 +NVIDIA GeForce GTX 470/PCI/SSE2 supported 3 NVIDIA GTX 470 +NVIDIA GeForce GTX 470/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 470 +NVIDIA GeForce GTX 480/PCI/SSE2 supported 3 NVIDIA GTX 480 +NVIDIA GeForce GTX 550 Ti/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce GTX 550 Ti/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA GeForce GTX 560 Ti/PCI/SSE2 supported 3 NVIDIA GTX 560 +NVIDIA GeForce GTX 560 Ti/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 560 +NVIDIA GeForce GTX 560/PCI/SSE2 supported 3 NVIDIA GTX 560 +NVIDIA GeForce GTX 570/PCI/SSE2 supported 3 NVIDIA GTX 570 +NVIDIA GeForce GTX 570/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 570 +NVIDIA GeForce GTX 580/PCI/SSE2 supported 3 NVIDIA GTX 580 +NVIDIA GeForce GTX 580/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 580 +NVIDIA GeForce GTX 580M/PCI/SSE2 supported 3 NVIDIA GTX 580M +NVIDIA GeForce GTX 590/PCI/SSE2 supported 3 NVIDIA GTX 590 +NVIDIA GeForce Go 6 supported 1 NVIDIA GeForce Go 6 +NVIDIA GeForce Go 6100 supported 0 NVIDIA GeForce Go 6100 +NVIDIA GeForce Go 6100/PCI/SSE2 supported 0 NVIDIA GeForce Go 6100 +NVIDIA GeForce Go 6100/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce Go 6100 +NVIDIA GeForce Go 6150/PCI/SSE2 supported 0 NVIDIA GeForce Go 6100 +NVIDIA GeForce Go 6150/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce Go 6100 +NVIDIA GeForce Go 6200 supported 0 NVIDIA GeForce Go 6200 +NVIDIA GeForce Go 6200/PCI/SSE2 supported 0 NVIDIA GeForce Go 6200 +NVIDIA GeForce Go 6400 supported 1 NVIDIA GeForce Go 6400 +NVIDIA GeForce Go 6400/PCI/SSE2 supported 1 NVIDIA GeForce Go 6400 +NVIDIA GeForce Go 6600 supported 1 NVIDIA GeForce Go 6600 +NVIDIA GeForce Go 6600/PCI/SSE2 supported 1 NVIDIA GeForce Go 6600 +NVIDIA GeForce Go 6800 supported 1 NVIDIA GeForce Go 6800 +NVIDIA GeForce Go 6800 Ultra/PCI/SSE2 supported 1 NVIDIA GeForce Go 6800 +NVIDIA GeForce Go 6800/PCI/SSE2 supported 1 NVIDIA GeForce Go 6800 +NVIDIA GeForce Go 7200 supported 1 NVIDIA GeForce Go 7200 +NVIDIA GeForce Go 7200/PCI/SSE2 supported 1 NVIDIA GeForce Go 7200 +NVIDIA GeForce Go 7200/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce Go 7200 +NVIDIA GeForce Go 7300 supported 1 NVIDIA GeForce Go 7300 +NVIDIA GeForce Go 7300/PCI/SSE2 supported 1 NVIDIA GeForce Go 7300 +NVIDIA GeForce Go 7300/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce Go 7300 +NVIDIA GeForce Go 7400 supported 1 NVIDIA GeForce Go 7400 +NVIDIA GeForce Go 7400/PCI/SSE2 supported 1 NVIDIA GeForce Go 7400 +NVIDIA GeForce Go 7400/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce Go 7400 +NVIDIA GeForce Go 7600 supported 2 NVIDIA GeForce Go 7600 +NVIDIA GeForce Go 7600/PCI/SSE2 supported 2 NVIDIA GeForce Go 7600 +NVIDIA GeForce Go 7600/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce Go 7600 +NVIDIA GeForce Go 7700 supported 2 NVIDIA GeForce Go 7700 +NVIDIA GeForce Go 7800 supported 2 NVIDIA GeForce Go 7800 +NVIDIA GeForce Go 7800 GTX/PCI/SSE2 supported 2 NVIDIA GeForce Go 7800 +NVIDIA GeForce Go 7900 supported 2 NVIDIA GeForce Go 7900 +NVIDIA GeForce Go 7900 GS/PCI/SSE2 supported 2 NVIDIA GeForce Go 7900 +NVIDIA GeForce Go 7900 GTX/PCI/SSE2 supported 2 NVIDIA GeForce Go 7900 +NVIDIA GeForce Go 7950 GTX/PCI/SSE2 supported 2 NVIDIA GeForce Go 7900 +NVIDIA GeForce PCX supported 0 NVIDIA GeForce PCX +NVIDIA GeForce2 GTS/AGP/SSE supported 0 NVIDIA GeForce 2 +NVIDIA GeForce2 MX/AGP/3DNOW! supported 0 NVIDIA GeForce 2 +NVIDIA GeForce2 MX/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 2 +NVIDIA GeForce2 MX/AGP/SSE2 supported 0 NVIDIA GeForce 2 +NVIDIA GeForce2 MX/PCI/SSE2 supported 0 NVIDIA GeForce 2 +NVIDIA GeForce3/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 3 +NVIDIA GeForce3/AGP/SSE2 supported 0 NVIDIA GeForce 3 +NVIDIA GeForce4 420 Go 32M/AGP/SSE2 supported 0 NVIDIA GeForce 4 Go +NVIDIA GeForce4 420 Go 32M/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce 4 Go +NVIDIA GeForce4 420 Go 32M/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 4 Go +NVIDIA GeForce4 440 Go 64M/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce 4 Go +NVIDIA GeForce4 460 Go/AGP/SSE2 supported 0 NVIDIA GeForce 4 Go +NVIDIA GeForce4 MX 4000/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 4000/AGP/SSE2 supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 4000/PCI/3DNOW! supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 4000/PCI/SSE/3DNOW! supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 4000/PCI/SSE2 supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 420/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 420/AGP/SSE2 supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 440 with AGP8X/AGP/SSE2 supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 440/AGP/SSE2 supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 440/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 440SE with AGP8X/AGP/SSE2 supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX Integrated GPU/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 Ti 4200 with AGP8X/AGP/SSE supported 0 NVIDIA GeForce 4 Ti +NVIDIA GeForce4 Ti 4200/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 4 Ti +NVIDIA GeForce4 Ti 4400/AGP/SSE2 supported 0 NVIDIA GeForce 4 Ti +NVIDIA Generic UNRECOGNIZED +NVIDIA ION LE/PCI/SSE2 supported 2 NVIDIA ION +NVIDIA ION/PCI/SSE2 supported 2 NVIDIA ION +NVIDIA ION/PCI/SSE2/3DNOW! supported 2 NVIDIA ION +NVIDIA MCP61/PCI/SSE2 UNRECOGNIZED +NVIDIA MCP61/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA MCP73/PCI/SSE2 UNRECOGNIZED +NVIDIA MCP79MH/PCI/SSE2 UNRECOGNIZED +NVIDIA MCP79MX/PCI/SSE2 UNRECOGNIZED +NVIDIA MCP7A-O/PCI/SSE2 UNRECOGNIZED +NVIDIA MCP7A-S/PCI/SSE2 UNRECOGNIZED +NVIDIA MCP89-EPT/PCI/SSE2 UNRECOGNIZED +NVIDIA N10M-GE1/PCI/SSE2 UNRECOGNIZED +NVIDIA N10P-GE1/PCI/SSE2 UNRECOGNIZED +NVIDIA N10P-GV2/PCI/SSE2 UNRECOGNIZED +NVIDIA N11M-GE1/PCI/SSE2 UNRECOGNIZED +NVIDIA N11M-GE2/PCI/SSE2 UNRECOGNIZED +NVIDIA N12E-GS-A1/PCI/SSE2 UNRECOGNIZED +NVIDIA NB9M-GE/PCI/SSE2 UNRECOGNIZED +NVIDIA NB9M-GE1/PCI/SSE2 UNRECOGNIZED +NVIDIA NB9M-GS/PCI/SSE2 UNRECOGNIZED +NVIDIA NB9M-NS/PCI/SSE2 UNRECOGNIZED +NVIDIA NB9P-GE1/PCI/SSE2 UNRECOGNIZED +NVIDIA NB9P-GS/PCI/SSE2 UNRECOGNIZED +NVIDIA NV17/AGP/3DNOW! UNRECOGNIZED +NVIDIA NV17/AGP/SSE2 UNRECOGNIZED +NVIDIA NV34 supported 0 NVIDIA NV34 +NVIDIA NV35 supported 0 NVIDIA NV35 +NVIDIA NV36/AGP/SSE/3DNOW! UNRECOGNIZED +NVIDIA NV36/AGP/SSE2 UNRECOGNIZED +NVIDIA NV41/PCI/SSE2 UNRECOGNIZED +NVIDIA NV43 supported 1 NVIDIA NV43 +NVIDIA NV44 supported 1 NVIDIA NV44 +NVIDIA NVIDIA GeForce 210 OpenGL Engine supported 2 NVIDIA 210 +NVIDIA NVIDIA GeForce 320M OpenGL Engine supported 2 NVIDIA 320M +NVIDIA NVIDIA GeForce 7300 GT OpenGL Engine supported 1 NVIDIA GeForce 7300 +NVIDIA NVIDIA GeForce 7600 GT OpenGL Engine supported 2 NVIDIA GeForce 7600 +NVIDIA NVIDIA GeForce 8600M GT OpenGL Engine supported 1 NVIDIA GeForce 8600M +NVIDIA NVIDIA GeForce 8800 GS OpenGL Engine supported 3 NVIDIA GeForce 8800 +NVIDIA NVIDIA GeForce 8800 GT OpenGL Engine supported 3 NVIDIA GeForce 8800 +NVIDIA NVIDIA GeForce 9400 OpenGL Engine supported 1 NVIDIA GeForce 9400 +NVIDIA NVIDIA GeForce 9400M OpenGL Engine supported 1 NVIDIA GeForce 9400M +NVIDIA NVIDIA GeForce 9500 GT OpenGL Engine supported 2 NVIDIA GeForce 9500 +NVIDIA NVIDIA GeForce 9600M GT OpenGL Engine supported 3 NVIDIA GeForce 9600M +NVIDIA NVIDIA GeForce GT 120 OpenGL Engine supported 2 NVIDIA GT 120 +NVIDIA NVIDIA GeForce GT 130 OpenGL Engine supported NVIDIA GT 130 +NVIDIA NVIDIA GeForce GT 220 OpenGL Engine supported 2 NVIDIA GT 220 +NVIDIA NVIDIA GeForce GT 230M OpenGL Engine supported 2 NVIDIA GT 230M +NVIDIA NVIDIA GeForce GT 240M OpenGL Engine supported 2 NVIDIA GT 240M +NVIDIA NVIDIA GeForce GT 330M OpenGL Engine supported 1 NVIDIA GT 330M +NVIDIA NVIDIA GeForce GT 420M OpenGL Engine supported 2 NVIDIA GT 420M +NVIDIA NVIDIA GeForce GT 425M OpenGL Engine supported 3 NVIDIA GT 425M +NVIDIA NVIDIA GeForce GT 430 OpenGL Engine supported 3 NVIDIA GT 430 +NVIDIA NVIDIA GeForce GT 440 OpenGL Engine supported 3 NVIDIA GT 440 +NVIDIA NVIDIA GeForce GT 540M OpenGL Engine supported 3 NVIDIA GT 540M +NVIDIA NVIDIA GeForce GTS 240 OpenGL Engine supported 3 NVIDIA GTS 240 +NVIDIA NVIDIA GeForce GTS 250 OpenGL Engine supported 3 NVIDIA GTS 250 +NVIDIA NVIDIA GeForce GTS 450 OpenGL Engine supported 3 NVIDIA GTS 450 +NVIDIA NVIDIA GeForce GTX 285 OpenGL Engine supported 3 NVIDIA GTX 285 +NVIDIA NVIDIA GeForce GTX 460 OpenGL Engine supported 3 NVIDIA GTX 460 +NVIDIA NVIDIA GeForce GTX 460M OpenGL Engine supported 3 NVIDIA GTX 460M +NVIDIA NVIDIA GeForce GTX 465 OpenGL Engine supported 3 NVIDIA GTX 465 +NVIDIA NVIDIA GeForce GTX 470 OpenGL Engine supported 3 NVIDIA GTX 470 +NVIDIA NVIDIA GeForce GTX 480 OpenGL Engine supported 3 NVIDIA GTX 480 +NVIDIA NVIDIA GeForce Pre-Release ION OpenGL Engine UNRECOGNIZED +NVIDIA NVIDIA GeForce4 OpenGL Engine UNRECOGNIZED +NVIDIA NVIDIA NV34MAP OpenGL Engine supported 0 NVIDIA NV34 +NVIDIA NVIDIA Quadro 4000 OpenGL Engine UNRECOGNIZED +NVIDIA NVIDIA Quadro FX 4800 OpenGL Engine supported 1 NVIDIA Quadro FX +NVIDIA NVS 2100M/PCI/SSE2 UNRECOGNIZED +NVIDIA NVS 300/PCI/SSE2 UNRECOGNIZED +NVIDIA NVS 3100M/PCI/SSE2 UNRECOGNIZED +NVIDIA NVS 4100/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA NVS 4200M/PCI/SSE2 UNRECOGNIZED +NVIDIA NVS 5100M/PCI/SSE2 UNRECOGNIZED +NVIDIA PCI UNRECOGNIZED +NVIDIA Quadro 2000/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro 4000 UNRECOGNIZED +NVIDIA Quadro 4000 OpenGL Engine UNRECOGNIZED +NVIDIA Quadro 4000/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro 5000/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro 5000M/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro 600 UNRECOGNIZED +NVIDIA Quadro 600/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro 600/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA Quadro 6000 UNRECOGNIZED +NVIDIA Quadro 6000/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro CX/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro DCC supported 0 NVIDIA Quadro DCC +NVIDIA Quadro FX supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1100/AGP/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1400/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1500 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1500M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1600M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1700 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1700M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1800 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1800/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1800M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 2500M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 2700M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 2800M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3400 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3450 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3450/4000 SDI/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3500 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3500M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 360M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 370 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 370/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3700 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3700M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 370M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3800 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3800M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 4500 supported 3 NVIDIA Quadro FX 4500 +NVIDIA Quadro FX 4600 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 4800 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 4800/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 560 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 5600 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 570 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 570/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 570M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 580/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 770M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 880M supported 3 NVIDIA Quadro FX 880M +NVIDIA Quadro FX 880M/PCI/SSE2 supported 3 NVIDIA Quadro FX 880M +NVIDIA Quadro FX Go700/AGP/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro NVS supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 110M/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 130M/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 135M/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 140M/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 150M/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 160M/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 210S/PCI/SSE2/3DNOW! supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 285/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 290/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 295/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 320M/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 55/280 PCI/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro PCI-E Series/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA Quadro VX 200/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro/AGP/SSE2 UNRECOGNIZED +NVIDIA Quadro2 supported 0 NVIDIA Quadro2 +NVIDIA Quadro4 supported 0 NVIDIA Quadro4 +NVIDIA RIVA TNT unsupported 0 NVIDIA RIVA TNT +NVIDIA RIVA TNT2/AGP/SSE2 unsupported 0 NVIDIA RIVA TNT +NVIDIA RIVA TNT2/PCI/3DNOW! unsupported 0 NVIDIA RIVA TNT +NVIDIA nForce unsupported 0 NVIDIA nForce +NVIDIA unknown board/AGP/SSE2 UNRECOGNIZED +NVIDIA unknown board/PCI/SSE2 UNRECOGNIZED +NVIDIA unknown board/PCI/SSE2/3DNOW! UNRECOGNIZED +Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 5670 OpenGL Engine supported 3 ATI Radeon HD 5600 +Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 5750 OpenGL Engine supported 3 ATI Radeon HD 5700 +Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 5770 OpenGL Engine supported 3 ATI Radeon HD 5700 +Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6490M OpenGL Engine supported 3 ATI Radeon HD 6400 +Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6750M OpenGL Engine supported 3 ATI Radeon HD 6700 +Parallels and Intel Inc. 3D-Analyze v2.3 - http://www.tommti-systems.com UNRECOGNIZED +Parallels and Intel Inc. Parallels using Intel HD Graphics 3000 OpenGL Engine supported 0 Intel HD Graphics +Parallels and NVIDIA Parallels using NVIDIA GeForce 320M OpenGL Engine supported 2 NVIDIA 320M +Parallels and NVIDIA Parallels using NVIDIA GeForce 9400 OpenGL Engine supported 1 NVIDIA GeForce 9400 +Parallels and NVIDIA Parallels using NVIDIA GeForce GT 120 OpenGL Engine supported 2 NVIDIA GT 120 +Parallels and NVIDIA Parallels using NVIDIA GeForce GT 330M OpenGL Engine supported 1 NVIDIA GT 330M +Radeon RV350 on Gallium UNRECOGNIZED +S3 UNRECOGNIZED +S3 Graphics VIA/S3G UniChrome IGP/MMX/K3D unsupported 0 S3 +S3 Graphics VIA/S3G UniChrome Pro IGP/MMX/SSE unsupported 0 S3 +S3 Graphics, Incorporated ProSavage/Twister unsupported 0 S3 +S3 Graphics, Incorporated S3 Graphics Chrome9 HC unsupported 0 S3 +S3 Graphics, Incorporated S3 Graphics DeltaChrome unsupported 0 S3 +S3 Graphics, Incorporated VIA Chrome9 HC IGP unsupported 0 S3 +SiS unsupported 0 SiS +SiS 661 VGA unsupported 0 SiS +SiS 662 VGA unsupported 0 SiS +SiS 741 VGA unsupported 0 SiS +SiS 760 VGA unsupported 0 SiS +SiS 761GX VGA unsupported 0 SiS +SiS Mirage Graphics3 unsupported 0 SiS +Trident unsupported 0 Trident +Tungsten Graphics unsupported 0 Tungsten Graphics +Tungsten Graphics, Inc Mesa DRI 865G GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 865G GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 915G GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 915G GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 915GM GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 915GM GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 915GM GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945G unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945G GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945G GEM 20100330 DEVELOPMENT unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945G GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GM GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GM GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GM GEM 20100328 2010Q1 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GM GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GME x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GME 20061017 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GME GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GME GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GME GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 965GM GEM 20090326 2009Q1 RC2 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 965GM GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 965GM GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 965GM GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI G33 20061017 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI G33 GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI G33 GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI G41 GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI G41 GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI GMA500 20081116 - 5.0.1.0046 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI IGD GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI IGD GEM 20100330 DEVELOPMENT unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI IGD GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI IGDNG_D GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Ironlake Desktop GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Ironlake Mobile GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset 20080716 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20090712 2009Q2 RC3 x86/MMX... unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20100328 2010Q1 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20100330 DEVELOPMENT unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20100330 DEVELOPMENT x86/MM... unsupported 0 Mesa +Tungsten Graphics, Inc. Mesa DRI R200 (RV280 5964) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +VIA unsupported 0 VIA +VMware, Inc. Gallium 0.3 on SVGA3D; build: RELEASE; UNRECOGNIZED +VMware, Inc. Gallium 0.4 on i915 (chipset: 945GM) UNRECOGNIZED +VMware, Inc. Gallium 0.4 on llvmpipe UNRECOGNIZED +VMware, Inc. Gallium 0.4 on softpipe UNRECOGNIZED +X.Org Gallium 0.4 on AMD BARTS UNRECOGNIZED +X.Org Gallium 0.4 on AMD CEDAR UNRECOGNIZED +X.Org Gallium 0.4 on AMD HEMLOCK UNRECOGNIZED +X.Org Gallium 0.4 on AMD JUNIPER UNRECOGNIZED +X.Org Gallium 0.4 on AMD REDWOOD UNRECOGNIZED +X.Org Gallium 0.4 on AMD RS780 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RS880 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV610 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV620 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV630 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV635 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV710 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV730 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV740 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV770 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI R300 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI R580 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RC410 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RS482 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RS600 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RS690 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RV350 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RV370 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RV410 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RV515 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RV530 supported 1 ATI RV530 +X.Org R300 Project Gallium 0.4 on ATI RV570 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on R420 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on R580 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RC410 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RS480 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RS482 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RS600 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RS690 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RS740 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RV350 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RV370 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RV410 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RV515 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RV530 UNRECOGNIZED +XGI unsupported 0 XGI +nouveau Gallium 0.4 on NV34 UNRECOGNIZED +nouveau Gallium 0.4 on NV36 UNRECOGNIZED +nouveau Gallium 0.4 on NV46 UNRECOGNIZED +nouveau Gallium 0.4 on NV49 UNRECOGNIZED +nouveau Gallium 0.4 on NV4A UNRECOGNIZED +nouveau Gallium 0.4 on NV4B UNRECOGNIZED +nouveau Gallium 0.4 on NV4E UNRECOGNIZED +nouveau Gallium 0.4 on NV50 UNRECOGNIZED +nouveau Gallium 0.4 on NV84 UNRECOGNIZED +nouveau Gallium 0.4 on NV86 UNRECOGNIZED +nouveau Gallium 0.4 on NV92 UNRECOGNIZED +nouveau Gallium 0.4 on NV94 UNRECOGNIZED +nouveau Gallium 0.4 on NV96 UNRECOGNIZED +nouveau Gallium 0.4 on NV98 UNRECOGNIZED +nouveau Gallium 0.4 on NVA0 UNRECOGNIZED +nouveau Gallium 0.4 on NVA3 UNRECOGNIZED +nouveau Gallium 0.4 on NVA5 UNRECOGNIZED +nouveau Gallium 0.4 on NVA8 UNRECOGNIZED +nouveau Gallium 0.4 on NVAA UNRECOGNIZED +nouveau Gallium 0.4 on NVAC UNRECOGNIZED diff --git a/indra/newview/tests/gpus_seen.txt b/indra/newview/tests/gpus_seen.txt new file mode 100644 index 0000000000..c807f22b58 --- /dev/null +++ b/indra/newview/tests/gpus_seen.txt @@ -0,0 +1,1593 @@ +ATI +ATI 3D-Analyze +ATI ASUS A9xxx +ATI ASUS AH24xx +ATI ASUS AH26xx +ATI ASUS AH34xx +ATI ASUS AH36xx +ATI ASUS AH46xx +ATI ASUS AX3xx +ATI ASUS AX5xx +ATI ASUS AX8xx +ATI ASUS EAH38xx +ATI ASUS EAH43xx +ATI ASUS EAH45xx +ATI ASUS EAH48xx +ATI ASUS EAH57xx +ATI ASUS EAH58xx +ATI ASUS X1xxx +ATI All-in-Wonder 9xxx +ATI All-in-Wonder HD +ATI All-in-Wonder PCI-E +ATI All-in-Wonder X1800 +ATI All-in-Wonder X1900 +ATI All-in-Wonder X600 +ATI All-in-Wonder X800 +ATI Diamond X1xxx +ATI Display Adapter +ATI FireGL +ATI FireGL 5200 +ATI FireGL 5xxx +ATI FireMV +ATI Generic +ATI Hercules 9800 +ATI IGP 340M +ATI M52 +ATI M54 +ATI M56 +ATI M71 +ATI M72 +ATI M76 +ATI Mobility Radeon +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 2400 +ATI Mobility Radeon HD 2600 +ATI Mobility Radeon HD 2700 +ATI Mobility Radeon HD 3400 +ATI Mobility Radeon HD 3600 +ATI Mobility Radeon HD 3800 +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 5400 +ATI Mobility Radeon HD 5600 +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 RV380 +ATI RV530 +ATI Radeon 2100 +ATI Radeon 3000 +ATI Radeon 3100 +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 2400 +ATI Radeon HD 2600 +ATI Radeon HD 2900 +ATI Radeon HD 3000 +ATI Radeon HD 3100 +ATI Radeon HD 3200 +ATI Radeon HD 3300 +ATI Radeon HD 3400 +ATI Radeon HD 3600 +ATI Radeon HD 3800 +ATI Radeon HD 4200 +ATI Radeon HD 4300 +ATI Radeon HD 4500 +ATI Radeon HD 4600 +ATI Radeon HD 4700 +ATI Radeon HD 4800 +ATI Radeon HD 5400 +ATI Radeon HD 5500 +ATI Radeon HD 5600 +ATI Radeon HD 5700 +ATI Radeon HD 5800 +ATI Radeon HD 5900 +ATI Radeon HD 6200 +ATI Radeon HD 6300 +ATI Radeon HD 6500 +ATI Radeon HD 6800 +ATI Radeon HD 6900 +ATI Radeon OpenGL +ATI Radeon RV250 +ATI Radeon RV600 +ATI Radeon RX9550 +ATI Radeon VE +ATI Radeon X1000 +ATI Radeon X1200 +ATI Radeon X1300 +ATI Radeon X13xx +ATI Radeon X1400 +ATI Radeon X1500 +ATI Radeon X1600 +ATI Radeon X16xx +ATI Radeon X1700 +ATI Radeon X1800 +ATI Radeon X1900 +ATI Radeon X19xx +ATI Radeon X1xxx +ATI Radeon X300 +ATI Radeon X500 +ATI Radeon X600 +ATI Radeon X700 +ATI Radeon X7xx +ATI Radeon X800 +ATI Radeon Xpress +ATI Rage 128 +ATI Technologies Inc. +ATI Technologies Inc. x86 +ATI Technologies Inc. x86/SSE2 +ATI Technologies Inc. (Vista) ATI Mobility Radeon HD 5730 +ATI Technologies Inc. 256MB ATI Radeon X1300PRO x86/SSE2 +ATI Technologies Inc. AMD 760G +ATI Technologies Inc. AMD 760G (Microsoft WDDM 1.1) +ATI Technologies Inc. AMD 780L +ATI Technologies Inc. AMD FirePro 2270 +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 4250 +ATI Technologies Inc. AMD RADEON HD 6450 +ATI Technologies Inc. AMD Radeon HD 6200 series Graphics +ATI Technologies Inc. AMD Radeon HD 6250 Graphics +ATI Technologies Inc. AMD Radeon HD 6300 series Graphics +ATI Technologies Inc. AMD Radeon HD 6300M Series +ATI Technologies Inc. AMD Radeon HD 6310 Graphics +ATI Technologies Inc. AMD Radeon HD 6310M +ATI Technologies Inc. AMD Radeon HD 6330M +ATI Technologies Inc. AMD Radeon HD 6350 +ATI Technologies Inc. AMD Radeon HD 6370M +ATI Technologies Inc. AMD Radeon HD 6400M Series +ATI Technologies Inc. AMD Radeon HD 6450 +ATI Technologies Inc. AMD Radeon HD 6470M +ATI Technologies Inc. AMD Radeon HD 6490M +ATI Technologies Inc. AMD Radeon HD 6500M/5600/5700 Series +ATI Technologies Inc. AMD Radeon HD 6530M +ATI Technologies Inc. AMD Radeon HD 6550M +ATI Technologies Inc. AMD Radeon HD 6570 +ATI Technologies Inc. AMD Radeon HD 6570M +ATI Technologies Inc. AMD Radeon HD 6570M/5700 Series +ATI Technologies Inc. AMD Radeon HD 6600M Series +ATI Technologies Inc. AMD Radeon HD 6650M +ATI Technologies Inc. AMD Radeon HD 6670 +ATI Technologies Inc. AMD Radeon HD 6700 Series +ATI Technologies Inc. AMD Radeon HD 6750 +ATI Technologies Inc. AMD Radeon HD 6750M +ATI Technologies Inc. AMD Radeon HD 6770 +ATI Technologies Inc. AMD Radeon HD 6800 Series +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 6900 Series +ATI Technologies Inc. AMD Radeon HD 6970M +ATI Technologies Inc. AMD Radeon HD 6990 +ATI Technologies Inc. AMD Radeon(TM) HD 6470M +ATI Technologies Inc. ASUS 5870 Eyefinity 6 +ATI Technologies Inc. ASUS AH2600 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 EAH2900 Series +ATI Technologies Inc. ASUS EAH3450 Series +ATI Technologies Inc. ASUS EAH3650 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 EAH4750 Series +ATI Technologies Inc. ASUS EAH4770 Series +ATI Technologies Inc. ASUS EAH4770 series +ATI Technologies Inc. ASUS EAH4850 series +ATI Technologies Inc. ASUS EAH5450 Series +ATI Technologies Inc. ASUS EAH5550 Series +ATI Technologies Inc. ASUS EAH5570 series +ATI Technologies Inc. ASUS EAH5670 Series +ATI Technologies Inc. ASUS EAH5750 Series +ATI Technologies Inc. ASUS EAH5770 Series +ATI Technologies Inc. ASUS EAH5830 Series +ATI Technologies Inc. ASUS EAH5850 Series +ATI Technologies Inc. ASUS EAH5870 Series +ATI Technologies Inc. ASUS EAH5970 Series +ATI Technologies Inc. ASUS EAH6850 Series +ATI Technologies Inc. ASUS EAH6870 Series +ATI Technologies Inc. ASUS EAH6950 Series +ATI Technologies Inc. ASUS EAH6970 Series +ATI Technologies Inc. ASUS EAHG4670 series +ATI Technologies Inc. ASUS Extreme AX600 Series +ATI Technologies Inc. ASUS Extreme AX600XT-TD +ATI Technologies Inc. ASUS X1300 Series x86/SSE2 +ATI Technologies Inc. ASUS X1550 Series +ATI Technologies Inc. ASUS X1950 Series x86/SSE2 +ATI Technologies Inc. ASUS X800 Series +ATI Technologies Inc. ASUS X850 Series +ATI Technologies Inc. ATI All-in-Wonder HD +ATI Technologies Inc. ATI FirePro 2260 +ATI Technologies Inc. ATI FirePro 2450 +ATI Technologies Inc. ATI FirePro M5800 +ATI Technologies Inc. ATI FirePro M7740 +ATI Technologies Inc. ATI FirePro M7820 +ATI Technologies Inc. ATI FirePro V3700 (FireGL) +ATI Technologies Inc. ATI FirePro V3800 +ATI Technologies Inc. ATI FirePro V4800 +ATI Technologies Inc. ATI FirePro V4800 (FireGL) +ATI Technologies Inc. ATI FirePro V5800 +ATI Technologies Inc. ATI FirePro V7800 +ATI Technologies Inc. ATI MOBILITY RADEON 9XXX x86/SSE2 +ATI Technologies Inc. ATI MOBILITY RADEON HD 3450 +ATI Technologies Inc. ATI MOBILITY RADEON X1600 +ATI Technologies Inc. ATI MOBILITY RADEON X2300 +ATI Technologies Inc. ATI MOBILITY RADEON X2300 HD x86/SSE2 +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 X300 +ATI Technologies Inc. ATI MOBILITY RADEON X600 +ATI Technologies Inc. ATI MOBILITY RADEON XPRESS 200 +ATI Technologies Inc. ATI Mobility FireGL V5700 +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 2400 +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 XT +ATI Technologies Inc. ATI Mobility Radeon HD 2700 +ATI Technologies Inc. ATI Mobility Radeon HD 3400 Series +ATI Technologies Inc. ATI Mobility Radeon HD 3430 +ATI Technologies Inc. ATI Mobility Radeon HD 3450 +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 3650 +ATI Technologies Inc. ATI Mobility Radeon HD 4200 +ATI Technologies Inc. ATI Mobility Radeon HD 4200 Series +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 Graphics +ATI Technologies Inc. ATI Mobility Radeon HD 4270 +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 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/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 4550 +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 Series +ATI Technologies Inc. ATI Mobility Radeon HD 4670 +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 Series +ATI Technologies Inc. ATI Mobility Radeon HD 5145 +ATI Technologies Inc. ATI Mobility Radeon HD 5165 +ATI Technologies Inc. ATI Mobility Radeon HD 530v +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 5470 +ATI Technologies Inc. ATI Mobility Radeon HD 550v +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 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 5850 +ATI Technologies Inc. ATI Mobility Radeon HD 5870 +ATI Technologies Inc. ATI Mobility Radeon HD 6300 series +ATI Technologies Inc. ATI Mobility Radeon HD 6370 +ATI Technologies Inc. ATI Mobility Radeon HD 6470M +ATI Technologies Inc. ATI Mobility Radeon HD 6550 +ATI Technologies Inc. ATI Mobility Radeon HD 6570 +ATI Technologies Inc. ATI Mobility Radeon X1300 +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 x86/SSE2 +ATI Technologies Inc. ATI Mobility Radeon X1600 +ATI Technologies Inc. ATI Mobility Radeon X1600 x86/SSE2 +ATI Technologies Inc. ATI Mobility Radeon X1700 x86/SSE2 +ATI Technologies Inc. ATI Mobility Radeon X2300 +ATI Technologies Inc. ATI Mobility Radeon X2300 (Omega 3.8.442) +ATI Technologies Inc. ATI Mobility Radeon X2300 x86 +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 X2500 x86/SSE2 +ATI Technologies Inc. ATI Mobility Radeon. HD 530v +ATI Technologies Inc. ATI Mobility Radeon. HD 5470 +ATI Technologies Inc. ATI RADEON HD 3200 T25XX by CAMILO +ATI Technologies Inc. ATI RADEON XPRESS 1100 +ATI Technologies Inc. ATI RADEON XPRESS 200 Series +ATI Technologies Inc. ATI RADEON XPRESS 200 Series x86/SSE2 +ATI Technologies Inc. ATI RADEON XPRESS 200M SERIES +ATI Technologies Inc. ATI Radeon +ATI Technologies Inc. ATI Radeon 2100 +ATI Technologies Inc. ATI Radeon 2100 (Microsoft - 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 3100 Graphics +ATI Technologies Inc. ATI Radeon 5xxx series +ATI Technologies Inc. ATI Radeon 9550 / X1050 Series +ATI Technologies Inc. ATI Radeon 9550 / X1050 Series x86/MMX/3DNow!/SSE +ATI Technologies Inc. ATI Radeon 9550 / X1050 Series x86/SSE2 +ATI Technologies Inc. ATI Radeon 9550 / X1050 Series(Microsoft - WDDM) +ATI Technologies Inc. ATI Radeon 9600 / X1050 Series +ATI Technologies Inc. ATI Radeon 9600/9550/X1050 Series +ATI Technologies Inc. ATI Radeon BA Prototype OpenGL Engine +ATI Technologies Inc. ATI Radeon BB Prototype OpenGL Engine +ATI Technologies Inc. ATI Radeon Cedar PRO Prototype OpenGL Engine +ATI Technologies Inc. ATI Radeon Cypress PRO Prototype OpenGL Engine +ATI Technologies Inc. ATI Radeon Graphics Processor +ATI Technologies Inc. ATI Radeon HD 2200 Graphics +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 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 XT +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 +ATI Technologies Inc. ATI Radeon HD 2600 Series +ATI Technologies Inc. ATI Radeon HD 2600 XT +ATI Technologies Inc. ATI Radeon HD 2900 GT +ATI Technologies Inc. ATI Radeon HD 2900 XT +ATI Technologies Inc. ATI Radeon HD 3200 Graphics +ATI Technologies Inc. ATI Radeon HD 3300 Graphics +ATI Technologies Inc. ATI Radeon HD 3400 Series +ATI Technologies Inc. ATI Radeon HD 3450 +ATI Technologies Inc. ATI Radeon HD 3450 - Dell Optiplex +ATI Technologies Inc. ATI Radeon HD 3470 +ATI Technologies Inc. ATI Radeon HD 3470 - Dell Optiplex +ATI Technologies Inc. ATI Radeon HD 3550 +ATI Technologies Inc. ATI Radeon HD 3600 Series +ATI Technologies Inc. ATI Radeon HD 3650 +ATI Technologies Inc. ATI Radeon HD 3650 AGP +ATI Technologies Inc. ATI Radeon HD 3730 +ATI Technologies Inc. ATI Radeon HD 3800 Series +ATI Technologies Inc. ATI Radeon HD 3850 +ATI Technologies Inc. ATI Radeon HD 3850 AGP +ATI Technologies Inc. ATI Radeon HD 3870 +ATI Technologies Inc. ATI Radeon HD 3870 X2 +ATI Technologies Inc. ATI Radeon HD 4200 +ATI Technologies Inc. ATI Radeon HD 4250 +ATI Technologies Inc. ATI Radeon HD 4250 Graphics +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/4500 Series +ATI Technologies Inc. ATI Radeon HD 4350 +ATI Technologies Inc. ATI Radeon HD 4350 (Microsoft WDDM 1.1) +ATI Technologies Inc. ATI Radeon HD 4450 +ATI Technologies Inc. ATI Radeon HD 4500 Series +ATI Technologies Inc. ATI Radeon HD 4550 +ATI Technologies Inc. ATI Radeon HD 4600 Series +ATI Technologies Inc. ATI Radeon HD 4650 +ATI Technologies Inc. ATI Radeon HD 4670 +ATI Technologies Inc. ATI Radeon HD 4670 OpenGL Engine +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 4750 +ATI Technologies Inc. ATI Radeon HD 4770 +ATI Technologies Inc. ATI Radeon HD 4800 Series +ATI Technologies Inc. ATI Radeon HD 4850 +ATI Technologies Inc. ATI Radeon HD 4850 OpenGL Engine +ATI Technologies Inc. ATI Radeon HD 4850 Series +ATI Technologies Inc. ATI Radeon HD 4870 +ATI Technologies Inc. ATI Radeon HD 4870 OpenGL Engine +ATI Technologies Inc. ATI Radeon HD 4870 X2 +ATI Technologies Inc. ATI Radeon HD 5400 Series +ATI Technologies Inc. ATI Radeon HD 5450 +ATI Technologies Inc. ATI Radeon HD 5500 Series +ATI Technologies Inc. ATI Radeon HD 5570 +ATI Technologies Inc. ATI Radeon HD 5600 Series +ATI Technologies Inc. ATI Radeon HD 5630 +ATI Technologies Inc. ATI Radeon HD 5670 +ATI Technologies Inc. ATI Radeon HD 5670 OpenGL Engine +ATI Technologies Inc. ATI Radeon HD 5700 Series +ATI Technologies Inc. ATI Radeon HD 5750 +ATI Technologies Inc. ATI Radeon HD 5750 OpenGL Engine +ATI Technologies Inc. ATI Radeon HD 5770 +ATI Technologies Inc. ATI Radeon HD 5770 OpenGL Engine +ATI Technologies Inc. ATI Radeon HD 5800 Series +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 5900 Series +ATI Technologies Inc. ATI Radeon HD 5970 +ATI Technologies Inc. ATI Radeon HD 6230 +ATI Technologies Inc. ATI Radeon HD 6250 +ATI Technologies Inc. ATI Radeon HD 6350 +ATI Technologies Inc. ATI Radeon HD 6390 +ATI Technologies Inc. ATI Radeon HD 6490M OpenGL Engine +ATI Technologies Inc. ATI Radeon HD 6510 +ATI Technologies Inc. ATI Radeon HD 6570M +ATI Technologies Inc. ATI Radeon HD 6750 +ATI Technologies Inc. ATI Radeon HD 6750M OpenGL Engine +ATI Technologies Inc. ATI Radeon HD 6770 +ATI Technologies Inc. ATI Radeon HD 6770M OpenGL Engine +ATI Technologies Inc. ATI Radeon HD 6800 Series +ATI Technologies Inc. ATI Radeon HD 6970M OpenGL Engine +ATI Technologies Inc. ATI Radeon HD3750 +ATI Technologies Inc. ATI Radeon HD4300/HD4500 series +ATI Technologies Inc. ATI Radeon HD4670 +ATI Technologies Inc. ATI Radeon Juniper LE Prototype OpenGL Engine +ATI Technologies Inc. ATI Radeon RV710 Prototype OpenGL Engine +ATI Technologies Inc. ATI Radeon RV730 Prototype OpenGL Engine +ATI Technologies Inc. ATI Radeon RV770 Prototype OpenGL Engine +ATI Technologies Inc. ATI Radeon RV790 Prototype OpenGL Engine +ATI Technologies Inc. ATI Radeon Redwood PRO Prototype OpenGL Engine +ATI Technologies Inc. ATI Radeon Redwood XT Prototype OpenGL Engine +ATI Technologies Inc. ATI Radeon Whistler PRO/LP Prototype OpenGL Engine +ATI Technologies Inc. ATI Radeon X1050 +ATI Technologies Inc. ATI Radeon X1050 Series +ATI Technologies Inc. ATI Radeon X1200 +ATI Technologies Inc. ATI Radeon X1200 Series +ATI Technologies Inc. ATI Radeon X1200 Series x86/MMX/3DNow!/SSE2 +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 X1550 Series +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 X300/X550/X1050 Series +ATI Technologies Inc. ATI Radeon Xpress 1100 +ATI Technologies Inc. ATI Radeon Xpress 1150 +ATI Technologies Inc. ATI Radeon Xpress 1150 x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. ATI Radeon Xpress 1200 +ATI Technologies Inc. ATI Radeon Xpress 1200 Series +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 1250 +ATI Technologies Inc. ATI Radeon Xpress 1250 x86/SSE2 +ATI Technologies Inc. ATI Radeon Xpress Series +ATI Technologies Inc. ATI Yamaha HD 9000 +ATI Technologies Inc. ATi RS880M +ATI Technologies Inc. Carte graphique VGA standard +ATI Technologies Inc. Diamond Radeon X1550 Series +ATI Technologies Inc. EG JUNIPER +ATI Technologies Inc. EG PARK +ATI Technologies Inc. FireGL V3100 Pentium 4 (SSE2) +ATI Technologies Inc. FireMV 2400 PCI DDR x86 +ATI Technologies Inc. FireMV 2400 PCI DDR x86/SSE2 +ATI Technologies Inc. GeCube Radeon X1550 +ATI Technologies Inc. Geforce 9500 GT +ATI Technologies Inc. Geforce 9500GT +ATI Technologies Inc. Geforce 9800 GT +ATI Technologies Inc. HD3730 +ATI Technologies Inc. HIGHTECH EXCALIBUR RADEON 9550SE Series +ATI Technologies Inc. HIGHTECH EXCALIBUR X700 PRO +ATI Technologies Inc. M21 x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. M76M +ATI Technologies Inc. MOBILITY RADEON 7500 DDR x86/SSE2 +ATI Technologies Inc. MOBILITY RADEON 9000 DDR x86/SSE2 +ATI Technologies Inc. MOBILITY RADEON 9000 IGPRADEON 9100 IGP DDR x86/SSE2 +ATI Technologies Inc. MOBILITY RADEON 9600 x86/SSE2 +ATI Technologies Inc. MOBILITY RADEON 9700 x86/SSE2 +ATI Technologies Inc. MOBILITY RADEON X300 x86/SSE2 +ATI Technologies Inc. MOBILITY RADEON X600 x86/SSE2 +ATI Technologies Inc. MOBILITY RADEON X700 SE x86 +ATI Technologies Inc. MOBILITY RADEON X700 x86/SSE2 +ATI Technologies Inc. MSI RX9550SE +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!/SSE +ATI Technologies Inc. RADEON 7000 DDR x86/SSE2 +ATI Technologies Inc. RADEON 7500 DDR x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. RADEON 7500 DDR x86/SSE2 +ATI Technologies Inc. RADEON 9100 IGP DDR x86/SSE2 +ATI Technologies Inc. RADEON 9200 DDR x86/MMX/3DNow!/SSE +ATI Technologies Inc. RADEON 9200 DDR x86/SSE2 +ATI Technologies Inc. RADEON 9200 PRO DDR x86/MMX/3DNow!/SSE +ATI Technologies Inc. RADEON 9200 Series DDR x86/MMX/3DNow!/SSE +ATI Technologies Inc. RADEON 9200 Series DDR x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. RADEON 9200 Series DDR x86/SSE +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 9250/9200 Series DDR x86/MMX/3DNow!/SSE +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 9550 x86/SSE2 +ATI Technologies Inc. RADEON 9600 SERIES +ATI Technologies Inc. RADEON 9600 SERIES x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. RADEON 9600 TX x86/SSE2 +ATI Technologies Inc. RADEON 9600 x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. RADEON 9600 x86/SSE2 +ATI Technologies Inc. RADEON 9700 PRO x86/MMX/3DNow!/SSE +ATI Technologies Inc. RADEON 9800 PRO +ATI Technologies Inc. RADEON 9800 x86/SSE2 +ATI Technologies Inc. RADEON IGP 340M DDR x86/SSE2 +ATI Technologies Inc. RADEON X300 Series x86/SSE2 +ATI Technologies Inc. RADEON X300 x86/SSE2 +ATI Technologies Inc. RADEON X300/X550 Series x86/SSE2 +ATI Technologies Inc. RADEON X550 x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. RADEON X550 x86/SSE2 +ATI Technologies Inc. RADEON X600 Series +ATI Technologies Inc. RADEON X600 x86/SSE2 +ATI Technologies Inc. RADEON X700 PRO x86/SSE2 +ATI Technologies Inc. RADEON X800 SE x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. RADEON X800GT +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/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 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. RS740 +ATI Technologies Inc. RS780C +ATI Technologies Inc. RS780M +ATI Technologies Inc. RS880 +ATI Technologies Inc. RV410 Pro x86/SSE2 +ATI Technologies Inc. RV790 +ATI Technologies Inc. Radeon (TM) HD 6470M +ATI Technologies Inc. Radeon (TM) HD 6490M +ATI Technologies Inc. Radeon (TM) HD 6770M +ATI Technologies Inc. Radeon 7000 DDR x86/SSE2 +ATI Technologies Inc. Radeon 7000 SDR x86/SSE2 +ATI Technologies Inc. Radeon 7500 DDR x86/SSE2 +ATI Technologies Inc. Radeon 9000 DDR x86/SSE2 +ATI Technologies Inc. Radeon DDR x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. Radeon DDR x86/SSE +ATI Technologies Inc. Radeon DDR x86/SSE2 +ATI Technologies Inc. Radeon HD 6310 +ATI Technologies Inc. Radeon HD 6800 Series +ATI Technologies Inc. Radeon SDR x86/SSE2 +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/X1550 Series +ATI Technologies Inc. Radeon X1300/X1550 Series x86/SSE2 +ATI Technologies Inc. Radeon X1550 64-bit (Microsoft - WDDM) +ATI Technologies Inc. Radeon X1550 Series +ATI Technologies Inc. Radeon X1550 Series x86/SSE2 +ATI Technologies Inc. Radeon X1600 +ATI Technologies Inc. Radeon X1600 Pro / X1300XT x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. Radeon X1600 Series x86/SSE2 +ATI Technologies Inc. Radeon X1600/X1650 Series +ATI Technologies Inc. Radeon X1650 Series +ATI Technologies Inc. Radeon X1650 Series x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. Radeon X1650 Series x86/SSE2 +ATI Technologies Inc. Radeon X1900 Series x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. Radeon X1950 Pro +ATI Technologies Inc. Radeon X1950 Pro x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. Radeon X1950 Series +ATI Technologies Inc. Radeon X1950 Series (Microsoft - WDDM) +ATI Technologies Inc. Radeon X300/X550/X1050 Series +ATI Technologies Inc. Radeon X550/X700 Series +ATI Technologies Inc. Radeon X550XTX x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. SAPPHIRE RADEON X300SE +ATI Technologies Inc. SAPPHIRE RADEON X300SE x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. SAPPHIRE RADEON X300SE x86/SSE2 +ATI Technologies Inc. SAPPHIRE Radeon X1550 Series +ATI Technologies Inc. SAPPHIRE Radeon X1550 Series x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. Sapphire Radeon HD 3730 +ATI Technologies Inc. Sapphire Radeon HD 3750 +ATI Technologies Inc. Standard VGA Graphics Adapter +ATI Technologies Inc. Tul, RADEON X600 PRO +ATI Technologies Inc. Tul, RADEON X600 PRO x86/SSE2 +ATI Technologies Inc. Tul, RADEON X700 PRO +ATI Technologies Inc. Tul, RADEON X700 PRO x86/MMX/3DNow!/SSE2 +ATI Technologies Inc. VisionTek Radeon 4350 +ATI Technologies Inc. VisionTek Radeon X1550 Series +ATI Technologies Inc. WRESTLER 9802 +ATI Technologies Inc. WRESTLER 9803 +ATI Technologies Inc. XFX Radeon HD 4570 +ATI Technologies Inc. Yamaha ATI HD 9000da/s +ATI Technologies Inc. Yamaha ATI HD 9000da/s 2048 +Advanced Micro Devices, Inc. Mesa DRI R600 (RS780 9612) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 +Advanced Micro Devices, Inc. Mesa DRI R600 (RS880 9710) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 +Advanced Micro Devices, Inc. Mesa DRI R600 (RS880 9712) 20090101 TCL +Advanced Micro Devices, Inc. Mesa DRI R600 (RV610 94C1) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 +Advanced Micro Devices, Inc. Mesa DRI R600 (RV610 94C9) 20090101 x86/MMX/SSE2 TCL DRI2 +Advanced Micro Devices, Inc. Mesa DRI R600 (RV620 95C4) 20090101 x86/MMX/SSE2 TCL DRI2 +Advanced Micro Devices, Inc. Mesa DRI R600 (RV620 95C5) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 +Advanced Micro Devices, Inc. Mesa DRI R600 (RV620 95C5) 20090101 x86/MMX/SSE2 TCL DRI2 +Advanced Micro Devices, Inc. Mesa DRI R600 (RV635 9596) 20090101 x86/MMX+/3DNow!+/SSE TCL DRI2 +Advanced Micro Devices, Inc. Mesa DRI R600 (RV670 9505) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 +Advanced Micro Devices, Inc. Mesa DRI R600 (RV710 9552) 20090101 x86/MMX/SSE2 TCL DRI2 +Advanced Micro Devices, Inc. Mesa DRI R600 (RV730 9490) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 +Advanced Micro Devices, Inc. Mesa DRI R600 (RV730 9490) 20090101 x86/MMX/SSE2 TCL DRI2 +Advanced Micro Devices, Inc. Mesa DRI R600 (RV730 9498) 20090101 TCL DRI2 +Advanced Micro Devices, Inc. Mesa DRI R600 (RV770 9440) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 +Advanced Micro Devices, Inc. Mesa DRI R600 (RV770 9442) 20090101 x86/MMX/SSE2 TCL DRI2 +Alex Mohr GL Hijacker! +Apple Software Renderer +DRI R300 Project Mesa DRI R300 (RS400 5954) 20090101 x86/MMX+/3DNow!+/SSE2 NO-TCL DRI2 +DRI R300 Project Mesa DRI R300 (RS400 5975) 20090101 x86/MMX+/3DNow!+/SSE2 NO-TCL DRI2 +DRI R300 Project Mesa DRI R300 (RS400 5A62) 20090101 x86/MMX/SSE2 NO-TCL DRI2 +DRI R300 Project Mesa DRI R300 (RS600 7941) 20090101 x86/MMX/SSE2 NO-TCL +DRI R300 Project Mesa DRI R300 (RS690 791F) 20090101 x86/MMX+/3DNow!+/SSE2 NO-TCL DRI2 +DRI R300 Project Mesa DRI R300 (RV350 4151) 20090101 AGP 4x x86/MMX+/3DNow!+/SSE TCL +DRI R300 Project Mesa DRI R300 (RV350 4153) 20090101 AGP 8x x86/MMX+/3DNow!+/SSE TCL +DRI R300 Project Mesa DRI R300 (RV380 3150) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 +DRI R300 Project Mesa DRI R300 (RV380 3150) 20090101 x86/MMX/SSE2 TCL DRI2 +DRI R300 Project Mesa DRI R300 (RV380 5B60) 20090101 x86/MMX/SSE2 TCL DRI2 +DRI R300 Project Mesa DRI R300 (RV380 5B62) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 +DRI R300 Project Mesa DRI R300 (RV515 7145) 20090101 x86/MMX/SSE2 TCL DRI2 +DRI R300 Project Mesa DRI R300 (RV515 7146) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 +DRI R300 Project Mesa DRI R300 (RV515 7146) 20090101 x86/MMX/SSE2 TCL DRI2 +DRI R300 Project Mesa DRI R300 (RV515 7149) 20090101 x86/MMX/SSE2 TCL DRI2 +DRI R300 Project Mesa DRI R300 (RV515 714A) 20090101 x86/MMX/SSE2 TCL +DRI R300 Project Mesa DRI R300 (RV515 714A) 20090101 x86/MMX/SSE2 TCL DRI2 +DRI R300 Project Mesa DRI R300 (RV530 71C4) 20090101 x86/MMX/SSE2 TCL DRI2 +GPU_CLASS_UNKNOWN +Humper Chromium +Intel +Intel HD Graphics Family +Intel 3D-Analyze v2.2 - http://www.tommti-systems.com +Intel 3D-Analyze v2.3 - http://www.tommti-systems.com +Intel 4 Series Internal Chipset +Intel 830M +Intel 845G +Intel 855GM +Intel 865G +Intel 915G +Intel 915GM +Intel 945G +Intel 945GM +Intel 950 +Intel 965 +Intel B43 Express Chipset +Intel Bear Lake +Intel Broadwater +Intel Brookdale +Intel Cantiga +Intel Eaglelake +Intel Familia Mobile 45 Express Chipset (Microsoft Corporation - WDDM 1.1) +Intel G33 +Intel G41 +Intel G41 Express Chipset +Intel G45 +Intel G45/G43 Express Chipset +Intel Graphics Media Accelerator HD +Intel HD Graphics +Intel HD Graphics 100 +Intel HD Graphics 200 +Intel HD Graphics 200 BR-1101-00SH +Intel HD Graphics 200 BR-1101-00SJ +Intel HD Graphics 200 BR-1101-00SK +Intel HD Graphics 200 BR-1101-01M5 +Intel HD Graphics 200 BR-1101-01M6 +Intel HD Graphics BR-1004-01Y1 +Intel HD Graphics BR-1006-0364 +Intel HD Graphics BR-1006-0365 +Intel HD Graphics BR-1006-0366 +Intel HD Graphics BR-1007-02G4 +Intel HD Graphics BR-1101-04SY +Intel HD Graphics BR-1101-04SZ +Intel HD Graphics BR-1101-04T0 +Intel HD Graphics BR-1101-04T9 +Intel HD Graphics Family +Intel HD Graphics Family BR-1012-00Y8 +Intel HD Graphics Family BR-1012-00YF +Intel HD Graphics Family BR-1012-00ZD +Intel HD Graphics Family BR-1102-00ML +Intel Inc. Intel GMA 900 OpenGL Engine +Intel Inc. Intel GMA 950 OpenGL Engine +Intel Inc. Intel GMA X3100 OpenGL Engine +Intel Inc. Intel HD Graphics 3000 OpenGL Engine +Intel Inc. Intel HD Graphics OpenGL Engine +Intel Inc. Intel HD xxxx OpenGL Engine +Intel Intel 845G +Intel Intel 855GM +Intel Intel 865G +Intel Intel 915G +Intel Intel 915GM +Intel Intel 945G +Intel Intel 945GM +Intel Intel 965/963 Graphics Media Accelerator +Intel Intel Bear Lake B +Intel Intel Broadwater G +Intel Intel Brookdale-G +Intel Intel Calistoga +Intel Intel Cantiga +Intel Intel Eaglelake +Intel Intel Grantsdale-G +Intel Intel HD Graphics 3000 +Intel Intel Lakeport +Intel Intel Montara-GM +Intel Intel Pineview Platform +Intel Intel Springdale-G +Intel Mobile - famiglia Express Chipset 45 (Microsoft Corporation - WDDM 1.1) +Intel Mobile 4 Series +Intel Mobile 4 Series Express Chipset Family +Intel Mobile 45 Express Chipset Family (Microsoft Corporation - WDDM 1.1) +Intel Mobile HD Graphics +Intel Mobile SandyBridge HD Graphics +Intel Montara +Intel Pineview +Intel Q45/Q43 Express Chipset +Intel Royal BNA Driver +Intel SandyBridge HD Graphics +Intel SandyBridge HD Graphics BR-1006-00V8 +Intel Springdale +Intel X3100 +Intergraph wcgdrv 06.05.06.18 +Intergraph wcgdrv 06.06.00.35 +LegendgrafiX Mobile 945 Express C/TitaniumGL/GAC/D3D ACCELERATION/6x86/1 THREADs | http://LegendgrafiX.tk +LegendgrafiX NVIDIA GeForce GT 430/TitaniumGL/GAC/D3D ACCELERATION/6x86/1 THREADs | http://LegendgrafiX.tk +Linden Lab Headless +Matrox +Mesa +Mesa Project Software Rasterizer +NVIDIA /PCI/SSE2 +NVIDIA /PCI/SSE2/3DNOW! +NVIDIA 205 +NVIDIA 210 +NVIDIA 310 +NVIDIA 310M +NVIDIA 315 +NVIDIA 315M +NVIDIA 320M +NVIDIA C51 +NVIDIA D10M2-20/PCI/SSE2 +NVIDIA D10P1-25/PCI/SSE2 +NVIDIA D10P1-30/PCI/SSE2 +NVIDIA D10P2-50/PCI/SSE2 +NVIDIA D11M2-30/PCI/SSE2 +NVIDIA D12-P1-35/PCI/SSE2 +NVIDIA D12U-15/PCI/SSE2 +NVIDIA D13M1-40/PCI/SSE2 +NVIDIA D13P1-40/PCI/SSE2 +NVIDIA D13U-10/PCI/SSE2 +NVIDIA D13U/PCI/SSE2 +NVIDIA D9M +NVIDIA D9M-20/PCI/SSE2 +NVIDIA Entry Graphics/PCI/SSE2 +NVIDIA Entry Graphics/PCI/SSE2/3DNOW! +NVIDIA G 102M +NVIDIA G 103M +NVIDIA G 105M +NVIDIA G 110M +NVIDIA G100 +NVIDIA G102M +NVIDIA G103M +NVIDIA G105M +NVIDIA G210 +NVIDIA G210M +NVIDIA G70/PCI/SSE2 +NVIDIA G72 +NVIDIA G73 +NVIDIA G84 +NVIDIA G86 +NVIDIA G92 +NVIDIA G92-200/PCI/SSE2 +NVIDIA G94 +NVIDIA G96/PCI/SSE2 +NVIDIA G98/PCI/SSE2 +NVIDIA GT 120 +NVIDIA GT 130 +NVIDIA GT 130M +NVIDIA GT 140 +NVIDIA GT 150 +NVIDIA GT 160M +NVIDIA GT 220 +NVIDIA GT 220/PCI/SSE2 +NVIDIA GT 220/PCI/SSE2/3DNOW! +NVIDIA GT 230 +NVIDIA GT 230M +NVIDIA GT 240 +NVIDIA GT 240M +NVIDIA GT 250M +NVIDIA GT 260M +NVIDIA GT 320 +NVIDIA GT 320M +NVIDIA GT 330 +NVIDIA GT 330M +NVIDIA GT 340 +NVIDIA GT 420 +NVIDIA GT 430 +NVIDIA GT 440 +NVIDIA GT 450 +NVIDIA GT 520 +NVIDIA GT 540 +NVIDIA GT 540M +NVIDIA GT-120 +NVIDIA GT200/PCI/SSE2 +NVIDIA GTS 150 +NVIDIA GTS 240 +NVIDIA GTS 250 +NVIDIA GTS 350M +NVIDIA GTS 360 +NVIDIA GTS 360M +NVIDIA GTS 450 +NVIDIA GTX 260 +NVIDIA GTX 260M +NVIDIA GTX 270 +NVIDIA GTX 280 +NVIDIA GTX 285 +NVIDIA GTX 290 +NVIDIA GTX 460 +NVIDIA GTX 460M +NVIDIA GTX 465 +NVIDIA GTX 470 +NVIDIA GTX 470M +NVIDIA GTX 480 +NVIDIA GTX 480M +NVIDIA GTX 550 Ti +NVIDIA GTX 560 +NVIDIA GTX 560 Ti +NVIDIA GTX 570 +NVIDIA GTX 580 +NVIDIA GTX 590 +NVIDIA GeForce +NVIDIA GeForce 2 +NVIDIA GeForce 205/PCI/SSE2 +NVIDIA GeForce 210 +NVIDIA GeForce 210/PCI/SSE2 +NVIDIA GeForce 210/PCI/SSE2/3DNOW! +NVIDIA GeForce 3 +NVIDIA GeForce 305M/PCI/SSE2 +NVIDIA GeForce 310/PCI/SSE2 +NVIDIA GeForce 310/PCI/SSE2/3DNOW! +NVIDIA GeForce 310M/PCI/SSE2 +NVIDIA GeForce 315/PCI/SSE2 +NVIDIA GeForce 315/PCI/SSE2/3DNOW! +NVIDIA GeForce 315M/PCI/SSE2 +NVIDIA GeForce 320M/PCI/SSE2 +NVIDIA GeForce 4 Go +NVIDIA GeForce 4 MX +NVIDIA GeForce 4 Ti +NVIDIA GeForce 405/PCI/SSE2 +NVIDIA GeForce 6100 +NVIDIA GeForce 6100 nForce 400/PCI/SSE2/3DNOW! +NVIDIA GeForce 6100 nForce 405/PCI/SSE2 +NVIDIA GeForce 6100 nForce 405/PCI/SSE2/3DNOW! +NVIDIA GeForce 6100 nForce 420/PCI/SSE2/3DNOW! +NVIDIA GeForce 6100 nForce 430/PCI/SSE2/3DNOW! +NVIDIA GeForce 6100/PCI/SSE2/3DNOW! +NVIDIA GeForce 6150 LE/PCI/SSE2/3DNOW! +NVIDIA GeForce 6150/PCI/SSE2 +NVIDIA GeForce 6150/PCI/SSE2/3DNOW! +NVIDIA GeForce 6150SE nForce 430/PCI/SSE2 +NVIDIA GeForce 6150SE nForce 430/PCI/SSE2/3DNOW! +NVIDIA GeForce 6150SE/PCI/SSE2/3DNOW! +NVIDIA GeForce 6200 +NVIDIA GeForce 6200 A-LE/AGP/SSE/3DNOW! +NVIDIA GeForce 6200 A-LE/AGP/SSE2 +NVIDIA GeForce 6200 A-LE/AGP/SSE2/3DNOW! +NVIDIA GeForce 6200 LE/PCI/SSE2 +NVIDIA GeForce 6200 LE/PCI/SSE2/3DNOW! +NVIDIA GeForce 6200 TurboCache(TM)/PCI/SSE2 +NVIDIA GeForce 6200 TurboCache(TM)/PCI/SSE2/3DNOW! +NVIDIA GeForce 6200/AGP/SSE/3DNOW! +NVIDIA GeForce 6200/AGP/SSE2 +NVIDIA GeForce 6200/AGP/SSE2/3DNOW! +NVIDIA GeForce 6200/PCI/SSE/3DNOW! +NVIDIA GeForce 6200/PCI/SSE2 +NVIDIA GeForce 6200/PCI/SSE2/3DNOW! +NVIDIA GeForce 6200SE TurboCache(TM)/PCI/SSE2/3DNOW! +NVIDIA GeForce 6500 +NVIDIA GeForce 6500/PCI/SSE2 +NVIDIA GeForce 6600 +NVIDIA GeForce 6600 GT/AGP/SSE/3DNOW! +NVIDIA GeForce 6600 GT/AGP/SSE2 +NVIDIA GeForce 6600 GT/PCI/SSE/3DNOW! +NVIDIA GeForce 6600 GT/PCI/SSE2 +NVIDIA GeForce 6600 GT/PCI/SSE2/3DNOW! +NVIDIA GeForce 6600 LE/PCI/SSE2 +NVIDIA GeForce 6600/AGP/SSE/3DNOW! +NVIDIA GeForce 6600/AGP/SSE2 +NVIDIA GeForce 6600/AGP/SSE2/3DNOW! +NVIDIA GeForce 6600/PCI/SSE2 +NVIDIA GeForce 6600/PCI/SSE2/3DNOW! +NVIDIA GeForce 6700 +NVIDIA GeForce 6800 +NVIDIA GeForce 6800 GS/PCI/SSE2/3DNOW! +NVIDIA GeForce 6800 GT/AGP/SSE2 +NVIDIA GeForce 6800 GT/PCI/SSE2 +NVIDIA GeForce 6800 XT/AGP/SSE2 +NVIDIA GeForce 6800 XT/PCI/SSE2 +NVIDIA GeForce 6800/PCI/SSE2 +NVIDIA GeForce 6800/PCI/SSE2/3DNOW! +NVIDIA GeForce 7000 +NVIDIA GeForce 7000M +NVIDIA GeForce 7000M / nForce 610M/PCI/SSE2 +NVIDIA GeForce 7000M / nForce 610M/PCI/SSE2/3DNOW! +NVIDIA GeForce 7025 / NVIDIA nForce 630a/PCI/SSE2/3DNOW! +NVIDIA GeForce 7025 / nForce 630a/PCI/SSE2 +NVIDIA GeForce 7025 / nForce 630a/PCI/SSE2/3DNOW! +NVIDIA GeForce 7050 / NVIDIA nForce 610i/PCI/SSE2 +NVIDIA GeForce 7050 / NVIDIA nForce 620i/PCI/SSE2 +NVIDIA GeForce 7050 / nForce 610i/PCI/SSE2 +NVIDIA GeForce 7050 / nForce 620i/PCI/SSE2 +NVIDIA GeForce 7050 PV / NVIDIA nForce 630a/PCI/SSE2/3DNOW! +NVIDIA GeForce 7050 PV / nForce 630a/PCI/SSE2 +NVIDIA GeForce 7050 PV / nForce 630a/PCI/SSE2/3DNOW! +NVIDIA GeForce 7050 SE / NVIDIA nForce 630a/PCI/SSE2/3DNOW! +NVIDIA GeForce 7100 +NVIDIA GeForce 7100 / NVIDIA nForce 620i/PCI/SSE2 +NVIDIA GeForce 7100 / NVIDIA nForce 630i/PCI/SSE2 +NVIDIA GeForce 7100 / nForce 630i/PCI/SSE2 +NVIDIA GeForce 7100 GS/PCI/SSE2 +NVIDIA GeForce 7100 GS/PCI/SSE2/3DNOW! +NVIDIA GeForce 7150M / nForce 630M/PCI/SSE2 +NVIDIA GeForce 7150M / nForce 630M/PCI/SSE2/3DNOW! +NVIDIA GeForce 7300 +NVIDIA GeForce 7300 GS/PCI/SSE2 +NVIDIA GeForce 7300 GS/PCI/SSE2/3DNOW! +NVIDIA GeForce 7300 GT/AGP/SSE2 +NVIDIA GeForce 7300 GT/AGP/SSE2/3DNOW! +NVIDIA GeForce 7300 GT/PCI/SSE2 +NVIDIA GeForce 7300 GT/PCI/SSE2/3DNOW! +NVIDIA GeForce 7300 LE/PCI/SSE2 +NVIDIA GeForce 7300 LE/PCI/SSE2/3DNOW! +NVIDIA GeForce 7300 SE/7200 GS/PCI/SSE2 +NVIDIA GeForce 7300 SE/7200 GS/PCI/SSE2/3DNOW! +NVIDIA GeForce 7300 SE/PCI/SSE2 +NVIDIA GeForce 7300 SE/PCI/SSE2/3DNOW! +NVIDIA GeForce 7350 LE/PCI/SSE2 +NVIDIA GeForce 7500 +NVIDIA GeForce 7500 LE/PCI/SSE2 +NVIDIA GeForce 7500 LE/PCI/SSE2/3DNOW! +NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GS/AGP/SSE2 +NVIDIA GeForce 7600 GS/AGP/SSE2/3DNOW! +NVIDIA GeForce 7600 GS/PCI/SSE2 +NVIDIA GeForce 7600 GS/PCI/SSE2/3DNOW! +NVIDIA GeForce 7600 GT/AGP/SSE/3DNOW! +NVIDIA GeForce 7600 GT/AGP/SSE2 +NVIDIA GeForce 7600 GT/PCI/SSE2 +NVIDIA GeForce 7600 GT/PCI/SSE2/3DNOW! +NVIDIA GeForce 7650 GS/PCI/SSE2 +NVIDIA GeForce 7800 +NVIDIA GeForce 7800 GS/AGP/SSE2 +NVIDIA GeForce 7800 GS/AGP/SSE2/3DNOW! +NVIDIA GeForce 7800 GT/PCI/SSE2 +NVIDIA GeForce 7800 GTX/PCI/SSE2 +NVIDIA GeForce 7800 GTX/PCI/SSE2/3DNOW! +NVIDIA GeForce 7900 +NVIDIA GeForce 7900 GS/PCI/SSE2 +NVIDIA GeForce 7900 GS/PCI/SSE2/3DNOW! +NVIDIA GeForce 7900 GT/GTO/PCI/SSE2 +NVIDIA GeForce 7900 GT/PCI/SSE2/3DNOW! +NVIDIA GeForce 7900 GTX/PCI/SSE2 +NVIDIA GeForce 7950 GT/PCI/SSE2 +NVIDIA GeForce 7950 GT/PCI/SSE2/3DNOW! +NVIDIA GeForce 8100 +NVIDIA GeForce 8100 / nForce 720a/PCI/SSE2/3DNOW! +NVIDIA GeForce 8200 +NVIDIA GeForce 8200/PCI/SSE2 +NVIDIA GeForce 8200/PCI/SSE2/3DNOW! +NVIDIA GeForce 8200M +NVIDIA GeForce 8200M G/PCI/SSE2 +NVIDIA GeForce 8200M G/PCI/SSE2/3DNOW! +NVIDIA GeForce 8300 +NVIDIA GeForce 8300 GS/PCI/SSE2 +NVIDIA GeForce 8400 +NVIDIA GeForce 8400 GS/PCI/SSE/3DNOW! +NVIDIA GeForce 8400 GS/PCI/SSE2 +NVIDIA GeForce 8400 GS/PCI/SSE2/3DNOW! +NVIDIA GeForce 8400/PCI/SSE2/3DNOW! +NVIDIA GeForce 8400GS/PCI/SSE2 +NVIDIA GeForce 8400GS/PCI/SSE2/3DNOW! +NVIDIA GeForce 8400M +NVIDIA GeForce 8400M G/PCI/SSE2 +NVIDIA GeForce 8400M G/PCI/SSE2/3DNOW! +NVIDIA GeForce 8400M GS/PCI/SSE2 +NVIDIA GeForce 8400M GS/PCI/SSE2/3DNOW! +NVIDIA GeForce 8400M GT/PCI/SSE2 +NVIDIA GeForce 8500 +NVIDIA GeForce 8500 GT/PCI/SSE2 +NVIDIA GeForce 8500 GT/PCI/SSE2/3DNOW! +NVIDIA GeForce 8600 +NVIDIA GeForce 8600 GS/PCI/SSE2 +NVIDIA GeForce 8600 GS/PCI/SSE2/3DNOW! +NVIDIA GeForce 8600 GT/PCI/SSE2 +NVIDIA GeForce 8600 GT/PCI/SSE2/3DNOW! +NVIDIA GeForce 8600 GTS/PCI/SSE2 +NVIDIA GeForce 8600 GTS/PCI/SSE2/3DNOW! +NVIDIA GeForce 8600GS/PCI/SSE2 +NVIDIA GeForce 8600M +NVIDIA GeForce 8600M GS/PCI/SSE2 +NVIDIA GeForce 8600M GS/PCI/SSE2/3DNOW! +NVIDIA GeForce 8600M GT/PCI/SSE2 +NVIDIA GeForce 8700 +NVIDIA GeForce 8700M +NVIDIA GeForce 8700M GT/PCI/SSE2 +NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GS/PCI/SSE2 +NVIDIA GeForce 8800 GT/PCI/SSE2 +NVIDIA GeForce 8800 GT/PCI/SSE2/3DNOW! +NVIDIA GeForce 8800 GTS 512/PCI/SSE2 +NVIDIA GeForce 8800 GTS 512/PCI/SSE2/3DNOW! +NVIDIA GeForce 8800 GTS/PCI/SSE2 +NVIDIA GeForce 8800 GTS/PCI/SSE2/3DNOW! +NVIDIA GeForce 8800 GTX/PCI/SSE2 +NVIDIA GeForce 8800 Ultra/PCI/SSE2 +NVIDIA GeForce 8800M GTS/PCI/SSE2 +NVIDIA GeForce 8800M GTX/PCI/SSE2 +NVIDIA GeForce 9100 +NVIDIA GeForce 9100/PCI/SSE2 +NVIDIA GeForce 9100/PCI/SSE2/3DNOW! +NVIDIA GeForce 9100M +NVIDIA GeForce 9100M G/PCI/SSE2 +NVIDIA GeForce 9100M G/PCI/SSE2/3DNOW! +NVIDIA GeForce 9200 +NVIDIA GeForce 9200/PCI/SSE2 +NVIDIA GeForce 9200/PCI/SSE2/3DNOW! +NVIDIA GeForce 9200M GE/PCI/SSE2 +NVIDIA GeForce 9200M GS/PCI/SSE2 +NVIDIA GeForce 9300 +NVIDIA GeForce 9300 / nForce 730i/PCI/SSE2 +NVIDIA GeForce 9300 GE/PCI/SSE2 +NVIDIA GeForce 9300 GE/PCI/SSE2/3DNOW! +NVIDIA GeForce 9300 GS/PCI/SSE2 +NVIDIA GeForce 9300 GS/PCI/SSE2/3DNOW! +NVIDIA GeForce 9300 SE/PCI/SSE2 +NVIDIA GeForce 9300M +NVIDIA GeForce 9300M G/PCI/SSE2 +NVIDIA GeForce 9300M G/PCI/SSE2/3DNOW! +NVIDIA GeForce 9300M GS/PCI/SSE2 +NVIDIA GeForce 9300M GS/PCI/SSE2/3DNOW! +NVIDIA GeForce 9400 +NVIDIA GeForce 9400 GT/PCI/SSE2 +NVIDIA GeForce 9400 GT/PCI/SSE2/3DNOW! +NVIDIA GeForce 9400/PCI/SSE2 +NVIDIA GeForce 9400M +NVIDIA GeForce 9400M G/PCI/SSE2 +NVIDIA GeForce 9400M/PCI/SSE2 +NVIDIA GeForce 9500 +NVIDIA GeForce 9500 GS/PCI/SSE2 +NVIDIA GeForce 9500 GS/PCI/SSE2/3DNOW! +NVIDIA GeForce 9500 GT/PCI/SSE2 +NVIDIA GeForce 9500 GT/PCI/SSE2/3DNOW! +NVIDIA GeForce 9500M +NVIDIA GeForce 9500M GS/PCI/SSE2 +NVIDIA GeForce 9600 +NVIDIA GeForce 9600 GS/PCI/SSE2 +NVIDIA GeForce 9600 GSO 512/PCI/SSE2 +NVIDIA GeForce 9600 GSO/PCI/SSE2 +NVIDIA GeForce 9600 GSO/PCI/SSE2/3DNOW! +NVIDIA GeForce 9600 GT/PCI/SSE2 +NVIDIA GeForce 9600 GT/PCI/SSE2/3DNOW! +NVIDIA GeForce 9600M +NVIDIA GeForce 9600M GS/PCI/SSE2 +NVIDIA GeForce 9600M GT/PCI/SSE2 +NVIDIA GeForce 9650M GT/PCI/SSE2 +NVIDIA GeForce 9700M +NVIDIA GeForce 9700M GT/PCI/SSE2 +NVIDIA GeForce 9700M GTS/PCI/SSE2 +NVIDIA GeForce 9800 +NVIDIA GeForce 9800 GT/PCI/SSE2 +NVIDIA GeForce 9800 GT/PCI/SSE2/3DNOW! +NVIDIA GeForce 9800 GTX+/PCI/SSE2 +NVIDIA GeForce 9800 GTX+/PCI/SSE2/3DNOW! +NVIDIA GeForce 9800 GTX/9800 GTX+/PCI/SSE2 +NVIDIA GeForce 9800 GTX/PCI/SSE2 +NVIDIA GeForce 9800 GX2/PCI/SSE2 +NVIDIA GeForce 9800M +NVIDIA GeForce 9800M GS/PCI/SSE2 +NVIDIA GeForce 9800M GT/PCI/SSE2 +NVIDIA GeForce 9800M GTS/PCI/SSE2 +NVIDIA GeForce FX 5100 +NVIDIA GeForce FX 5100/AGP/SSE/3DNOW! +NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5200/AGP/SSE +NVIDIA GeForce FX 5200/AGP/SSE/3DNOW! +NVIDIA GeForce FX 5200/AGP/SSE2 +NVIDIA GeForce FX 5200/AGP/SSE2/3DNOW! +NVIDIA GeForce FX 5200/PCI/SSE2 +NVIDIA GeForce FX 5200/PCI/SSE2/3DNOW! +NVIDIA GeForce FX 5200LE/AGP/SSE2 +NVIDIA GeForce FX 5500 +NVIDIA GeForce FX 5500/AGP/SSE/3DNOW! +NVIDIA GeForce FX 5500/AGP/SSE2 +NVIDIA GeForce FX 5500/AGP/SSE2/3DNOW! +NVIDIA GeForce FX 5500/PCI/SSE2 +NVIDIA GeForce FX 5500/PCI/SSE2/3DNOW! +NVIDIA GeForce FX 5600 +NVIDIA GeForce FX 5600/AGP/SSE2 +NVIDIA GeForce FX 5600/AGP/SSE2/3DNOW! +NVIDIA GeForce FX 5600XT/AGP/SSE2/3DNOW! +NVIDIA GeForce FX 5700 +NVIDIA GeForce FX 5700/AGP/SSE/3DNOW! +NVIDIA GeForce FX 5700LE/AGP/SSE +NVIDIA GeForce FX 5700LE/AGP/SSE/3DNOW! +NVIDIA GeForce FX 5800 +NVIDIA GeForce FX 5900 +NVIDIA GeForce FX 5900/AGP/SSE2 +NVIDIA GeForce FX 5900XT/AGP/SSE2 +NVIDIA GeForce FX Go5100 +NVIDIA GeForce FX Go5100/AGP/SSE2 +NVIDIA GeForce FX Go5200 +NVIDIA GeForce FX Go5200/AGP/SSE2 +NVIDIA GeForce FX Go5300 +NVIDIA GeForce FX Go5600 +NVIDIA GeForce FX Go5600/AGP/SSE2 +NVIDIA GeForce FX Go5650/AGP/SSE2 +NVIDIA GeForce FX Go5700 +NVIDIA GeForce FX Go5xxx/AGP/SSE2 +NVIDIA GeForce G 103M/PCI/SSE2 +NVIDIA GeForce G 105M/PCI/SSE2 +NVIDIA GeForce G 110M/PCI/SSE2 +NVIDIA GeForce G100/PCI/SSE2 +NVIDIA GeForce G100/PCI/SSE2/3DNOW! +NVIDIA GeForce G102M/PCI/SSE2 +NVIDIA GeForce G105M/PCI/SSE2 +NVIDIA GeForce G200/PCI/SSE2 +NVIDIA GeForce G205M/PCI/SSE2 +NVIDIA GeForce G210/PCI/SSE2 +NVIDIA GeForce G210/PCI/SSE2/3DNOW! +NVIDIA GeForce G210M/PCI/SSE2 +NVIDIA GeForce G310M/PCI/SSE2 +NVIDIA GeForce GT 120/PCI/SSE2 +NVIDIA GeForce GT 120/PCI/SSE2/3DNOW! +NVIDIA GeForce GT 120M/PCI/SSE2 +NVIDIA GeForce GT 130M/PCI/SSE2 +NVIDIA GeForce GT 140/PCI/SSE2 +NVIDIA GeForce GT 220/PCI/SSE2 +NVIDIA GeForce GT 220/PCI/SSE2/3DNOW! +NVIDIA GeForce GT 220M/PCI/SSE2 +NVIDIA GeForce GT 230/PCI/SSE2 +NVIDIA GeForce GT 230M/PCI/SSE2 +NVIDIA GeForce GT 240 +NVIDIA GeForce GT 240/PCI/SSE2 +NVIDIA GeForce GT 240/PCI/SSE2/3DNOW! +NVIDIA GeForce GT 240M/PCI/SSE2 +NVIDIA GeForce GT 320/PCI/SSE2 +NVIDIA GeForce GT 320M/PCI/SSE2 +NVIDIA GeForce GT 325M/PCI/SSE2 +NVIDIA GeForce GT 330/PCI/SSE2 +NVIDIA GeForce GT 330/PCI/SSE2/3DNOW! +NVIDIA GeForce GT 330M/PCI/SSE2 +NVIDIA GeForce GT 335M/PCI/SSE2 +NVIDIA GeForce GT 340/PCI/SSE2 +NVIDIA GeForce GT 340/PCI/SSE2/3DNOW! +NVIDIA GeForce GT 415M/PCI/SSE2 +NVIDIA GeForce GT 420/PCI/SSE2 +NVIDIA GeForce GT 420M/PCI/SSE2 +NVIDIA GeForce GT 425M/PCI/SSE2 +NVIDIA GeForce GT 430/PCI/SSE2 +NVIDIA GeForce GT 430/PCI/SSE2/3DNOW! +NVIDIA GeForce GT 435M/PCI/SSE2 +NVIDIA GeForce GT 440/PCI/SSE2 +NVIDIA GeForce GT 440/PCI/SSE2/3DNOW! +NVIDIA GeForce GT 445M/PCI/SSE2 +NVIDIA GeForce GT 520M/PCI/SSE2 +NVIDIA GeForce GT 525M/PCI/SSE2 +NVIDIA GeForce GT 540M/PCI/SSE2 +NVIDIA GeForce GT 550M/PCI/SSE2 +NVIDIA GeForce GT 555M/PCI/SSE2 +NVIDIA GeForce GTS 150/PCI/SSE2 +NVIDIA GeForce GTS 160M/PCI/SSE2 +NVIDIA GeForce GTS 240/PCI/SSE2 +NVIDIA GeForce GTS 250/PCI/SSE2 +NVIDIA GeForce GTS 250/PCI/SSE2/3DNOW! +NVIDIA GeForce GTS 250M/PCI/SSE2 +NVIDIA GeForce GTS 350M/PCI/SSE2 +NVIDIA GeForce GTS 360M/PCI/SSE2 +NVIDIA GeForce GTS 450/PCI/SSE2 +NVIDIA GeForce GTS 450/PCI/SSE2/3DNOW! +NVIDIA GeForce GTS 455/PCI/SSE2 +NVIDIA GeForce GTX 260/PCI/SSE2 +NVIDIA GeForce GTX 260/PCI/SSE2/3DNOW! +NVIDIA GeForce GTX 260M/PCI/SSE2 +NVIDIA GeForce GTX 275/PCI/SSE2 +NVIDIA GeForce GTX 280 +NVIDIA GeForce GTX 280/PCI/SSE2 +NVIDIA GeForce GTX 280M/PCI/SSE2 +NVIDIA GeForce GTX 285/PCI/SSE2 +NVIDIA GeForce GTX 295/PCI/SSE2 +NVIDIA GeForce GTX 460 SE/PCI/SSE2 +NVIDIA GeForce GTX 460 SE/PCI/SSE2/3DNOW! +NVIDIA GeForce GTX 460/PCI/SSE2 +NVIDIA GeForce GTX 460/PCI/SSE2/3DNOW! +NVIDIA GeForce GTX 460M/PCI/SSE2 +NVIDIA GeForce GTX 465/PCI/SSE2 +NVIDIA GeForce GTX 465/PCI/SSE2/3DNOW! +NVIDIA GeForce GTX 470/PCI/SSE2 +NVIDIA GeForce GTX 470/PCI/SSE2/3DNOW! +NVIDIA GeForce GTX 480/PCI/SSE2 +NVIDIA GeForce GTX 550 Ti/PCI/SSE2 +NVIDIA GeForce GTX 550 Ti/PCI/SSE2/3DNOW! +NVIDIA GeForce GTX 560 Ti/PCI/SSE2 +NVIDIA GeForce GTX 560 Ti/PCI/SSE2/3DNOW! +NVIDIA GeForce GTX 560/PCI/SSE2 +NVIDIA GeForce GTX 570/PCI/SSE2 +NVIDIA GeForce GTX 570/PCI/SSE2/3DNOW! +NVIDIA GeForce GTX 580/PCI/SSE2 +NVIDIA GeForce GTX 580/PCI/SSE2/3DNOW! +NVIDIA GeForce GTX 580M/PCI/SSE2 +NVIDIA GeForce GTX 590/PCI/SSE2 +NVIDIA GeForce Go 6 +NVIDIA GeForce Go 6100 +NVIDIA GeForce Go 6100/PCI/SSE2 +NVIDIA GeForce Go 6100/PCI/SSE2/3DNOW! +NVIDIA GeForce Go 6150/PCI/SSE2 +NVIDIA GeForce Go 6150/PCI/SSE2/3DNOW! +NVIDIA GeForce Go 6200 +NVIDIA GeForce Go 6200/PCI/SSE2 +NVIDIA GeForce Go 6400 +NVIDIA GeForce Go 6400/PCI/SSE2 +NVIDIA GeForce Go 6600 +NVIDIA GeForce Go 6600/PCI/SSE2 +NVIDIA GeForce Go 6800 +NVIDIA GeForce Go 6800 Ultra/PCI/SSE2 +NVIDIA GeForce Go 6800/PCI/SSE2 +NVIDIA GeForce Go 7200 +NVIDIA GeForce Go 7200/PCI/SSE2 +NVIDIA GeForce Go 7200/PCI/SSE2/3DNOW! +NVIDIA GeForce Go 7300 +NVIDIA GeForce Go 7300/PCI/SSE2 +NVIDIA GeForce Go 7300/PCI/SSE2/3DNOW! +NVIDIA GeForce Go 7400 +NVIDIA GeForce Go 7400/PCI/SSE2 +NVIDIA GeForce Go 7400/PCI/SSE2/3DNOW! +NVIDIA GeForce Go 7600 +NVIDIA GeForce Go 7600/PCI/SSE2 +NVIDIA GeForce Go 7600/PCI/SSE2/3DNOW! +NVIDIA GeForce Go 7700 +NVIDIA GeForce Go 7800 +NVIDIA GeForce Go 7800 GTX/PCI/SSE2 +NVIDIA GeForce Go 7900 +NVIDIA GeForce Go 7900 GS/PCI/SSE2 +NVIDIA GeForce Go 7900 GTX/PCI/SSE2 +NVIDIA GeForce Go 7950 GTX/PCI/SSE2 +NVIDIA GeForce PCX +NVIDIA GeForce2 GTS/AGP/SSE +NVIDIA GeForce2 MX/AGP/3DNOW! +NVIDIA GeForce2 MX/AGP/SSE/3DNOW! +NVIDIA GeForce2 MX/AGP/SSE2 +NVIDIA GeForce2 MX/PCI/SSE2 +NVIDIA GeForce3/AGP/SSE/3DNOW! +NVIDIA GeForce3/AGP/SSE2 +NVIDIA GeForce4 420 Go 32M/AGP/SSE2 +NVIDIA GeForce4 420 Go 32M/AGP/SSE2/3DNOW! +NVIDIA GeForce4 420 Go 32M/PCI/SSE2/3DNOW! +NVIDIA GeForce4 440 Go 64M/AGP/SSE2/3DNOW! +NVIDIA GeForce4 460 Go/AGP/SSE2 +NVIDIA GeForce4 MX 4000/AGP/SSE/3DNOW! +NVIDIA GeForce4 MX 4000/AGP/SSE2 +NVIDIA GeForce4 MX 4000/PCI/3DNOW! +NVIDIA GeForce4 MX 4000/PCI/SSE/3DNOW! +NVIDIA GeForce4 MX 4000/PCI/SSE2 +NVIDIA GeForce4 MX 420/AGP/SSE/3DNOW! +NVIDIA GeForce4 MX 420/AGP/SSE2 +NVIDIA GeForce4 MX 440 with AGP8X/AGP/SSE2 +NVIDIA GeForce4 MX 440/AGP/SSE2 +NVIDIA GeForce4 MX 440/AGP/SSE2/3DNOW! +NVIDIA GeForce4 MX 440SE with AGP8X/AGP/SSE2 +NVIDIA GeForce4 MX Integrated GPU/AGP/SSE/3DNOW! +NVIDIA GeForce4 Ti 4200 with AGP8X/AGP/SSE +NVIDIA GeForce4 Ti 4200/AGP/SSE/3DNOW! +NVIDIA GeForce4 Ti 4400/AGP/SSE2 +NVIDIA Generic +NVIDIA ION LE/PCI/SSE2 +NVIDIA ION/PCI/SSE2 +NVIDIA ION/PCI/SSE2/3DNOW! +NVIDIA MCP61/PCI/SSE2 +NVIDIA MCP61/PCI/SSE2/3DNOW! +NVIDIA MCP73/PCI/SSE2 +NVIDIA MCP79MH/PCI/SSE2 +NVIDIA MCP79MX/PCI/SSE2 +NVIDIA MCP7A-O/PCI/SSE2 +NVIDIA MCP7A-S/PCI/SSE2 +NVIDIA MCP89-EPT/PCI/SSE2 +NVIDIA N10M-GE1/PCI/SSE2 +NVIDIA N10P-GE1/PCI/SSE2 +NVIDIA N10P-GV2/PCI/SSE2 +NVIDIA N11M-GE1/PCI/SSE2 +NVIDIA N11M-GE2/PCI/SSE2 +NVIDIA N12E-GS-A1/PCI/SSE2 +NVIDIA NB9M-GE/PCI/SSE2 +NVIDIA NB9M-GE1/PCI/SSE2 +NVIDIA NB9M-GS/PCI/SSE2 +NVIDIA NB9M-NS/PCI/SSE2 +NVIDIA NB9P-GE1/PCI/SSE2 +NVIDIA NB9P-GS/PCI/SSE2 +NVIDIA NV17/AGP/3DNOW! +NVIDIA NV17/AGP/SSE2 +NVIDIA NV34 +NVIDIA NV35 +NVIDIA NV36/AGP/SSE/3DNOW! +NVIDIA NV36/AGP/SSE2 +NVIDIA NV41/PCI/SSE2 +NVIDIA NV43 +NVIDIA NV44 +NVIDIA NVIDIA GeForce 210 OpenGL Engine +NVIDIA NVIDIA GeForce 320M OpenGL Engine +NVIDIA NVIDIA GeForce 7300 GT OpenGL Engine +NVIDIA NVIDIA GeForce 7600 GT OpenGL Engine +NVIDIA NVIDIA GeForce 8600M GT OpenGL Engine +NVIDIA NVIDIA GeForce 8800 GS OpenGL Engine +NVIDIA NVIDIA GeForce 8800 GT OpenGL Engine +NVIDIA NVIDIA GeForce 9400 OpenGL Engine +NVIDIA NVIDIA GeForce 9400M OpenGL Engine +NVIDIA NVIDIA GeForce 9500 GT OpenGL Engine +NVIDIA NVIDIA GeForce 9600M GT OpenGL Engine +NVIDIA NVIDIA GeForce GT 120 OpenGL Engine +NVIDIA NVIDIA GeForce GT 130 OpenGL Engine +NVIDIA NVIDIA GeForce GT 220 OpenGL Engine +NVIDIA NVIDIA GeForce GT 230M OpenGL Engine +NVIDIA NVIDIA GeForce GT 240M OpenGL Engine +NVIDIA NVIDIA GeForce GT 330M OpenGL Engine +NVIDIA NVIDIA GeForce GT 420M OpenGL Engine +NVIDIA NVIDIA GeForce GT 425M OpenGL Engine +NVIDIA NVIDIA GeForce GT 430 OpenGL Engine +NVIDIA NVIDIA GeForce GT 440 OpenGL Engine +NVIDIA NVIDIA GeForce GT 540M OpenGL Engine +NVIDIA NVIDIA GeForce GTS 240 OpenGL Engine +NVIDIA NVIDIA GeForce GTS 250 OpenGL Engine +NVIDIA NVIDIA GeForce GTS 450 OpenGL Engine +NVIDIA NVIDIA GeForce GTX 285 OpenGL Engine +NVIDIA NVIDIA GeForce GTX 460 OpenGL Engine +NVIDIA NVIDIA GeForce GTX 460M OpenGL Engine +NVIDIA NVIDIA GeForce GTX 465 OpenGL Engine +NVIDIA NVIDIA GeForce GTX 470 OpenGL Engine +NVIDIA NVIDIA GeForce GTX 480 OpenGL Engine +NVIDIA NVIDIA GeForce Pre-Release ION OpenGL Engine +NVIDIA NVIDIA GeForce4 OpenGL Engine +NVIDIA NVIDIA NV34MAP OpenGL Engine +NVIDIA NVIDIA Quadro 4000 OpenGL Engine +NVIDIA NVIDIA Quadro FX 4800 OpenGL Engine +NVIDIA NVS 2100M/PCI/SSE2 +NVIDIA NVS 300/PCI/SSE2 +NVIDIA NVS 3100M/PCI/SSE2 +NVIDIA NVS 4100/PCI/SSE2/3DNOW! +NVIDIA NVS 4200M/PCI/SSE2 +NVIDIA NVS 5100M/PCI/SSE2 +NVIDIA PCI +NVIDIA Quadro 2000/PCI/SSE2 +NVIDIA Quadro 4000 +NVIDIA Quadro 4000 OpenGL Engine +NVIDIA Quadro 4000/PCI/SSE2 +NVIDIA Quadro 5000/PCI/SSE2 +NVIDIA Quadro 5000M/PCI/SSE2 +NVIDIA Quadro 600 +NVIDIA Quadro 600/PCI/SSE2 +NVIDIA Quadro 600/PCI/SSE2/3DNOW! +NVIDIA Quadro 6000 +NVIDIA Quadro 6000/PCI/SSE2 +NVIDIA Quadro CX/PCI/SSE2 +NVIDIA Quadro DCC +NVIDIA Quadro FX +NVIDIA Quadro FX 1100/AGP/SSE2 +NVIDIA Quadro FX 1400/PCI/SSE2 +NVIDIA Quadro FX 1500 +NVIDIA Quadro FX 1500M/PCI/SSE2 +NVIDIA Quadro FX 1600M/PCI/SSE2 +NVIDIA Quadro FX 1700 +NVIDIA Quadro FX 1700M/PCI/SSE2 +NVIDIA Quadro FX 1800 +NVIDIA Quadro FX 1800/PCI/SSE2 +NVIDIA Quadro FX 1800M/PCI/SSE2 +NVIDIA Quadro FX 2500M/PCI/SSE2 +NVIDIA Quadro FX 2700M/PCI/SSE2 +NVIDIA Quadro FX 2800M/PCI/SSE2 +NVIDIA Quadro FX 3400 +NVIDIA Quadro FX 3450 +NVIDIA Quadro FX 3450/4000 SDI/PCI/SSE2 +NVIDIA Quadro FX 3500 +NVIDIA Quadro FX 3500M/PCI/SSE2 +NVIDIA Quadro FX 360M/PCI/SSE2 +NVIDIA Quadro FX 370 +NVIDIA Quadro FX 370/PCI/SSE2 +NVIDIA Quadro FX 3700 +NVIDIA Quadro FX 3700M/PCI/SSE2 +NVIDIA Quadro FX 370M/PCI/SSE2 +NVIDIA Quadro FX 3800 +NVIDIA Quadro FX 3800M/PCI/SSE2 +NVIDIA Quadro FX 4500 +NVIDIA Quadro FX 4600 +NVIDIA Quadro FX 4800 +NVIDIA Quadro FX 4800/PCI/SSE2 +NVIDIA Quadro FX 560 +NVIDIA Quadro FX 5600 +NVIDIA Quadro FX 570 +NVIDIA Quadro FX 570/PCI/SSE2 +NVIDIA Quadro FX 570M/PCI/SSE2 +NVIDIA Quadro FX 580/PCI/SSE2 +NVIDIA Quadro FX 770M/PCI/SSE2 +NVIDIA Quadro FX 880M +NVIDIA Quadro FX 880M/PCI/SSE2 +NVIDIA Quadro FX Go700/AGP/SSE2 +NVIDIA Quadro NVS +NVIDIA Quadro NVS 110M/PCI/SSE2 +NVIDIA Quadro NVS 130M/PCI/SSE2 +NVIDIA Quadro NVS 135M/PCI/SSE2 +NVIDIA Quadro NVS 140M/PCI/SSE2 +NVIDIA Quadro NVS 150M/PCI/SSE2 +NVIDIA Quadro NVS 160M/PCI/SSE2 +NVIDIA Quadro NVS 210S/PCI/SSE2/3DNOW! +NVIDIA Quadro NVS 285/PCI/SSE2 +NVIDIA Quadro NVS 290/PCI/SSE2 +NVIDIA Quadro NVS 295/PCI/SSE2 +NVIDIA Quadro NVS 320M/PCI/SSE2 +NVIDIA Quadro NVS 55/280 PCI/PCI/SSE2 +NVIDIA Quadro NVS/PCI/SSE2 +NVIDIA Quadro PCI-E Series/PCI/SSE2/3DNOW! +NVIDIA Quadro VX 200/PCI/SSE2 +NVIDIA Quadro/AGP/SSE2 +NVIDIA Quadro2 +NVIDIA Quadro4 +NVIDIA RIVA TNT +NVIDIA RIVA TNT2/AGP/SSE2 +NVIDIA RIVA TNT2/PCI/3DNOW! +NVIDIA nForce +NVIDIA unknown board/AGP/SSE2 +NVIDIA unknown board/PCI/SSE2 +NVIDIA unknown board/PCI/SSE2/3DNOW! +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 6490M OpenGL Engine +Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6750M OpenGL Engine +Parallels and Intel Inc. 3D-Analyze v2.3 - http://www.tommti-systems.com +Parallels and Intel Inc. Parallels using Intel HD Graphics 3000 OpenGL Engine +Parallels and NVIDIA Parallels using NVIDIA GeForce 320M OpenGL Engine +Parallels and NVIDIA Parallels using NVIDIA GeForce 9400 OpenGL Engine +Parallels and NVIDIA Parallels using NVIDIA GeForce GT 120 OpenGL Engine +Parallels and NVIDIA Parallels using NVIDIA GeForce GT 330M OpenGL Engine +Radeon RV350 on Gallium +S3 +S3 Graphics VIA/S3G UniChrome IGP/MMX/K3D +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 +SiS +SiS 661 VGA +SiS 662 VGA +SiS 741 VGA +SiS 760 VGA +SiS 761GX VGA +SiS Mirage Graphics3 +Trident +Tungsten Graphics +Tungsten Graphics, Inc Mesa DRI 865G GEM 20091221 2009Q4 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 865G GEM 20100330 DEVELOPMENT x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 915G GEM 20091221 2009Q4 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 915G GEM 20100330 DEVELOPMENT x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 915GM GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 915GM GEM 20091221 2009Q4 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 915GM GEM 20100330 DEVELOPMENT x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 945G +Tungsten Graphics, Inc Mesa DRI 945G GEM 20091221 2009Q4 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 945G GEM 20100330 DEVELOPMENT +Tungsten Graphics, Inc Mesa DRI 945G GEM 20100330 DEVELOPMENT x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 945GM GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 945GM GEM 20091221 2009Q4 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 945GM GEM 20100328 2010Q1 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 945GM GEM 20100330 DEVELOPMENT x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 945GME x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 945GME 20061017 +Tungsten Graphics, Inc Mesa DRI 945GME GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 945GME GEM 20091221 2009Q4 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 945GME GEM 20100330 DEVELOPMENT x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 965GM GEM 20090326 2009Q1 RC2 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 965GM GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 965GM GEM 20091221 2009Q4 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI 965GM GEM 20100330 DEVELOPMENT x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI G33 20061017 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI G33 GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI G33 GEM 20091221 2009Q4 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI G41 GEM 20091221 2009Q4 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI G41 GEM 20100330 DEVELOPMENT x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI GMA500 20081116 - 5.0.1.0046 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI IGD GEM 20091221 2009Q4 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI IGD GEM 20100330 DEVELOPMENT +Tungsten Graphics, Inc Mesa DRI IGD GEM 20100330 DEVELOPMENT x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI IGDNG_D GEM 20091221 2009Q4 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI Ironlake Desktop GEM 20100330 DEVELOPMENT x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI Ironlake Mobile GEM 20100330 DEVELOPMENT x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset 20080716 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20091221 2009Q4 x86/MMX/SSE2 +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20100328 2010Q1 +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20100330 DEVELOPMENT +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20100330 DEVELOPMENT x86/MMX/SSE2 +Tungsten Graphics, Inc. Mesa DRI R200 (RV280 5964) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 +VIA +VMware, Inc. Gallium 0.3 on SVGA3D; build: RELEASE; +VMware, Inc. Gallium 0.4 on i915 (chipset: 945GM) +VMware, Inc. Gallium 0.4 on llvmpipe +VMware, Inc. Gallium 0.4 on softpipe +X.Org Gallium 0.4 on AMD BARTS +X.Org Gallium 0.4 on AMD CEDAR +X.Org Gallium 0.4 on AMD HEMLOCK +X.Org Gallium 0.4 on AMD JUNIPER +X.Org Gallium 0.4 on AMD REDWOOD +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 RV620 +X.Org Gallium 0.4 on AMD RV630 +X.Org Gallium 0.4 on AMD RV635 +X.Org Gallium 0.4 on AMD RV710 +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 R300 Project Gallium 0.4 on ATI R300 +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 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 RV370 +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 RV570 +X.Org R300 Project Gallium 0.4 on R420 +X.Org R300 Project Gallium 0.4 on R580 +X.Org R300 Project Gallium 0.4 on RC410 +X.Org R300 Project Gallium 0.4 on RS480 +X.Org R300 Project Gallium 0.4 on RS482 +X.Org R300 Project Gallium 0.4 on RS600 +X.Org R300 Project Gallium 0.4 on RS690 +X.Org R300 Project Gallium 0.4 on RS740 +X.Org R300 Project Gallium 0.4 on RV350 +X.Org R300 Project Gallium 0.4 on RV370 +X.Org R300 Project Gallium 0.4 on RV410 +X.Org R300 Project Gallium 0.4 on RV515 +X.Org R300 Project Gallium 0.4 on RV530 +XGI +nouveau Gallium 0.4 on NV34 +nouveau Gallium 0.4 on NV36 +nouveau Gallium 0.4 on NV46 +nouveau Gallium 0.4 on NV49 +nouveau Gallium 0.4 on NV4A +nouveau Gallium 0.4 on NV4B +nouveau Gallium 0.4 on NV4E +nouveau Gallium 0.4 on NV50 +nouveau Gallium 0.4 on NV84 +nouveau Gallium 0.4 on NV86 +nouveau Gallium 0.4 on NV92 +nouveau Gallium 0.4 on NV94 +nouveau Gallium 0.4 on NV96 +nouveau Gallium 0.4 on NV98 +nouveau Gallium 0.4 on NVA0 +nouveau Gallium 0.4 on NVA3 +nouveau Gallium 0.4 on NVA5 +nouveau Gallium 0.4 on NVA8 +nouveau Gallium 0.4 on NVAA +nouveau Gallium 0.4 on NVAC -- cgit v1.2.3 From 7d2078871a0f6d1b7153b9b8be93ba8f0212d836 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 19 Apr 2011 20:28:41 -0400 Subject: storm-1100 (partial) add headers to gpu tester output, fix column spacing --- indra/newview/tests/gpu_table_tester | 9 +- indra/newview/tests/gpus_results.txt | 3188 +++++++++++++++++----------------- 2 files changed, 1602 insertions(+), 1595 deletions(-) diff --git a/indra/newview/tests/gpu_table_tester b/indra/newview/tests/gpu_table_tester index 5e05e4dbc9..eb7e3fc75e 100755 --- a/indra/newview/tests/gpu_table_tester +++ b/indra/newview/tests/gpu_table_tester @@ -152,14 +152,19 @@ while (<>) ## Print results. ## For each input, show supported or unsupported, the class, and the recognizer name -format = -@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... @<<<<<<<<<< @> @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... +format STDOUT_TOP = +GPU String Supported? Class Recognizer +------------------------------------------------------------------------------------------------------ ----------- ----- ------------------------------------ +. +format STDOUT = +@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... @<<<<<<<<<< @> @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... $_, $Supported{$RecognizedBy{$_}},$Class{$RecognizedBy{$_}},$Name{$RecognizedBy{$_}} . foreach ( sort keys %RecognizedBy ) { write if ! $UnrecognizedOnly || $Name{$RecognizedBy{$_}} eq 'UNRECOGNIZED'; + $-++; # suppresses pagination } exit $ErrorsSeen; diff --git a/indra/newview/tests/gpus_results.txt b/indra/newview/tests/gpus_results.txt index 69f6785a7c..96ca129d7a 100644 --- a/indra/newview/tests/gpus_results.txt +++ b/indra/newview/tests/gpus_results.txt @@ -1,1593 +1,1595 @@ -ATI UNRECOGNIZED -ATI 3D-Analyze unsupported 0 ATI 3D-Analyze -ATI ASUS A9xxx supported 1 ATI ASUS A9xxx -ATI ASUS AH24xx supported 1 ATI ASUS AH24xx -ATI ASUS AH26xx supported 3 ATI ASUS AH26xx -ATI ASUS AH34xx supported 1 ATI ASUS AH34xx -ATI ASUS AH36xx supported 3 ATI ASUS AH36xx -ATI ASUS AH46xx supported 3 ATI ASUS AH46xx -ATI ASUS AX3xx supported 1 ATI ASUS AX3xx -ATI ASUS AX5xx supported 1 ATI ASUS AX5xx -ATI ASUS AX8xx UNRECOGNIZED -ATI ASUS EAH38xx supported 3 ATI ASUS EAH38xx -ATI ASUS EAH43xx supported 1 ATI ASUS EAH43xx -ATI ASUS EAH45xx supported 1 ATI ASUS EAH45xx -ATI ASUS EAH48xx supported 3 ATI ASUS EAH48xx -ATI ASUS EAH57xx supported 3 ATI ASUS EAH57xx -ATI ASUS EAH58xx supported 3 ATI ASUS EAH58xx -ATI ASUS X1xxx supported 3 ATI Radeon X1xxx -ATI All-in-Wonder 9xxx supported 1 ATI All-in-Wonder 9xxx -ATI All-in-Wonder HD supported 1 ATI All-in-Wonder HD -ATI All-in-Wonder PCI-E supported 1 ATI All-in-Wonder PCI-E -ATI All-in-Wonder X1800 supported 3 ATI All-in-Wonder X1800 -ATI All-in-Wonder X1900 supported 3 ATI All-in-Wonder X1900 -ATI All-in-Wonder X600 supported 1 ATI All-in-Wonder X600 -ATI All-in-Wonder X800 supported 2 ATI All-in-Wonder X800 -ATI Diamond X1xxx UNRECOGNIZED -ATI Display Adapter UNRECOGNIZED -ATI FireGL supported 0 ATI FireGL -ATI FireGL 5200 supported 0 ATI FireGL -ATI FireGL 5xxx supported 0 ATI FireGL -ATI FireMV unsupported 0 ATI FireMV -ATI Generic unsupported 0 ATI Generic -ATI Hercules 9800 supported 1 ATI Hercules 9800 -ATI IGP 340M unsupported 0 ATI IGP 340M -ATI M52 supported 1 ATI M52 -ATI M54 supported 1 ATI M54 -ATI M56 supported 1 ATI M56 -ATI M71 supported 1 ATI M71 -ATI M72 supported 1 ATI M72 -ATI M76 supported 3 ATI M76 -ATI Mobility Radeon supported 0 ATI Mobility Radeon -ATI Mobility Radeon 7xxx supported 0 ATI Mobility Radeon 7xxx -ATI Mobility Radeon 9600 supported 0 ATI Mobility Radeon -ATI Mobility Radeon 9700 supported 0 ATI Mobility Radeon -ATI Mobility Radeon 9800 supported 0 ATI Mobility Radeon -ATI Mobility Radeon HD 2300 supported 0 ATI Mobility Radeon -ATI Mobility Radeon HD 2400 supported 0 ATI Mobility Radeon -ATI Mobility Radeon HD 2600 supported 0 ATI Mobility Radeon -ATI Mobility Radeon HD 2700 supported 0 ATI Mobility Radeon -ATI Mobility Radeon HD 3400 supported 0 ATI Mobility Radeon -ATI Mobility Radeon HD 3600 supported 0 ATI Mobility Radeon -ATI Mobility Radeon HD 3800 supported 0 ATI Mobility Radeon -ATI Mobility Radeon HD 4200 supported 0 ATI Mobility Radeon -ATI Mobility Radeon HD 4300 supported 0 ATI Mobility Radeon -ATI Mobility Radeon HD 4500 supported 0 ATI Mobility Radeon -ATI Mobility Radeon HD 4600 supported 0 ATI Mobility Radeon -ATI Mobility Radeon HD 4800 supported 0 ATI Mobility Radeon -ATI Mobility Radeon HD 5400 supported 0 ATI Mobility Radeon -ATI Mobility Radeon HD 5600 supported 0 ATI Mobility Radeon -ATI Mobility Radeon X1xxx supported 0 ATI Mobility Radeon -ATI Mobility Radeon X2xxx supported 0 ATI Mobility Radeon -ATI Mobility Radeon X3xx supported 0 ATI Mobility Radeon -ATI Mobility Radeon X6xx supported 0 ATI Mobility Radeon -ATI Mobility Radeon X7xx supported 0 ATI Mobility Radeon -ATI Mobility Radeon Xxxx supported 0 ATI Mobility Radeon -ATI RV380 supported 0 ATI RV380 -ATI RV530 supported 1 ATI RV530 -ATI Radeon 2100 supported 0 ATI Radeon 2100 -ATI Radeon 3000 supported 0 ATI Radeon 3000 -ATI Radeon 3100 supported 1 ATI Radeon 3100 -ATI Radeon 7000 supported 0 ATI Radeon 7xxx -ATI Radeon 7xxx supported 0 ATI Radeon 7xxx -ATI Radeon 8xxx supported 0 ATI Radeon 8xxx -ATI Radeon 9000 supported 0 ATI Radeon 9000 -ATI Radeon 9100 supported 0 ATI Radeon 9100 -ATI Radeon 9200 supported 0 ATI Radeon 9200 -ATI Radeon 9500 supported 0 ATI Radeon 9500 -ATI Radeon 9600 supported 0 ATI Radeon 9600 -ATI Radeon 9700 supported 1 ATI Radeon 9700 -ATI Radeon 9800 supported 1 ATI Radeon 9800 -ATI Radeon HD 2300 supported 0 ATI Radeon HD 2300 -ATI Radeon HD 2400 supported 1 ATI Radeon HD 2400 -ATI Radeon HD 2600 supported 2 ATI Radeon HD 2600 -ATI Radeon HD 2900 supported 3 ATI Radeon HD 2900 -ATI Radeon HD 3000 supported 0 ATI Radeon HD 3000 -ATI Radeon HD 3100 supported 1 ATI Radeon HD 3100 -ATI Radeon HD 3200 supported 0 ATI Radeon HD 3200 -ATI Radeon HD 3300 supported 1 ATI Radeon HD 3300 -ATI Radeon HD 3400 supported 1 ATI Radeon HD 3400 -ATI Radeon HD 3600 supported 3 ATI Radeon HD 3600 -ATI Radeon HD 3800 supported 3 ATI Radeon HD 3800 -ATI Radeon HD 4200 supported 1 ATI Radeon HD 4200 -ATI Radeon HD 4300 supported 1 ATI Radeon HD 4300 -ATI Radeon HD 4500 supported 3 ATI Radeon HD 4500 -ATI Radeon HD 4600 supported 3 ATI Radeon HD 4600 -ATI Radeon HD 4700 supported 3 ATI Radeon HD 4700 -ATI Radeon HD 4800 supported 3 ATI Radeon HD 4800 -ATI Radeon HD 5400 supported 3 ATI Radeon HD 5400 -ATI Radeon HD 5500 supported 3 ATI Radeon HD 5500 -ATI Radeon HD 5600 supported 3 ATI Radeon HD 5600 -ATI Radeon HD 5700 supported 3 ATI Radeon HD 5700 -ATI Radeon HD 5800 supported 3 ATI Radeon HD 5800 -ATI Radeon HD 5900 supported 3 ATI Radeon HD 5900 -ATI Radeon HD 6200 supported 2 ATI Radeon HD 6200 -ATI Radeon HD 6300 supported 2 ATI Radeon HD 6300 -ATI Radeon HD 6500 supported 3 ATI Radeon HD 6500 -ATI Radeon HD 6800 supported 3 ATI Radeon HD 6800 -ATI Radeon HD 6900 supported 3 ATI Radeon HD 6900 -ATI Radeon OpenGL UNRECOGNIZED -ATI Radeon RV250 supported 0 ATI Radeon RV250 -ATI Radeon RV600 supported 1 ATI Radeon RV600 -ATI Radeon RX9550 supported 1 ATI Radeon RX9550 -ATI Radeon VE unsupported 0 ATI Radeon VE -ATI Radeon X1000 supported 0 ATI Radeon X1000 -ATI Radeon X1200 supported 0 ATI Radeon X1200 -ATI Radeon X1300 supported 1 ATI Radeon X1300 -ATI Radeon X13xx supported 1 ATI Radeon X1300 -ATI Radeon X1400 supported 1 ATI Radeon X1400 -ATI Radeon X1500 supported 1 ATI Radeon X1500 -ATI Radeon X1600 supported 1 ATI Radeon X1600 -ATI Radeon X16xx supported 1 ATI Radeon X1600 -ATI Radeon X1700 supported 1 ATI Radeon X1700 -ATI Radeon X1800 supported 3 ATI Radeon X1800 -ATI Radeon X1900 supported 3 ATI Radeon X1900 -ATI Radeon X19xx supported 3 ATI Radeon X1900 -ATI Radeon X1xxx UNRECOGNIZED -ATI Radeon X300 supported 0 ATI Radeon X300 -ATI Radeon X500 supported 0 ATI Radeon X500 -ATI Radeon X600 supported 1 ATI Radeon X600 -ATI Radeon X700 supported 1 ATI Radeon X700 -ATI Radeon X7xx supported 1 ATI Radeon X700 -ATI Radeon X800 supported 2 ATI Radeon X800 -ATI Radeon Xpress unsupported 0 ATI Radeon Xpress -ATI Rage 128 supported 0 ATI Rage 128 -ATI Technologies Inc. UNRECOGNIZED -ATI Technologies Inc. x86 UNRECOGNIZED -ATI Technologies Inc. x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. (Vista) ATI Mobility Radeon HD 5730 supported 0 ATI Mobility Radeon -ATI Technologies Inc. 256MB ATI Radeon X1300PRO x86/SSE2 supported 1 ATI Radeon X1300 -ATI Technologies Inc. AMD 760G UNRECOGNIZED -ATI Technologies Inc. AMD 760G (Microsoft WDDM 1.1) UNRECOGNIZED -ATI Technologies Inc. AMD 780L UNRECOGNIZED -ATI Technologies Inc. AMD FirePro 2270 UNRECOGNIZED -ATI Technologies Inc. AMD M860G with ATI Mobility Radeon 4100 supported 0 ATI Mobility Radeon -ATI Technologies Inc. AMD M880G with ATI Mobility Radeon HD 4200 supported 0 ATI Mobility Radeon -ATI Technologies Inc. AMD M880G with ATI Mobility Radeon HD 4250 supported 0 ATI Mobility Radeon -ATI Technologies Inc. AMD RADEON HD 6450 UNRECOGNIZED -ATI Technologies Inc. AMD Radeon HD 6200 series Graphics supported 2 ATI Radeon HD 6200 -ATI Technologies Inc. AMD Radeon HD 6250 Graphics supported 2 ATI Radeon HD 6200 -ATI Technologies Inc. AMD Radeon HD 6300 series Graphics supported 2 ATI Radeon HD 6300 -ATI Technologies Inc. AMD Radeon HD 6300M Series supported 2 ATI Radeon HD 6300 -ATI Technologies Inc. AMD Radeon HD 6310 Graphics supported 2 ATI Radeon HD 6300 -ATI Technologies Inc. AMD Radeon HD 6310M supported 2 ATI Radeon HD 6300 -ATI Technologies Inc. AMD Radeon HD 6330M supported 2 ATI Radeon HD 6300 -ATI Technologies Inc. AMD Radeon HD 6350 supported 2 ATI Radeon HD 6300 -ATI Technologies Inc. AMD Radeon HD 6370M supported 2 ATI Radeon HD 6300 -ATI Technologies Inc. AMD Radeon HD 6400M Series supported 3 ATI Radeon HD 6400 -ATI Technologies Inc. AMD Radeon HD 6450 supported 3 ATI Radeon HD 6400 -ATI Technologies Inc. AMD Radeon HD 6470M supported 3 ATI Radeon HD 6400 -ATI Technologies Inc. AMD Radeon HD 6490M supported 3 ATI Radeon HD 6400 -ATI Technologies Inc. AMD Radeon HD 6500M/5600/5700 Series supported 3 ATI Radeon HD 6500 -ATI Technologies Inc. AMD Radeon HD 6530M supported 3 ATI Radeon HD 6500 -ATI Technologies Inc. AMD Radeon HD 6550M supported 3 ATI Radeon HD 6500 -ATI Technologies Inc. AMD Radeon HD 6570 supported 3 ATI Radeon HD 6500 -ATI Technologies Inc. AMD Radeon HD 6570M supported 3 ATI Radeon HD 6500 -ATI Technologies Inc. AMD Radeon HD 6570M/5700 Series supported 3 ATI Radeon HD 6500 -ATI Technologies Inc. AMD Radeon HD 6600M Series UNRECOGNIZED -ATI Technologies Inc. AMD Radeon HD 6650M UNRECOGNIZED -ATI Technologies Inc. AMD Radeon HD 6670 UNRECOGNIZED -ATI Technologies Inc. AMD Radeon HD 6700 Series supported 3 ATI Radeon HD 6700 -ATI Technologies Inc. AMD Radeon HD 6750 supported 3 ATI Radeon HD 6700 -ATI Technologies Inc. AMD Radeon HD 6750M supported 3 ATI Radeon HD 6700 -ATI Technologies Inc. AMD Radeon HD 6770 supported 3 ATI Radeon HD 6700 -ATI Technologies Inc. AMD Radeon HD 6800 Series supported 3 ATI Radeon HD 6800 -ATI Technologies Inc. AMD Radeon HD 6850M supported 3 ATI Radeon HD 6800 -ATI Technologies Inc. AMD Radeon HD 6870 supported 3 ATI Radeon HD 6800 -ATI Technologies Inc. AMD Radeon HD 6870M supported 3 ATI Radeon HD 6800 -ATI Technologies Inc. AMD Radeon HD 6900 Series supported 3 ATI Radeon HD 6900 -ATI Technologies Inc. AMD Radeon HD 6970M supported 3 ATI Radeon HD 6900 -ATI Technologies Inc. AMD Radeon HD 6990 supported 3 ATI Radeon HD 6900 -ATI Technologies Inc. AMD Radeon(TM) HD 6470M UNRECOGNIZED -ATI Technologies Inc. ASUS 5870 Eyefinity 6 UNRECOGNIZED -ATI Technologies Inc. ASUS AH2600 Series supported 3 ATI ASUS AH26xx -ATI Technologies Inc. ASUS AH3450 Series supported 1 ATI ASUS AH34xx -ATI Technologies Inc. ASUS AH3650 Series supported 3 ATI ASUS AH36xx -ATI Technologies Inc. ASUS AH4650 Series supported 3 ATI ASUS AH46xx -ATI Technologies Inc. ASUS ARES UNRECOGNIZED -ATI Technologies Inc. ASUS EAH2900 Series UNRECOGNIZED -ATI Technologies Inc. ASUS EAH3450 Series supported 1 ATI ASUS AH34xx -ATI Technologies Inc. ASUS EAH3650 Series supported 3 ATI ASUS AH36xx -ATI Technologies Inc. ASUS EAH4350 series supported 1 ATI ASUS EAH43xx -ATI Technologies Inc. ASUS EAH4550 series supported 1 ATI ASUS EAH45xx -ATI Technologies Inc. ASUS EAH4650 series supported 3 ATI ASUS AH46xx -ATI Technologies Inc. ASUS EAH4670 series supported 3 ATI ASUS AH46xx -ATI Technologies Inc. ASUS EAH4750 Series UNRECOGNIZED -ATI Technologies Inc. ASUS EAH4770 Series UNRECOGNIZED -ATI Technologies Inc. ASUS EAH4770 series UNRECOGNIZED -ATI Technologies Inc. ASUS EAH4850 series supported 3 ATI ASUS EAH48xx -ATI Technologies Inc. ASUS EAH5450 Series UNRECOGNIZED -ATI Technologies Inc. ASUS EAH5550 Series UNRECOGNIZED -ATI Technologies Inc. ASUS EAH5570 series UNRECOGNIZED -ATI Technologies Inc. ASUS EAH5670 Series UNRECOGNIZED -ATI Technologies Inc. ASUS EAH5750 Series supported 3 ATI ASUS EAH57xx -ATI Technologies Inc. ASUS EAH5770 Series supported 3 ATI ASUS EAH57xx -ATI Technologies Inc. ASUS EAH5830 Series supported 3 ATI ASUS EAH58xx -ATI Technologies Inc. ASUS EAH5850 Series supported 3 ATI ASUS EAH58xx -ATI Technologies Inc. ASUS EAH5870 Series supported 3 ATI ASUS EAH58xx -ATI Technologies Inc. ASUS EAH5970 Series UNRECOGNIZED -ATI Technologies Inc. ASUS EAH6850 Series UNRECOGNIZED -ATI Technologies Inc. ASUS EAH6870 Series UNRECOGNIZED -ATI Technologies Inc. ASUS EAH6950 Series UNRECOGNIZED -ATI Technologies Inc. ASUS EAH6970 Series UNRECOGNIZED -ATI Technologies Inc. ASUS EAHG4670 series UNRECOGNIZED -ATI Technologies Inc. ASUS Extreme AX600 Series UNRECOGNIZED -ATI Technologies Inc. ASUS Extreme AX600XT-TD UNRECOGNIZED -ATI Technologies Inc. ASUS X1300 Series x86/SSE2 supported 3 ATI Radeon X1xxx -ATI Technologies Inc. ASUS X1550 Series supported 3 ATI Radeon X1xxx -ATI Technologies Inc. ASUS X1950 Series x86/SSE2 supported 3 ATI Radeon X1xxx -ATI Technologies Inc. ASUS X800 Series UNRECOGNIZED -ATI Technologies Inc. ASUS X850 Series UNRECOGNIZED -ATI Technologies Inc. ATI All-in-Wonder HD supported 1 ATI All-in-Wonder HD -ATI Technologies Inc. ATI FirePro 2260 UNRECOGNIZED -ATI Technologies Inc. ATI FirePro 2450 UNRECOGNIZED -ATI Technologies Inc. ATI FirePro M5800 UNRECOGNIZED -ATI Technologies Inc. ATI FirePro M7740 UNRECOGNIZED -ATI Technologies Inc. ATI FirePro M7820 UNRECOGNIZED -ATI Technologies Inc. ATI FirePro V3700 (FireGL) supported 0 ATI FireGL -ATI Technologies Inc. ATI FirePro V3800 UNRECOGNIZED -ATI Technologies Inc. ATI FirePro V4800 UNRECOGNIZED -ATI Technologies Inc. ATI FirePro V4800 (FireGL) supported 0 ATI FireGL -ATI Technologies Inc. ATI FirePro V5800 UNRECOGNIZED -ATI Technologies Inc. ATI FirePro V7800 UNRECOGNIZED -ATI Technologies Inc. ATI MOBILITY RADEON 9XXX x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. ATI MOBILITY RADEON HD 3450 UNRECOGNIZED -ATI Technologies Inc. ATI MOBILITY RADEON X1600 UNRECOGNIZED -ATI Technologies Inc. ATI MOBILITY RADEON X2300 UNRECOGNIZED -ATI Technologies Inc. ATI MOBILITY RADEON X2300 HD x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. ATI MOBILITY RADEON X2300 x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. ATI MOBILITY RADEON X2300 x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. ATI MOBILITY RADEON X300 UNRECOGNIZED -ATI Technologies Inc. ATI MOBILITY RADEON X600 UNRECOGNIZED -ATI Technologies Inc. ATI MOBILITY RADEON XPRESS 200 UNRECOGNIZED -ATI Technologies Inc. ATI Mobility FireGL V5700 supported 1 ATI FireGL 5xxx -ATI Technologies Inc. ATI Mobility Radeon 4100 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon Graphics supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 2300 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 2400 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 2400 XT supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 2600 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 2600 XT supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 2700 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 3400 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 3430 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 3450 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 3470 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 3470 Hybrid X2 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 3650 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4200 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4200 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4225 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4225 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4250 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4250 Graphics supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4270 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4300 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4300/4500 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4330 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4330 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4350 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4350 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4500 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4500/5100 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4530 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4530 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4550 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4570 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4600 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4650 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4650 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4670 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4830 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4850 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 4870 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5000 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5000 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5145 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5165 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 530v supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5400 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 540v supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5430 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5450 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5450 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 545v supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5470 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 550v supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5600/5700 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 560v supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5650 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5700 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5730 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5800 Series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5850 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 5870 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 6300 series supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 6370 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 6470M supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 6550 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon HD 6570 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X1300 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X1300 x86/MMX/3DNow!/SSE2 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X1300 x86/SSE2 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X1350 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X1350 x86/SSE2 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X1400 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X1400 x86/SSE2 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X1600 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X1600 x86/SSE2 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X1700 x86/SSE2 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X2300 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X2300 (Omega 3.8.442) supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X2300 x86 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X2300 x86/MMX/3DNow!/SSE2 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X2300 x86/SSE2 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X2500 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon X2500 x86/SSE2 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon. HD 530v supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI Mobility Radeon. HD 5470 supported 0 ATI Mobility Radeon -ATI Technologies Inc. ATI RADEON HD 3200 T25XX by CAMILO UNRECOGNIZED -ATI Technologies Inc. ATI RADEON XPRESS 1100 UNRECOGNIZED -ATI Technologies Inc. ATI RADEON XPRESS 200 Series UNRECOGNIZED -ATI Technologies Inc. ATI RADEON XPRESS 200 Series x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. ATI RADEON XPRESS 200M SERIES UNRECOGNIZED -ATI Technologies Inc. ATI Radeon UNRECOGNIZED -ATI Technologies Inc. ATI Radeon 2100 supported 0 ATI Radeon 2100 -ATI Technologies Inc. ATI Radeon 2100 (Microsoft - WDDM) supported 0 ATI Radeon 2100 -ATI Technologies Inc. ATI Radeon 2100 Graphics supported 0 ATI Radeon 2100 -ATI Technologies Inc. ATI Radeon 3000 supported 0 ATI Radeon 3000 -ATI Technologies Inc. ATI Radeon 3000 Graphics supported 0 ATI Radeon 3000 -ATI Technologies Inc. ATI Radeon 3100 Graphics supported 1 ATI Radeon 3100 -ATI Technologies Inc. ATI Radeon 5xxx series UNRECOGNIZED -ATI Technologies Inc. ATI Radeon 9550 / X1050 Series supported 0 ATI Radeon 9500 -ATI Technologies Inc. ATI Radeon 9550 / X1050 Series x86/MMX/3DNow!/SSE supported 0 ATI Radeon 9500 -ATI Technologies Inc. ATI Radeon 9550 / X1050 Series x86/SSE2 supported 0 ATI Radeon 9500 -ATI Technologies Inc. ATI Radeon 9550 / X1050 Series(Microsoft - WDDM) supported 0 ATI Radeon 9500 -ATI Technologies Inc. ATI Radeon 9600 / X1050 Series supported 0 ATI Radeon 9600 -ATI Technologies Inc. ATI Radeon 9600/9550/X1050 Series supported 0 ATI Radeon 9600 -ATI Technologies Inc. ATI Radeon BA Prototype OpenGL Engine UNRECOGNIZED -ATI Technologies Inc. ATI Radeon BB Prototype OpenGL Engine UNRECOGNIZED -ATI Technologies Inc. ATI Radeon Cedar PRO Prototype OpenGL Engine UNRECOGNIZED -ATI Technologies Inc. ATI Radeon Cypress PRO Prototype OpenGL Engine UNRECOGNIZED -ATI Technologies Inc. ATI Radeon Graphics Processor UNRECOGNIZED -ATI Technologies Inc. ATI Radeon HD 2200 Graphics UNRECOGNIZED -ATI Technologies Inc. ATI Radeon HD 2350 supported 0 ATI Radeon HD 2300 -ATI Technologies Inc. ATI Radeon HD 2400 supported 1 ATI Radeon HD 2400 -ATI Technologies Inc. ATI Radeon HD 2400 OpenGL Engine supported 1 ATI Radeon HD 2400 -ATI Technologies Inc. ATI Radeon HD 2400 PRO supported 1 ATI Radeon HD 2400 -ATI Technologies Inc. ATI Radeon HD 2400 PRO AGP supported 1 ATI Radeon HD 2400 -ATI Technologies Inc. ATI Radeon HD 2400 Pro supported 1 ATI Radeon HD 2400 -ATI Technologies Inc. ATI Radeon HD 2400 Series supported 1 ATI Radeon HD 2400 -ATI Technologies Inc. ATI Radeon HD 2400 XT supported 1 ATI Radeon HD 2400 -ATI Technologies Inc. ATI Radeon HD 2400 XT OpenGL Engine supported 1 ATI Radeon HD 2400 -ATI Technologies Inc. ATI Radeon HD 2600 OpenGL Engine supported 2 ATI Radeon HD 2600 -ATI Technologies Inc. ATI Radeon HD 2600 PRO supported 2 ATI Radeon HD 2600 -ATI Technologies Inc. ATI Radeon HD 2600 PRO OpenGL Engine supported 2 ATI Radeon HD 2600 -ATI Technologies Inc. ATI Radeon HD 2600 Pro supported 2 ATI Radeon HD 2600 -ATI Technologies Inc. ATI Radeon HD 2600 Series supported 2 ATI Radeon HD 2600 -ATI Technologies Inc. ATI Radeon HD 2600 XT supported 2 ATI Radeon HD 2600 -ATI Technologies Inc. ATI Radeon HD 2900 GT supported 3 ATI Radeon HD 2900 -ATI Technologies Inc. ATI Radeon HD 2900 XT supported 3 ATI Radeon HD 2900 -ATI Technologies Inc. ATI Radeon HD 3200 Graphics supported 0 ATI Radeon HD 3200 -ATI Technologies Inc. ATI Radeon HD 3300 Graphics supported 1 ATI Radeon HD 3300 -ATI Technologies Inc. ATI Radeon HD 3400 Series supported 1 ATI Radeon HD 3400 -ATI Technologies Inc. ATI Radeon HD 3450 supported 1 ATI Radeon HD 3400 -ATI Technologies Inc. ATI Radeon HD 3450 - Dell Optiplex supported 1 ATI Radeon HD 3400 -ATI Technologies Inc. ATI Radeon HD 3470 supported 1 ATI Radeon HD 3400 -ATI Technologies Inc. ATI Radeon HD 3470 - Dell Optiplex supported 1 ATI Radeon HD 3400 -ATI Technologies Inc. ATI Radeon HD 3550 UNRECOGNIZED -ATI Technologies Inc. ATI Radeon HD 3600 Series supported 3 ATI Radeon HD 3600 -ATI Technologies Inc. ATI Radeon HD 3650 supported 3 ATI Radeon HD 3600 -ATI Technologies Inc. ATI Radeon HD 3650 AGP supported 3 ATI Radeon HD 3600 -ATI Technologies Inc. ATI Radeon HD 3730 UNRECOGNIZED -ATI Technologies Inc. ATI Radeon HD 3800 Series supported 3 ATI Radeon HD 3800 -ATI Technologies Inc. ATI Radeon HD 3850 supported 3 ATI Radeon HD 3800 -ATI Technologies Inc. ATI Radeon HD 3850 AGP supported 3 ATI Radeon HD 3800 -ATI Technologies Inc. ATI Radeon HD 3870 supported 3 ATI Radeon HD 3800 -ATI Technologies Inc. ATI Radeon HD 3870 X2 supported 3 ATI Radeon HD 3800 -ATI Technologies Inc. ATI Radeon HD 4200 supported 1 ATI Radeon HD 4200 -ATI Technologies Inc. ATI Radeon HD 4250 supported 1 ATI Radeon HD 4200 -ATI Technologies Inc. ATI Radeon HD 4250 Graphics supported 1 ATI Radeon HD 4200 -ATI Technologies Inc. ATI Radeon HD 4270 supported 1 ATI Radeon HD 4200 -ATI Technologies Inc. ATI Radeon HD 4290 supported 1 ATI Radeon HD 4200 -ATI Technologies Inc. ATI Radeon HD 4300 Series supported 1 ATI Radeon HD 4300 -ATI Technologies Inc. ATI Radeon HD 4300/4500 Series supported 1 ATI Radeon HD 4300 -ATI Technologies Inc. ATI Radeon HD 4350 supported 1 ATI Radeon HD 4300 -ATI Technologies Inc. ATI Radeon HD 4350 (Microsoft WDDM 1.1) supported 1 ATI Radeon HD 4300 -ATI Technologies Inc. ATI Radeon HD 4450 UNRECOGNIZED -ATI Technologies Inc. ATI Radeon HD 4500 Series supported 3 ATI Radeon HD 4500 -ATI Technologies Inc. ATI Radeon HD 4550 supported 3 ATI Radeon HD 4500 -ATI Technologies Inc. ATI Radeon HD 4600 Series supported 3 ATI Radeon HD 4600 -ATI Technologies Inc. ATI Radeon HD 4650 supported 3 ATI Radeon HD 4600 -ATI Technologies Inc. ATI Radeon HD 4670 supported 3 ATI Radeon HD 4600 -ATI Technologies Inc. ATI Radeon HD 4670 OpenGL Engine supported 3 ATI Radeon HD 4600 -ATI Technologies Inc. ATI Radeon HD 4700 Series supported 3 ATI Radeon HD 4700 -ATI Technologies Inc. ATI Radeon HD 4720 supported 3 ATI Radeon HD 4700 -ATI Technologies Inc. ATI Radeon HD 4730 supported 3 ATI Radeon HD 4700 -ATI Technologies Inc. ATI Radeon HD 4730 Series supported 3 ATI Radeon HD 4700 -ATI Technologies Inc. ATI Radeon HD 4750 supported 3 ATI Radeon HD 4700 -ATI Technologies Inc. ATI Radeon HD 4770 supported 3 ATI Radeon HD 4700 -ATI Technologies Inc. ATI Radeon HD 4800 Series supported 3 ATI Radeon HD 4800 -ATI Technologies Inc. ATI Radeon HD 4850 supported 3 ATI Radeon HD 4800 -ATI Technologies Inc. ATI Radeon HD 4850 OpenGL Engine supported 3 ATI Radeon HD 4800 -ATI Technologies Inc. ATI Radeon HD 4850 Series supported 3 ATI Radeon HD 4800 -ATI Technologies Inc. ATI Radeon HD 4870 supported 3 ATI Radeon HD 4800 -ATI Technologies Inc. ATI Radeon HD 4870 OpenGL Engine supported 3 ATI Radeon HD 4800 -ATI Technologies Inc. ATI Radeon HD 4870 X2 supported 3 ATI Radeon HD 4800 -ATI Technologies Inc. ATI Radeon HD 5400 Series supported 3 ATI Radeon HD 5400 -ATI Technologies Inc. ATI Radeon HD 5450 supported 3 ATI Radeon HD 5400 -ATI Technologies Inc. ATI Radeon HD 5500 Series supported 3 ATI Radeon HD 5500 -ATI Technologies Inc. ATI Radeon HD 5570 supported 3 ATI Radeon HD 5500 -ATI Technologies Inc. ATI Radeon HD 5600 Series supported 3 ATI Radeon HD 5600 -ATI Technologies Inc. ATI Radeon HD 5630 supported 3 ATI Radeon HD 5600 -ATI Technologies Inc. ATI Radeon HD 5670 supported 3 ATI Radeon HD 5600 -ATI Technologies Inc. ATI Radeon HD 5670 OpenGL Engine supported 3 ATI Radeon HD 5600 -ATI Technologies Inc. ATI Radeon HD 5700 Series supported 3 ATI Radeon HD 5700 -ATI Technologies Inc. ATI Radeon HD 5750 supported 3 ATI Radeon HD 5700 -ATI Technologies Inc. ATI Radeon HD 5750 OpenGL Engine supported 3 ATI Radeon HD 5700 -ATI Technologies Inc. ATI Radeon HD 5770 supported 3 ATI Radeon HD 5700 -ATI Technologies Inc. ATI Radeon HD 5770 OpenGL Engine supported 3 ATI Radeon HD 5700 -ATI Technologies Inc. ATI Radeon HD 5800 Series supported 3 ATI Radeon HD 5800 -ATI Technologies Inc. ATI Radeon HD 5850 supported 3 ATI Radeon HD 5800 -ATI Technologies Inc. ATI Radeon HD 5870 supported 3 ATI Radeon HD 5800 -ATI Technologies Inc. ATI Radeon HD 5870 OpenGL Engine supported 3 ATI Radeon HD 5800 -ATI Technologies Inc. ATI Radeon HD 5900 Series supported 3 ATI Radeon HD 5900 -ATI Technologies Inc. ATI Radeon HD 5970 supported 3 ATI Radeon HD 5900 -ATI Technologies Inc. ATI Radeon HD 6230 supported 2 ATI Radeon HD 6200 -ATI Technologies Inc. ATI Radeon HD 6250 supported 2 ATI Radeon HD 6200 -ATI Technologies Inc. ATI Radeon HD 6350 supported 2 ATI Radeon HD 6300 -ATI Technologies Inc. ATI Radeon HD 6390 supported 2 ATI Radeon HD 6300 -ATI Technologies Inc. ATI Radeon HD 6490M OpenGL Engine supported 3 ATI Radeon HD 6400 -ATI Technologies Inc. ATI Radeon HD 6510 supported 3 ATI Radeon HD 6500 -ATI Technologies Inc. ATI Radeon HD 6570M supported 3 ATI Radeon HD 6500 -ATI Technologies Inc. ATI Radeon HD 6750 supported 3 ATI Radeon HD 6700 -ATI Technologies Inc. ATI Radeon HD 6750M OpenGL Engine supported 3 ATI Radeon HD 6700 -ATI Technologies Inc. ATI Radeon HD 6770 supported 3 ATI Radeon HD 6700 -ATI Technologies Inc. ATI Radeon HD 6770M OpenGL Engine supported 3 ATI Radeon HD 6700 -ATI Technologies Inc. ATI Radeon HD 6800 Series supported 3 ATI Radeon HD 6800 -ATI Technologies Inc. ATI Radeon HD 6970M OpenGL Engine supported 3 ATI Radeon HD 6900 -ATI Technologies Inc. ATI Radeon HD3750 UNRECOGNIZED -ATI Technologies Inc. ATI Radeon HD4300/HD4500 series supported 1 ATI Radeon HD 4300 -ATI Technologies Inc. ATI Radeon HD4670 supported 3 ATI Radeon HD 4600 -ATI Technologies Inc. ATI Radeon Juniper LE Prototype OpenGL Engine UNRECOGNIZED -ATI Technologies Inc. ATI Radeon RV710 Prototype OpenGL Engine UNRECOGNIZED -ATI Technologies Inc. ATI Radeon RV730 Prototype OpenGL Engine UNRECOGNIZED -ATI Technologies Inc. ATI Radeon RV770 Prototype OpenGL Engine UNRECOGNIZED -ATI Technologies Inc. ATI Radeon RV790 Prototype OpenGL Engine UNRECOGNIZED -ATI Technologies Inc. ATI Radeon Redwood PRO Prototype OpenGL Engine UNRECOGNIZED -ATI Technologies Inc. ATI Radeon Redwood XT Prototype OpenGL Engine UNRECOGNIZED -ATI Technologies Inc. ATI Radeon Whistler PRO/LP Prototype OpenGL Engine UNRECOGNIZED -ATI Technologies Inc. ATI Radeon X1050 supported 0 ATI Radeon X1000 -ATI Technologies Inc. ATI Radeon X1050 Series supported 0 ATI Radeon X1000 -ATI Technologies Inc. ATI Radeon X1200 supported 0 ATI Radeon X1200 -ATI Technologies Inc. ATI Radeon X1200 Series supported 0 ATI Radeon X1200 -ATI Technologies Inc. ATI Radeon X1200 Series x86/MMX/3DNow!/SSE2 supported 0 ATI Radeon X1200 -ATI Technologies Inc. ATI Radeon X1250 supported 0 ATI Radeon X1200 -ATI Technologies Inc. ATI Radeon X1250 x86/MMX/3DNow!/SSE2 supported 0 ATI Radeon X1200 -ATI Technologies Inc. ATI Radeon X1270 supported 0 ATI Radeon X1200 -ATI Technologies Inc. ATI Radeon X1270 x86/MMX/3DNow!/SSE2 supported 0 ATI Radeon X1200 -ATI Technologies Inc. ATI Radeon X1300/X1550 Series supported 1 ATI Radeon X1300 -ATI Technologies Inc. ATI Radeon X1550 Series supported 1 ATI Radeon X1500 -ATI Technologies Inc. ATI Radeon X1600 OpenGL Engine supported 1 ATI Radeon X1600 -ATI Technologies Inc. ATI Radeon X1900 OpenGL Engine supported 3 ATI Radeon X1900 -ATI Technologies Inc. ATI Radeon X1950 GT supported 3 ATI Radeon X1900 -ATI Technologies Inc. ATI Radeon X300/X550/X1050 Series supported 0 ATI Radeon X300 -ATI Technologies Inc. ATI Radeon Xpress 1100 unsupported 0 ATI Radeon Xpress -ATI Technologies Inc. ATI Radeon Xpress 1150 unsupported 0 ATI Radeon Xpress -ATI Technologies Inc. ATI Radeon Xpress 1150 x86/MMX/3DNow!/SSE2 unsupported 0 ATI Radeon Xpress -ATI Technologies Inc. ATI Radeon Xpress 1200 unsupported 0 ATI Radeon Xpress -ATI Technologies Inc. ATI Radeon Xpress 1200 Series unsupported 0 ATI Radeon Xpress -ATI Technologies Inc. ATI Radeon Xpress 1200 Series x86/MMX/3DNow!/SSE2 unsupported 0 ATI Radeon Xpress -ATI Technologies Inc. ATI Radeon Xpress 1200 x86/MMX/3DNow!/SSE2 unsupported 0 ATI Radeon Xpress -ATI Technologies Inc. ATI Radeon Xpress 1250 unsupported 0 ATI Radeon Xpress -ATI Technologies Inc. ATI Radeon Xpress 1250 x86/SSE2 unsupported 0 ATI Radeon Xpress -ATI Technologies Inc. ATI Radeon Xpress Series unsupported 0 ATI Radeon Xpress -ATI Technologies Inc. ATI Yamaha HD 9000 UNRECOGNIZED -ATI Technologies Inc. ATi RS880M UNRECOGNIZED -ATI Technologies Inc. Carte graphique VGA standard UNRECOGNIZED -ATI Technologies Inc. Diamond Radeon X1550 Series supported 1 ATI Radeon X1500 -ATI Technologies Inc. EG JUNIPER UNRECOGNIZED -ATI Technologies Inc. EG PARK UNRECOGNIZED -ATI Technologies Inc. FireGL V3100 Pentium 4 (SSE2) supported 0 ATI FireGL -ATI Technologies Inc. FireMV 2400 PCI DDR x86 unsupported 0 ATI FireMV -ATI Technologies Inc. FireMV 2400 PCI DDR x86/SSE2 unsupported 0 ATI FireMV -ATI Technologies Inc. GeCube Radeon X1550 supported 1 ATI Radeon X1500 -ATI Technologies Inc. Geforce 9500 GT UNRECOGNIZED -ATI Technologies Inc. Geforce 9500GT UNRECOGNIZED -ATI Technologies Inc. Geforce 9800 GT UNRECOGNIZED -ATI Technologies Inc. HD3730 UNRECOGNIZED -ATI Technologies Inc. HIGHTECH EXCALIBUR RADEON 9550SE Series UNRECOGNIZED -ATI Technologies Inc. HIGHTECH EXCALIBUR X700 PRO UNRECOGNIZED -ATI Technologies Inc. M21 x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. M76M supported 3 ATI M76 -ATI Technologies Inc. MOBILITY RADEON 7500 DDR x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. MOBILITY RADEON 9000 DDR x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. MOBILITY RADEON 9000 IGPRADEON 9100 IGP DDR x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. MOBILITY RADEON 9600 x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. MOBILITY RADEON 9700 x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. MOBILITY RADEON X300 x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. MOBILITY RADEON X600 x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. MOBILITY RADEON X700 SE x86 UNRECOGNIZED -ATI Technologies Inc. MOBILITY RADEON X700 x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. MSI RX9550SE supported 1 ATI Radeon RX9550 -ATI Technologies Inc. Mobility Radeon X2300 HD supported 0 ATI Mobility Radeon -ATI Technologies Inc. Mobility Radeon X2300 HD x86/SSE2 supported 0 ATI Mobility Radeon -ATI Technologies Inc. RADEON 7000 DDR x86/MMX/3DNow!/SSE UNRECOGNIZED -ATI Technologies Inc. RADEON 7000 DDR x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 7500 DDR x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 7500 DDR x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 9100 IGP DDR x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 9200 DDR x86/MMX/3DNow!/SSE UNRECOGNIZED -ATI Technologies Inc. RADEON 9200 DDR x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 9200 PRO DDR x86/MMX/3DNow!/SSE UNRECOGNIZED -ATI Technologies Inc. RADEON 9200 Series DDR x86/MMX/3DNow!/SSE UNRECOGNIZED -ATI Technologies Inc. RADEON 9200 Series DDR x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 9200 Series DDR x86/SSE UNRECOGNIZED -ATI Technologies Inc. RADEON 9200 Series DDR x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 9200SE DDR x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 9200SE DDR x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 9250/9200 Series DDR x86/MMX/3DNow!/SSE UNRECOGNIZED -ATI Technologies Inc. RADEON 9250/9200 Series DDR x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 9250/9200 Series DDR x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 9500 UNRECOGNIZED -ATI Technologies Inc. RADEON 9550 x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 9600 SERIES UNRECOGNIZED -ATI Technologies Inc. RADEON 9600 SERIES x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 9600 TX x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 9600 x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 9600 x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON 9700 PRO x86/MMX/3DNow!/SSE UNRECOGNIZED -ATI Technologies Inc. RADEON 9800 PRO UNRECOGNIZED -ATI Technologies Inc. RADEON 9800 x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON IGP 340M DDR x86/SSE2 unsupported 0 ATI IGP 340M -ATI Technologies Inc. RADEON X300 Series x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON X300 x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON X300/X550 Series x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON X550 x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON X550 x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON X600 Series UNRECOGNIZED -ATI Technologies Inc. RADEON X600 x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON X700 PRO x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON X800 SE x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON X800GT UNRECOGNIZED -ATI Technologies Inc. RADEON XPRESS 200 Series SW TCL x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON XPRESS 200 Series SW TCL x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON XPRESS 200 Series x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON XPRESS 200M Series x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON XPRESS 200M Series x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON XPRESS Series x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. RADEON XPRESS Series x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RS740 UNRECOGNIZED -ATI Technologies Inc. RS780C UNRECOGNIZED -ATI Technologies Inc. RS780M UNRECOGNIZED -ATI Technologies Inc. RS880 UNRECOGNIZED -ATI Technologies Inc. RV410 Pro x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. RV790 UNRECOGNIZED -ATI Technologies Inc. Radeon (TM) HD 6470M UNRECOGNIZED -ATI Technologies Inc. Radeon (TM) HD 6490M UNRECOGNIZED -ATI Technologies Inc. Radeon (TM) HD 6770M UNRECOGNIZED -ATI Technologies Inc. Radeon 7000 DDR x86/SSE2 supported 0 ATI Radeon 7xxx -ATI Technologies Inc. Radeon 7000 SDR x86/SSE2 supported 0 ATI Radeon 7xxx -ATI Technologies Inc. Radeon 7500 DDR x86/SSE2 supported 0 ATI Radeon 7xxx -ATI Technologies Inc. Radeon 9000 DDR x86/SSE2 supported 0 ATI Radeon 9000 -ATI Technologies Inc. Radeon DDR x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. Radeon DDR x86/SSE UNRECOGNIZED -ATI Technologies Inc. Radeon DDR x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. Radeon HD 6310 supported 2 ATI Radeon HD 6300 -ATI Technologies Inc. Radeon HD 6800 Series supported 3 ATI Radeon HD 6800 -ATI Technologies Inc. Radeon SDR x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. Radeon X1300 Series supported 1 ATI Radeon X1300 -ATI Technologies Inc. Radeon X1300 Series x86/MMX/3DNow!/SSE2 supported 1 ATI Radeon X1300 -ATI Technologies Inc. Radeon X1300 Series x86/SSE2 supported 1 ATI Radeon X1300 -ATI Technologies Inc. Radeon X1300/X1550 Series supported 1 ATI Radeon X1300 -ATI Technologies Inc. Radeon X1300/X1550 Series x86/SSE2 supported 1 ATI Radeon X1300 -ATI Technologies Inc. Radeon X1550 64-bit (Microsoft - WDDM) supported 1 ATI Radeon X1500 -ATI Technologies Inc. Radeon X1550 Series supported 1 ATI Radeon X1500 -ATI Technologies Inc. Radeon X1550 Series x86/SSE2 supported 1 ATI Radeon X1500 -ATI Technologies Inc. Radeon X1600 supported 1 ATI Radeon X1600 -ATI Technologies Inc. Radeon X1600 Pro / X1300XT x86/MMX/3DNow!/SSE2 supported 1 ATI Radeon X1600 -ATI Technologies Inc. Radeon X1600 Series x86/SSE2 supported 1 ATI Radeon X1600 -ATI Technologies Inc. Radeon X1600/X1650 Series supported 1 ATI Radeon X1600 -ATI Technologies Inc. Radeon X1650 Series supported 1 ATI Radeon X1600 -ATI Technologies Inc. Radeon X1650 Series x86/MMX/3DNow!/SSE2 supported 1 ATI Radeon X1600 -ATI Technologies Inc. Radeon X1650 Series x86/SSE2 supported 1 ATI Radeon X1600 -ATI Technologies Inc. Radeon X1900 Series x86/MMX/3DNow!/SSE2 supported 3 ATI Radeon X1900 -ATI Technologies Inc. Radeon X1950 Pro supported 3 ATI Radeon X1900 -ATI Technologies Inc. Radeon X1950 Pro x86/MMX/3DNow!/SSE2 supported 3 ATI Radeon X1900 -ATI Technologies Inc. Radeon X1950 Series supported 3 ATI Radeon X1900 -ATI Technologies Inc. Radeon X1950 Series (Microsoft - WDDM) supported 3 ATI Radeon X1900 -ATI Technologies Inc. Radeon X300/X550/X1050 Series supported 0 ATI Radeon X300 -ATI Technologies Inc. Radeon X550/X700 Series supported 0 ATI Radeon X500 -ATI Technologies Inc. Radeon X550XTX x86/MMX/3DNow!/SSE2 supported 0 ATI Radeon X500 -ATI Technologies Inc. SAPPHIRE RADEON X300SE UNRECOGNIZED -ATI Technologies Inc. SAPPHIRE RADEON X300SE x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. SAPPHIRE RADEON X300SE x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. SAPPHIRE Radeon X1550 Series supported 1 ATI Radeon X1500 -ATI Technologies Inc. SAPPHIRE Radeon X1550 Series x86/MMX/3DNow!/SSE2 supported 1 ATI Radeon X1500 -ATI Technologies Inc. Sapphire Radeon HD 3730 UNRECOGNIZED -ATI Technologies Inc. Sapphire Radeon HD 3750 UNRECOGNIZED -ATI Technologies Inc. Standard VGA Graphics Adapter UNRECOGNIZED -ATI Technologies Inc. Tul, RADEON X600 PRO UNRECOGNIZED -ATI Technologies Inc. Tul, RADEON X600 PRO x86/SSE2 UNRECOGNIZED -ATI Technologies Inc. Tul, RADEON X700 PRO UNRECOGNIZED -ATI Technologies Inc. Tul, RADEON X700 PRO x86/MMX/3DNow!/SSE2 UNRECOGNIZED -ATI Technologies Inc. VisionTek Radeon 4350 UNRECOGNIZED -ATI Technologies Inc. VisionTek Radeon X1550 Series supported 1 ATI Radeon X1500 -ATI Technologies Inc. WRESTLER 9802 UNRECOGNIZED -ATI Technologies Inc. WRESTLER 9803 UNRECOGNIZED -ATI Technologies Inc. XFX Radeon HD 4570 supported 3 ATI Radeon HD 4500 -ATI Technologies Inc. Yamaha ATI HD 9000da/s UNRECOGNIZED -ATI Technologies Inc. Yamaha ATI HD 9000da/s 2048 UNRECOGNIZED -Advanced Micro Devices, Inc. Mesa DRI R600 (RS780 9612) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa -Advanced Micro Devices, Inc. Mesa DRI R600 (RS880 9710) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa -Advanced Micro Devices, Inc. Mesa DRI R600 (RS880 9712) 20090101 TCL unsupported 0 Mesa -Advanced Micro Devices, Inc. Mesa DRI R600 (RV610 94C1) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa -Advanced Micro Devices, Inc. Mesa DRI R600 (RV610 94C9) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa -Advanced Micro Devices, Inc. Mesa DRI R600 (RV620 95C4) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa -Advanced Micro Devices, Inc. Mesa DRI R600 (RV620 95C5) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa -Advanced Micro Devices, Inc. Mesa DRI R600 (RV620 95C5) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa -Advanced Micro Devices, Inc. Mesa DRI R600 (RV635 9596) 20090101 x86/MMX+/3DNow!+/SSE TCL DRI2 unsupported 0 Mesa -Advanced Micro Devices, Inc. Mesa DRI R600 (RV670 9505) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa -Advanced Micro Devices, Inc. Mesa DRI R600 (RV710 9552) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa -Advanced Micro Devices, Inc. Mesa DRI R600 (RV730 9490) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa -Advanced Micro Devices, Inc. Mesa DRI R600 (RV730 9490) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa -Advanced Micro Devices, Inc. Mesa DRI R600 (RV730 9498) 20090101 TCL DRI2 unsupported 0 Mesa -Advanced Micro Devices, Inc. Mesa DRI R600 (RV770 9440) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa -Advanced Micro Devices, Inc. Mesa DRI R600 (RV770 9442) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa -Alex Mohr GL Hijacker! UNRECOGNIZED -Apple Software Renderer unsupported 0 Apple Software Renderer -DRI R300 Project Mesa DRI R300 (RS400 5954) 20090101 x86/MMX+/3DNow!+/SSE2 NO-TCL DRI2 unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RS400 5975) 20090101 x86/MMX+/3DNow!+/SSE2 NO-TCL DRI2 unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RS400 5A62) 20090101 x86/MMX/SSE2 NO-TCL DRI2 unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RS600 7941) 20090101 x86/MMX/SSE2 NO-TCL unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RS690 791F) 20090101 x86/MMX+/3DNow!+/SSE2 NO-TCL DRI2 unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RV350 4151) 20090101 AGP 4x x86/MMX+/3DNow!+/SSE TCL unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RV350 4153) 20090101 AGP 8x x86/MMX+/3DNow!+/SSE TCL unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RV380 3150) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RV380 3150) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RV380 5B60) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RV380 5B62) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RV515 7145) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RV515 7146) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RV515 7146) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RV515 7149) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RV515 714A) 20090101 x86/MMX/SSE2 TCL unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RV515 714A) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa -DRI R300 Project Mesa DRI R300 (RV530 71C4) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa -GPU_CLASS_UNKNOWN UNRECOGNIZED -Humper Chromium UNRECOGNIZED -Intel UNRECOGNIZED -Intel HD Graphics Family supported 0 Intel HD Graphics -Intel 3D-Analyze v2.2 - http://www.tommti-systems.com UNRECOGNIZED -Intel 3D-Analyze v2.3 - http://www.tommti-systems.com UNRECOGNIZED -Intel 4 Series Internal Chipset UNRECOGNIZED -Intel 830M unsupported 0 Intel 830M -Intel 845G unsupported 0 Intel 845G -Intel 855GM unsupported 0 Intel 855GM -Intel 865G unsupported 0 Intel 865G -Intel 915G unsupported 0 Intel 915G -Intel 915GM unsupported 0 Intel 915GM -Intel 945G supported 0 Intel 945G -Intel 945GM supported 0 Intel 945GM -Intel 950 supported 0 Intel 950 -Intel 965 supported 0 Intel 965 -Intel B43 Express Chipset UNRECOGNIZED -Intel Bear Lake unsupported 0 Intel Bear Lake -Intel Broadwater unsupported 0 Intel Broadwater -Intel Brookdale unsupported 0 Intel Brookdale -Intel Cantiga unsupported 0 Intel Cantiga -Intel Eaglelake supported 0 Intel Eaglelake -Intel Familia Mobile 45 Express Chipset (Microsoft Corporation - WDDM 1.1) UNRECOGNIZED -Intel G33 unsupported 0 Intel G33 -Intel G41 supported 0 Intel G41 -Intel G41 Express Chipset supported 0 Intel G41 -Intel G45 supported 0 Intel G45 -Intel G45/G43 Express Chipset supported 0 Intel G45 -Intel Graphics Media Accelerator HD supported 0 Intel Graphics Media HD -Intel HD Graphics supported 0 Intel HD Graphics -Intel HD Graphics 100 supported 0 Intel HD Graphics -Intel HD Graphics 200 supported 0 Intel HD Graphics -Intel HD Graphics 200 BR-1101-00SH supported 0 Intel HD Graphics -Intel HD Graphics 200 BR-1101-00SJ supported 0 Intel HD Graphics -Intel HD Graphics 200 BR-1101-00SK supported 0 Intel HD Graphics -Intel HD Graphics 200 BR-1101-01M5 supported 0 Intel HD Graphics -Intel HD Graphics 200 BR-1101-01M6 supported 0 Intel HD Graphics -Intel HD Graphics BR-1004-01Y1 supported 0 Intel HD Graphics -Intel HD Graphics BR-1006-0364 supported 0 Intel HD Graphics -Intel HD Graphics BR-1006-0365 supported 0 Intel HD Graphics -Intel HD Graphics BR-1006-0366 supported 0 Intel HD Graphics -Intel HD Graphics BR-1007-02G4 supported 0 Intel HD Graphics -Intel HD Graphics BR-1101-04SY supported 0 Intel HD Graphics -Intel HD Graphics BR-1101-04SZ supported 0 Intel HD Graphics -Intel HD Graphics BR-1101-04T0 supported 0 Intel HD Graphics -Intel HD Graphics BR-1101-04T9 supported 0 Intel HD Graphics -Intel HD Graphics Family supported 0 Intel HD Graphics -Intel HD Graphics Family BR-1012-00Y8 supported 0 Intel HD Graphics -Intel HD Graphics Family BR-1012-00YF supported 0 Intel HD Graphics -Intel HD Graphics Family BR-1012-00ZD supported 0 Intel HD Graphics -Intel HD Graphics Family BR-1102-00ML supported 0 Intel HD Graphics -Intel Inc. Intel GMA 900 OpenGL Engine UNRECOGNIZED -Intel Inc. Intel GMA 950 OpenGL Engine supported 0 Intel 950 -Intel Inc. Intel GMA X3100 OpenGL Engine supported 0 Intel X3100 -Intel Inc. Intel HD Graphics 3000 OpenGL Engine supported 0 Intel HD Graphics -Intel Inc. Intel HD Graphics OpenGL Engine supported 0 Intel HD Graphics -Intel Inc. Intel HD xxxx OpenGL Engine UNRECOGNIZED -Intel Intel 845G unsupported 0 Intel 845G -Intel Intel 855GM unsupported 0 Intel 855GM -Intel Intel 865G unsupported 0 Intel 865G -Intel Intel 915G unsupported 0 Intel 915G -Intel Intel 915GM unsupported 0 Intel 915GM -Intel Intel 945G supported 0 Intel 945G -Intel Intel 945GM supported 0 Intel 945GM -Intel Intel 965/963 Graphics Media Accelerator supported 0 Intel 965 -Intel Intel Bear Lake B unsupported 0 Intel Bear Lake -Intel Intel Broadwater G unsupported 0 Intel Broadwater -Intel Intel Brookdale-G unsupported 0 Intel Brookdale -Intel Intel Calistoga UNRECOGNIZED -Intel Intel Cantiga unsupported 0 Intel Cantiga -Intel Intel Eaglelake supported 0 Intel Eaglelake -Intel Intel Grantsdale-G UNRECOGNIZED -Intel Intel HD Graphics 3000 supported 0 Intel HD Graphics -Intel Intel Lakeport UNRECOGNIZED -Intel Intel Montara-GM unsupported 0 Intel Montara -Intel Intel Pineview Platform supported 0 Intel Pineview -Intel Intel Springdale-G unsupported 0 Intel Springdale -Intel Mobile - famiglia Express Chipset 45 (Microsoft Corporation - WDDM 1.1) UNRECOGNIZED -Intel Mobile 4 Series supported 0 Intel Mobile 4 Series -Intel Mobile 4 Series Express Chipset Family supported 0 Intel Mobile 4 Series -Intel Mobile 45 Express Chipset Family (Microsoft Corporation - WDDM 1.1) UNRECOGNIZED -Intel Mobile HD Graphics supported 0 Intel HD Graphics -Intel Mobile SandyBridge HD Graphics supported 0 Intel HD Graphics -Intel Montara unsupported 0 Intel Montara -Intel Pineview supported 0 Intel Pineview -Intel Q45/Q43 Express Chipset UNRECOGNIZED -Intel Royal BNA Driver UNRECOGNIZED -Intel SandyBridge HD Graphics supported 0 Intel HD Graphics -Intel SandyBridge HD Graphics BR-1006-00V8 supported 0 Intel HD Graphics -Intel Springdale unsupported 0 Intel Springdale -Intel X3100 supported 0 Intel X3100 -Intergraph wcgdrv 06.05.06.18 UNRECOGNIZED -Intergraph wcgdrv 06.06.00.35 UNRECOGNIZED -LegendgrafiX Mobile 945 Express C/TitaniumGL/GAC/D3D ACCELERATION/6x86/1 THREADs | http://Legendgra... UNRECOGNIZED -LegendgrafiX NVIDIA GeForce GT 430/TitaniumGL/GAC/D3D ACCELERATION/6x86/1 THREADs | http://Legendgr... supported 3 NVIDIA GT 430 -Linden Lab Headless UNRECOGNIZED -Matrox unsupported 0 Matrox -Mesa unsupported 0 Mesa -Mesa Project Software Rasterizer unsupported 0 Mesa -NVIDIA /PCI/SSE2 UNRECOGNIZED -NVIDIA /PCI/SSE2/3DNOW! UNRECOGNIZED -NVIDIA 205 UNRECOGNIZED -NVIDIA 210 UNRECOGNIZED -NVIDIA 310 UNRECOGNIZED -NVIDIA 310M UNRECOGNIZED -NVIDIA 315 UNRECOGNIZED -NVIDIA 315M UNRECOGNIZED -NVIDIA 320M UNRECOGNIZED -NVIDIA C51 supported 0 NVIDIA C51 -NVIDIA D10M2-20/PCI/SSE2 UNRECOGNIZED -NVIDIA D10P1-25/PCI/SSE2 UNRECOGNIZED -NVIDIA D10P1-30/PCI/SSE2 UNRECOGNIZED -NVIDIA D10P2-50/PCI/SSE2 UNRECOGNIZED -NVIDIA D11M2-30/PCI/SSE2 UNRECOGNIZED -NVIDIA D12-P1-35/PCI/SSE2 UNRECOGNIZED -NVIDIA D12U-15/PCI/SSE2 UNRECOGNIZED -NVIDIA D13M1-40/PCI/SSE2 UNRECOGNIZED -NVIDIA D13P1-40/PCI/SSE2 UNRECOGNIZED -NVIDIA D13U-10/PCI/SSE2 UNRECOGNIZED -NVIDIA D13U/PCI/SSE2 UNRECOGNIZED -NVIDIA D9M supported 1 NVIDIA D9M -NVIDIA D9M-20/PCI/SSE2 supported 1 NVIDIA D9M -NVIDIA Entry Graphics/PCI/SSE2 UNRECOGNIZED -NVIDIA Entry Graphics/PCI/SSE2/3DNOW! UNRECOGNIZED -NVIDIA G 102M UNRECOGNIZED -NVIDIA G 103M UNRECOGNIZED -NVIDIA G 105M UNRECOGNIZED -NVIDIA G 110M UNRECOGNIZED -NVIDIA G100 UNRECOGNIZED -NVIDIA G102M UNRECOGNIZED -NVIDIA G103M UNRECOGNIZED -NVIDIA G105M UNRECOGNIZED -NVIDIA G210 UNRECOGNIZED -NVIDIA G210M UNRECOGNIZED -NVIDIA G70/PCI/SSE2 UNRECOGNIZED -NVIDIA G72 supported 1 NVIDIA G72 -NVIDIA G73 supported 1 NVIDIA G73 -NVIDIA G84 supported 2 NVIDIA G84 -NVIDIA G86 supported 3 NVIDIA G86 -NVIDIA G92 supported 3 NVIDIA G92 -NVIDIA G92-200/PCI/SSE2 supported 3 NVIDIA G92 -NVIDIA G94 supported 3 NVIDIA G94 -NVIDIA G96/PCI/SSE2 UNRECOGNIZED -NVIDIA G98/PCI/SSE2 UNRECOGNIZED -NVIDIA GT 120 UNRECOGNIZED -NVIDIA GT 130 UNRECOGNIZED -NVIDIA GT 130M UNRECOGNIZED -NVIDIA GT 140 UNRECOGNIZED -NVIDIA GT 150 UNRECOGNIZED -NVIDIA GT 160M UNRECOGNIZED -NVIDIA GT 220 UNRECOGNIZED -NVIDIA GT 220/PCI/SSE2 UNRECOGNIZED -NVIDIA GT 220/PCI/SSE2/3DNOW! UNRECOGNIZED -NVIDIA GT 230 UNRECOGNIZED -NVIDIA GT 230M UNRECOGNIZED -NVIDIA GT 240 UNRECOGNIZED -NVIDIA GT 240M UNRECOGNIZED -NVIDIA GT 250M UNRECOGNIZED -NVIDIA GT 260M UNRECOGNIZED -NVIDIA GT 320 UNRECOGNIZED -NVIDIA GT 320M UNRECOGNIZED -NVIDIA GT 330 UNRECOGNIZED -NVIDIA GT 330M UNRECOGNIZED -NVIDIA GT 340 UNRECOGNIZED -NVIDIA GT 420 UNRECOGNIZED -NVIDIA GT 430 UNRECOGNIZED -NVIDIA GT 440 UNRECOGNIZED -NVIDIA GT 450 UNRECOGNIZED -NVIDIA GT 520 UNRECOGNIZED -NVIDIA GT 540 UNRECOGNIZED -NVIDIA GT 540M UNRECOGNIZED -NVIDIA GT-120 UNRECOGNIZED -NVIDIA GT200/PCI/SSE2 UNRECOGNIZED -NVIDIA GTS 150 UNRECOGNIZED -NVIDIA GTS 240 UNRECOGNIZED -NVIDIA GTS 250 UNRECOGNIZED -NVIDIA GTS 350M UNRECOGNIZED -NVIDIA GTS 360 UNRECOGNIZED -NVIDIA GTS 360M UNRECOGNIZED -NVIDIA GTS 450 UNRECOGNIZED -NVIDIA GTX 260 UNRECOGNIZED -NVIDIA GTX 260M UNRECOGNIZED -NVIDIA GTX 270 UNRECOGNIZED -NVIDIA GTX 280 UNRECOGNIZED -NVIDIA GTX 285 UNRECOGNIZED -NVIDIA GTX 290 UNRECOGNIZED -NVIDIA GTX 460 UNRECOGNIZED -NVIDIA GTX 460M UNRECOGNIZED -NVIDIA GTX 465 UNRECOGNIZED -NVIDIA GTX 470 UNRECOGNIZED -NVIDIA GTX 470M UNRECOGNIZED -NVIDIA GTX 480 UNRECOGNIZED -NVIDIA GTX 480M UNRECOGNIZED -NVIDIA GTX 550 Ti UNRECOGNIZED -NVIDIA GTX 560 UNRECOGNIZED -NVIDIA GTX 560 Ti UNRECOGNIZED -NVIDIA GTX 570 UNRECOGNIZED -NVIDIA GTX 580 UNRECOGNIZED -NVIDIA GTX 590 UNRECOGNIZED -NVIDIA GeForce UNRECOGNIZED -NVIDIA GeForce 2 UNRECOGNIZED -NVIDIA GeForce 205/PCI/SSE2 supported 2 NVIDIA 205 -NVIDIA GeForce 210 supported 2 NVIDIA 210 -NVIDIA GeForce 210/PCI/SSE2 supported 2 NVIDIA 210 -NVIDIA GeForce 210/PCI/SSE2/3DNOW! supported 2 NVIDIA 210 -NVIDIA GeForce 3 UNRECOGNIZED -NVIDIA GeForce 305M/PCI/SSE2 UNRECOGNIZED -NVIDIA GeForce 310/PCI/SSE2 supported 3 NVIDIA 310 -NVIDIA GeForce 310/PCI/SSE2/3DNOW! supported 3 NVIDIA 310 -NVIDIA GeForce 310M/PCI/SSE2 supported 1 NVIDIA 310M -NVIDIA GeForce 315/PCI/SSE2 supported 3 NVIDIA 315 -NVIDIA GeForce 315/PCI/SSE2/3DNOW! supported 3 NVIDIA 315 -NVIDIA GeForce 315M/PCI/SSE2 supported 2 NVIDIA 315M -NVIDIA GeForce 320M/PCI/SSE2 supported 2 NVIDIA 320M -NVIDIA GeForce 4 Go UNRECOGNIZED -NVIDIA GeForce 4 MX UNRECOGNIZED -NVIDIA GeForce 4 Ti UNRECOGNIZED -NVIDIA GeForce 405/PCI/SSE2 UNRECOGNIZED -NVIDIA GeForce 6100 supported 0 NVIDIA GeForce 6100 -NVIDIA GeForce 6100 nForce 400/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 -NVIDIA GeForce 6100 nForce 405/PCI/SSE2 supported 0 NVIDIA GeForce 6100 -NVIDIA GeForce 6100 nForce 405/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 -NVIDIA GeForce 6100 nForce 420/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 -NVIDIA GeForce 6100 nForce 430/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 -NVIDIA GeForce 6100/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 -NVIDIA GeForce 6150 LE/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 -NVIDIA GeForce 6150/PCI/SSE2 supported 0 NVIDIA GeForce 6100 -NVIDIA GeForce 6150/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 -NVIDIA GeForce 6150SE nForce 430/PCI/SSE2 supported 0 NVIDIA GeForce 6100 -NVIDIA GeForce 6150SE nForce 430/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 -NVIDIA GeForce 6150SE/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 -NVIDIA GeForce 6200 supported 0 NVIDIA GeForce 6200 -NVIDIA GeForce 6200 A-LE/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 6200 -NVIDIA GeForce 6200 A-LE/AGP/SSE2 supported 0 NVIDIA GeForce 6200 -NVIDIA GeForce 6200 A-LE/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 -NVIDIA GeForce 6200 LE/PCI/SSE2 supported 0 NVIDIA GeForce 6200 -NVIDIA GeForce 6200 LE/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 -NVIDIA GeForce 6200 TurboCache(TM)/PCI/SSE2 supported 0 NVIDIA GeForce 6200 -NVIDIA GeForce 6200 TurboCache(TM)/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 -NVIDIA GeForce 6200/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 6200 -NVIDIA GeForce 6200/AGP/SSE2 supported 0 NVIDIA GeForce 6200 -NVIDIA GeForce 6200/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 -NVIDIA GeForce 6200/PCI/SSE/3DNOW! supported 0 NVIDIA GeForce 6200 -NVIDIA GeForce 6200/PCI/SSE2 supported 0 NVIDIA GeForce 6200 -NVIDIA GeForce 6200/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 -NVIDIA GeForce 6200SE TurboCache(TM)/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 -NVIDIA GeForce 6500 supported 0 NVIDIA GeForce 6500 -NVIDIA GeForce 6500/PCI/SSE2 supported 0 NVIDIA GeForce 6500 -NVIDIA GeForce 6600 supported 1 NVIDIA GeForce 6600 -NVIDIA GeForce 6600 GT/AGP/SSE/3DNOW! supported 1 NVIDIA GeForce 6600 -NVIDIA GeForce 6600 GT/AGP/SSE2 supported 1 NVIDIA GeForce 6600 -NVIDIA GeForce 6600 GT/PCI/SSE/3DNOW! supported 1 NVIDIA GeForce 6600 -NVIDIA GeForce 6600 GT/PCI/SSE2 supported 1 NVIDIA GeForce 6600 -NVIDIA GeForce 6600 GT/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 6600 -NVIDIA GeForce 6600 LE/PCI/SSE2 supported 1 NVIDIA GeForce 6600 -NVIDIA GeForce 6600/AGP/SSE/3DNOW! supported 1 NVIDIA GeForce 6600 -NVIDIA GeForce 6600/AGP/SSE2 supported 1 NVIDIA GeForce 6600 -NVIDIA GeForce 6600/AGP/SSE2/3DNOW! supported 1 NVIDIA GeForce 6600 -NVIDIA GeForce 6600/PCI/SSE2 supported 1 NVIDIA GeForce 6600 -NVIDIA GeForce 6600/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 6600 -NVIDIA GeForce 6700 supported 2 NVIDIA GeForce 6700 -NVIDIA GeForce 6800 supported 2 NVIDIA GeForce 6800 -NVIDIA GeForce 6800 GS/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 6800 -NVIDIA GeForce 6800 GT/AGP/SSE2 supported 2 NVIDIA GeForce 6800 -NVIDIA GeForce 6800 GT/PCI/SSE2 supported 2 NVIDIA GeForce 6800 -NVIDIA GeForce 6800 XT/AGP/SSE2 supported 2 NVIDIA GeForce 6800 -NVIDIA GeForce 6800 XT/PCI/SSE2 supported 2 NVIDIA GeForce 6800 -NVIDIA GeForce 6800/PCI/SSE2 supported 2 NVIDIA GeForce 6800 -NVIDIA GeForce 6800/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 6800 -NVIDIA GeForce 7000 supported 0 NVIDIA GeForce 7000 -NVIDIA GeForce 7000M supported 0 NVIDIA GeForce 7000 -NVIDIA GeForce 7000M / nForce 610M/PCI/SSE2 supported 0 NVIDIA GeForce 7000 -NVIDIA GeForce 7000M / nForce 610M/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 -NVIDIA GeForce 7025 / NVIDIA nForce 630a/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 -NVIDIA GeForce 7025 / nForce 630a/PCI/SSE2 supported 0 NVIDIA GeForce 7000 -NVIDIA GeForce 7025 / nForce 630a/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 -NVIDIA GeForce 7050 / NVIDIA nForce 610i/PCI/SSE2 supported 0 NVIDIA GeForce 7000 -NVIDIA GeForce 7050 / NVIDIA nForce 620i/PCI/SSE2 supported 0 NVIDIA GeForce 7000 -NVIDIA GeForce 7050 / nForce 610i/PCI/SSE2 supported 0 NVIDIA GeForce 7000 -NVIDIA GeForce 7050 / nForce 620i/PCI/SSE2 supported 0 NVIDIA GeForce 7000 -NVIDIA GeForce 7050 PV / NVIDIA nForce 630a/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 -NVIDIA GeForce 7050 PV / nForce 630a/PCI/SSE2 supported 0 NVIDIA GeForce 7000 -NVIDIA GeForce 7050 PV / nForce 630a/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 -NVIDIA GeForce 7050 SE / NVIDIA nForce 630a/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 -NVIDIA GeForce 7100 supported 0 NVIDIA GeForce 7100 -NVIDIA GeForce 7100 / NVIDIA nForce 620i/PCI/SSE2 supported 0 NVIDIA GeForce 7100 -NVIDIA GeForce 7100 / NVIDIA nForce 630i/PCI/SSE2 supported 0 NVIDIA GeForce 7100 -NVIDIA GeForce 7100 / nForce 630i/PCI/SSE2 supported 0 NVIDIA GeForce 7100 -NVIDIA GeForce 7100 GS/PCI/SSE2 supported 0 NVIDIA GeForce 7100 -NVIDIA GeForce 7100 GS/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7100 -NVIDIA GeForce 7150M / nForce 630M/PCI/SSE2 supported 0 NVIDIA GeForce 7100 -NVIDIA GeForce 7150M / nForce 630M/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7100 -NVIDIA GeForce 7300 supported 1 NVIDIA GeForce 7300 -NVIDIA GeForce 7300 GS/PCI/SSE2 supported 1 NVIDIA GeForce 7300 -NVIDIA GeForce 7300 GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 -NVIDIA GeForce 7300 GT/AGP/SSE2 supported 1 NVIDIA GeForce 7300 -NVIDIA GeForce 7300 GT/AGP/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 -NVIDIA GeForce 7300 GT/PCI/SSE2 supported 1 NVIDIA GeForce 7300 -NVIDIA GeForce 7300 GT/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 -NVIDIA GeForce 7300 LE/PCI/SSE2 supported 1 NVIDIA GeForce 7300 -NVIDIA GeForce 7300 LE/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 -NVIDIA GeForce 7300 SE/7200 GS/PCI/SSE2 supported 1 NVIDIA GeForce 7300 -NVIDIA GeForce 7300 SE/7200 GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 -NVIDIA GeForce 7300 SE/PCI/SSE2 supported 1 NVIDIA GeForce 7300 -NVIDIA GeForce 7300 SE/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 -NVIDIA GeForce 7350 LE/PCI/SSE2 supported 1 NVIDIA GeForce 7300 -NVIDIA GeForce 7500 supported 1 NVIDIA GeForce 7500 -NVIDIA GeForce 7500 LE/PCI/SSE2 supported 1 NVIDIA GeForce 7500 -NVIDIA GeForce 7500 LE/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7500 -NVIDIA GeForce 7600 supported 2 NVIDIA GeForce 7600 -NVIDIA GeForce 7600 GS/AGP/SSE2 supported 2 NVIDIA GeForce 7600 -NVIDIA GeForce 7600 GS/AGP/SSE2/3DNOW! supported 2 NVIDIA GeForce 7600 -NVIDIA GeForce 7600 GS/PCI/SSE2 supported 2 NVIDIA GeForce 7600 -NVIDIA GeForce 7600 GS/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7600 -NVIDIA GeForce 7600 GT/AGP/SSE/3DNOW! supported 2 NVIDIA GeForce 7600 -NVIDIA GeForce 7600 GT/AGP/SSE2 supported 2 NVIDIA GeForce 7600 -NVIDIA GeForce 7600 GT/PCI/SSE2 supported 2 NVIDIA GeForce 7600 -NVIDIA GeForce 7600 GT/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7600 -NVIDIA GeForce 7650 GS/PCI/SSE2 supported 2 NVIDIA GeForce 7600 -NVIDIA GeForce 7800 supported 2 NVIDIA GeForce 7800 -NVIDIA GeForce 7800 GS/AGP/SSE2 supported 2 NVIDIA GeForce 7800 -NVIDIA GeForce 7800 GS/AGP/SSE2/3DNOW! supported 2 NVIDIA GeForce 7800 -NVIDIA GeForce 7800 GT/PCI/SSE2 supported 2 NVIDIA GeForce 7800 -NVIDIA GeForce 7800 GTX/PCI/SSE2 supported 2 NVIDIA GeForce 7800 -NVIDIA GeForce 7800 GTX/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7800 -NVIDIA GeForce 7900 supported 2 NVIDIA GeForce 7900 -NVIDIA GeForce 7900 GS/PCI/SSE2 supported 2 NVIDIA GeForce 7900 -NVIDIA GeForce 7900 GS/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7900 -NVIDIA GeForce 7900 GT/GTO/PCI/SSE2 supported 2 NVIDIA GeForce 7900 -NVIDIA GeForce 7900 GT/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7900 -NVIDIA GeForce 7900 GTX/PCI/SSE2 supported 2 NVIDIA GeForce 7900 -NVIDIA GeForce 7950 GT/PCI/SSE2 supported 2 NVIDIA GeForce 7900 -NVIDIA GeForce 7950 GT/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7900 -NVIDIA GeForce 8100 supported 1 NVIDIA GeForce 8100 -NVIDIA GeForce 8100 / nForce 720a/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8100 -NVIDIA GeForce 8200 supported 1 NVIDIA GeForce 8200 -NVIDIA GeForce 8200/PCI/SSE2 supported 1 NVIDIA GeForce 8200 -NVIDIA GeForce 8200/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8200 -NVIDIA GeForce 8200M supported 1 NVIDIA GeForce 8200M -NVIDIA GeForce 8200M G/PCI/SSE2 supported 1 NVIDIA GeForce 8200M -NVIDIA GeForce 8200M G/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8200M -NVIDIA GeForce 8300 supported 1 NVIDIA GeForce 8300 -NVIDIA GeForce 8300 GS/PCI/SSE2 supported 1 NVIDIA GeForce 8300 -NVIDIA GeForce 8400 supported 1 NVIDIA GeForce 8400 -NVIDIA GeForce 8400 GS/PCI/SSE/3DNOW! supported 1 NVIDIA GeForce 8400 -NVIDIA GeForce 8400 GS/PCI/SSE2 supported 1 NVIDIA GeForce 8400 -NVIDIA GeForce 8400 GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8400 -NVIDIA GeForce 8400/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8400 -NVIDIA GeForce 8400GS/PCI/SSE2 supported 1 NVIDIA GeForce 8400 -NVIDIA GeForce 8400GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8400 -NVIDIA GeForce 8400M supported 1 NVIDIA GeForce 8400M -NVIDIA GeForce 8400M G/PCI/SSE2 supported 1 NVIDIA GeForce 8400M -NVIDIA GeForce 8400M G/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8400M -NVIDIA GeForce 8400M GS/PCI/SSE2 supported 1 NVIDIA GeForce 8400M -NVIDIA GeForce 8400M GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8400M -NVIDIA GeForce 8400M GT/PCI/SSE2 supported 1 NVIDIA GeForce 8400M -NVIDIA GeForce 8500 supported 3 NVIDIA GeForce 8500 -NVIDIA GeForce 8500 GT/PCI/SSE2 supported 3 NVIDIA GeForce 8500 -NVIDIA GeForce 8500 GT/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8500 -NVIDIA GeForce 8600 supported 3 NVIDIA GeForce 8600 -NVIDIA GeForce 8600 GS/PCI/SSE2 supported 3 NVIDIA GeForce 8600 -NVIDIA GeForce 8600 GS/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8600 -NVIDIA GeForce 8600 GT/PCI/SSE2 supported 3 NVIDIA GeForce 8600 -NVIDIA GeForce 8600 GT/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8600 -NVIDIA GeForce 8600 GTS/PCI/SSE2 supported 3 NVIDIA GeForce 8600 -NVIDIA GeForce 8600 GTS/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8600 -NVIDIA GeForce 8600GS/PCI/SSE2 supported 3 NVIDIA GeForce 8600 -NVIDIA GeForce 8600M supported 1 NVIDIA GeForce 8600M -NVIDIA GeForce 8600M GS/PCI/SSE2 supported 1 NVIDIA GeForce 8600M -NVIDIA GeForce 8600M GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8600M -NVIDIA GeForce 8600M GT/PCI/SSE2 supported 1 NVIDIA GeForce 8600M -NVIDIA GeForce 8700 supported 3 NVIDIA GeForce 8700 -NVIDIA GeForce 8700M supported 3 NVIDIA GeForce 8700M -NVIDIA GeForce 8700M GT/PCI/SSE2 supported 3 NVIDIA GeForce 8700M -NVIDIA GeForce 8800 supported 3 NVIDIA GeForce 8800 -NVIDIA GeForce 8800 GS/PCI/SSE2 supported 3 NVIDIA GeForce 8800 -NVIDIA GeForce 8800 GT/PCI/SSE2 supported 3 NVIDIA GeForce 8800 -NVIDIA GeForce 8800 GT/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8800 -NVIDIA GeForce 8800 GTS 512/PCI/SSE2 supported 3 NVIDIA GeForce 8800 -NVIDIA GeForce 8800 GTS 512/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8800 -NVIDIA GeForce 8800 GTS/PCI/SSE2 supported 3 NVIDIA GeForce 8800 -NVIDIA GeForce 8800 GTS/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8800 -NVIDIA GeForce 8800 GTX/PCI/SSE2 supported 3 NVIDIA GeForce 8800 -NVIDIA GeForce 8800 Ultra/PCI/SSE2 supported 3 NVIDIA GeForce 8800 -NVIDIA GeForce 8800M GTS/PCI/SSE2 supported 3 NVIDIA GeForce 8800M -NVIDIA GeForce 8800M GTX/PCI/SSE2 supported 3 NVIDIA GeForce 8800M -NVIDIA GeForce 9100 supported 0 NVIDIA GeForce 9100 -NVIDIA GeForce 9100/PCI/SSE2 supported 0 NVIDIA GeForce 9100 -NVIDIA GeForce 9100/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 9100 -NVIDIA GeForce 9100M supported 0 NVIDIA GeForce 9100M -NVIDIA GeForce 9100M G/PCI/SSE2 supported 0 NVIDIA GeForce 9100M -NVIDIA GeForce 9100M G/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 9100M -NVIDIA GeForce 9200 supported 1 NVIDIA GeForce 9200 -NVIDIA GeForce 9200/PCI/SSE2 supported 1 NVIDIA GeForce 9200 -NVIDIA GeForce 9200/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9200 -NVIDIA GeForce 9200M GE/PCI/SSE2 supported 1 NVIDIA GeForce 9200M -NVIDIA GeForce 9200M GS/PCI/SSE2 supported 1 NVIDIA GeForce 9200M -NVIDIA GeForce 9300 supported 1 NVIDIA GeForce 9300 -NVIDIA GeForce 9300 / nForce 730i/PCI/SSE2 supported 1 NVIDIA GeForce 9300 -NVIDIA GeForce 9300 GE/PCI/SSE2 supported 1 NVIDIA GeForce 9300 -NVIDIA GeForce 9300 GE/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9300 -NVIDIA GeForce 9300 GS/PCI/SSE2 supported 1 NVIDIA GeForce 9300 -NVIDIA GeForce 9300 GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9300 -NVIDIA GeForce 9300 SE/PCI/SSE2 supported 1 NVIDIA GeForce 9300 -NVIDIA GeForce 9300M supported 1 NVIDIA GeForce 9300M -NVIDIA GeForce 9300M G/PCI/SSE2 supported 1 NVIDIA GeForce 9300M -NVIDIA GeForce 9300M G/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9300M -NVIDIA GeForce 9300M GS/PCI/SSE2 supported 1 NVIDIA GeForce 9300M -NVIDIA GeForce 9300M GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9300M -NVIDIA GeForce 9400 supported 1 NVIDIA GeForce 9400 -NVIDIA GeForce 9400 GT/PCI/SSE2 supported 1 NVIDIA GeForce 9400 -NVIDIA GeForce 9400 GT/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9400 -NVIDIA GeForce 9400/PCI/SSE2 supported 1 NVIDIA GeForce 9400 -NVIDIA GeForce 9400M supported 1 NVIDIA GeForce 9400M -NVIDIA GeForce 9400M G/PCI/SSE2 supported 1 NVIDIA GeForce 9400M -NVIDIA GeForce 9400M/PCI/SSE2 supported 1 NVIDIA GeForce 9400M -NVIDIA GeForce 9500 supported 2 NVIDIA GeForce 9500 -NVIDIA GeForce 9500 GS/PCI/SSE2 supported 2 NVIDIA GeForce 9500 -NVIDIA GeForce 9500 GS/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 9500 -NVIDIA GeForce 9500 GT/PCI/SSE2 supported 2 NVIDIA GeForce 9500 -NVIDIA GeForce 9500 GT/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 9500 -NVIDIA GeForce 9500M supported 2 NVIDIA GeForce 9500M -NVIDIA GeForce 9500M GS/PCI/SSE2 supported 2 NVIDIA GeForce 9500M -NVIDIA GeForce 9600 supported 2 NVIDIA GeForce 9600 -NVIDIA GeForce 9600 GS/PCI/SSE2 supported 2 NVIDIA GeForce 9600 -NVIDIA GeForce 9600 GSO 512/PCI/SSE2 supported 2 NVIDIA GeForce 9600 -NVIDIA GeForce 9600 GSO/PCI/SSE2 supported 2 NVIDIA GeForce 9600 -NVIDIA GeForce 9600 GSO/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 9600 -NVIDIA GeForce 9600 GT/PCI/SSE2 supported 2 NVIDIA GeForce 9600 -NVIDIA GeForce 9600 GT/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 9600 -NVIDIA GeForce 9600M supported 3 NVIDIA GeForce 9600M -NVIDIA GeForce 9600M GS/PCI/SSE2 supported 3 NVIDIA GeForce 9600M -NVIDIA GeForce 9600M GT/PCI/SSE2 supported 3 NVIDIA GeForce 9600M -NVIDIA GeForce 9650M GT/PCI/SSE2 supported 2 NVIDIA GeForce 9600 -NVIDIA GeForce 9700M supported 2 NVIDIA GeForce 9700M -NVIDIA GeForce 9700M GT/PCI/SSE2 supported 2 NVIDIA GeForce 9700M -NVIDIA GeForce 9700M GTS/PCI/SSE2 supported 2 NVIDIA GeForce 9700M -NVIDIA GeForce 9800 supported 3 NVIDIA GeForce 9800 -NVIDIA GeForce 9800 GT/PCI/SSE2 supported 3 NVIDIA GeForce 9800 -NVIDIA GeForce 9800 GT/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 9800 -NVIDIA GeForce 9800 GTX+/PCI/SSE2 supported 3 NVIDIA GeForce 9800 -NVIDIA GeForce 9800 GTX+/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 9800 -NVIDIA GeForce 9800 GTX/9800 GTX+/PCI/SSE2 supported 3 NVIDIA GeForce 9800 -NVIDIA GeForce 9800 GTX/PCI/SSE2 supported 3 NVIDIA GeForce 9800 -NVIDIA GeForce 9800 GX2/PCI/SSE2 supported 3 NVIDIA GeForce 9800 -NVIDIA GeForce 9800M supported 3 NVIDIA GeForce 9800M -NVIDIA GeForce 9800M GS/PCI/SSE2 supported 3 NVIDIA GeForce 9800M -NVIDIA GeForce 9800M GT/PCI/SSE2 supported 3 NVIDIA GeForce 9800M -NVIDIA GeForce 9800M GTS/PCI/SSE2 supported 3 NVIDIA GeForce 9800M -NVIDIA GeForce FX 5100 supported 0 NVIDIA GeForce FX 5100 -NVIDIA GeForce FX 5100/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce FX 5100 -NVIDIA GeForce FX 5200 supported 0 NVIDIA GeForce FX 5200 -NVIDIA GeForce FX 5200/AGP/SSE supported 0 NVIDIA GeForce FX 5200 -NVIDIA GeForce FX 5200/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce FX 5200 -NVIDIA GeForce FX 5200/AGP/SSE2 supported 0 NVIDIA GeForce FX 5200 -NVIDIA GeForce FX 5200/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5200 -NVIDIA GeForce FX 5200/PCI/SSE2 supported 0 NVIDIA GeForce FX 5200 -NVIDIA GeForce FX 5200/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5200 -NVIDIA GeForce FX 5200LE/AGP/SSE2 supported 0 NVIDIA GeForce FX 5200 -NVIDIA GeForce FX 5500 supported 0 NVIDIA GeForce FX 5500 -NVIDIA GeForce FX 5500/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce FX 5500 -NVIDIA GeForce FX 5500/AGP/SSE2 supported 0 NVIDIA GeForce FX 5500 -NVIDIA GeForce FX 5500/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5500 -NVIDIA GeForce FX 5500/PCI/SSE2 supported 0 NVIDIA GeForce FX 5500 -NVIDIA GeForce FX 5500/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5500 -NVIDIA GeForce FX 5600 supported 0 NVIDIA GeForce FX 5600 -NVIDIA GeForce FX 5600/AGP/SSE2 supported 0 NVIDIA GeForce FX 5600 -NVIDIA GeForce FX 5600/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5600 -NVIDIA GeForce FX 5600XT/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5600 -NVIDIA GeForce FX 5700 supported 1 NVIDIA GeForce FX 5700 -NVIDIA GeForce FX 5700/AGP/SSE/3DNOW! supported 1 NVIDIA GeForce FX 5700 -NVIDIA GeForce FX 5700LE/AGP/SSE supported 1 NVIDIA GeForce FX 5700 -NVIDIA GeForce FX 5700LE/AGP/SSE/3DNOW! supported 1 NVIDIA GeForce FX 5700 -NVIDIA GeForce FX 5800 supported 1 NVIDIA GeForce FX 5800 -NVIDIA GeForce FX 5900 supported 1 NVIDIA GeForce FX 5900 -NVIDIA GeForce FX 5900/AGP/SSE2 supported 1 NVIDIA GeForce FX 5900 -NVIDIA GeForce FX 5900XT/AGP/SSE2 supported 1 NVIDIA GeForce FX 5900 -NVIDIA GeForce FX Go5100 supported 0 NVIDIA GeForce FX Go5100 -NVIDIA GeForce FX Go5100/AGP/SSE2 supported 0 NVIDIA GeForce FX Go5100 -NVIDIA GeForce FX Go5200 supported 0 NVIDIA GeForce FX Go5200 -NVIDIA GeForce FX Go5200/AGP/SSE2 supported 0 NVIDIA GeForce FX Go5200 -NVIDIA GeForce FX Go5300 supported 0 NVIDIA GeForce FX Go5300 -NVIDIA GeForce FX Go5600 supported 0 NVIDIA GeForce FX Go5600 -NVIDIA GeForce FX Go5600/AGP/SSE2 supported 0 NVIDIA GeForce FX Go5600 -NVIDIA GeForce FX Go5650/AGP/SSE2 supported 0 NVIDIA GeForce FX Go5600 -NVIDIA GeForce FX Go5700 supported 1 NVIDIA GeForce FX Go5700 -NVIDIA GeForce FX Go5xxx/AGP/SSE2 UNRECOGNIZED -NVIDIA GeForce G 103M/PCI/SSE2 supported 0 NVIDIA G103M -NVIDIA GeForce G 105M/PCI/SSE2 supported 0 NVIDIA G105M -NVIDIA GeForce G 110M/PCI/SSE2 supported 0 NVIDIA G 110M -NVIDIA GeForce G100/PCI/SSE2 UNRECOGNIZED -NVIDIA GeForce G100/PCI/SSE2/3DNOW! UNRECOGNIZED -NVIDIA GeForce G102M/PCI/SSE2 supported 0 NVIDIA G102M -NVIDIA GeForce G105M/PCI/SSE2 supported 0 NVIDIA G105M -NVIDIA GeForce G200/PCI/SSE2 UNRECOGNIZED -NVIDIA GeForce G205M/PCI/SSE2 UNRECOGNIZED -NVIDIA GeForce G210/PCI/SSE2 UNRECOGNIZED -NVIDIA GeForce G210/PCI/SSE2/3DNOW! UNRECOGNIZED -NVIDIA GeForce G210M/PCI/SSE2 supported 1 NVIDIA G210M -NVIDIA GeForce G310M/PCI/SSE2 UNRECOGNIZED -NVIDIA GeForce GT 120/PCI/SSE2 supported 2 NVIDIA GT 120 -NVIDIA GeForce GT 120/PCI/SSE2/3DNOW! supported 2 NVIDIA GT 120 -NVIDIA GeForce GT 120M/PCI/SSE2 supported 2 NVIDIA GT 120M -NVIDIA GeForce GT 130M/PCI/SSE2 supported 2 NVIDIA GT 130M -NVIDIA GeForce GT 140/PCI/SSE2 supported 2 NVIDIA GT 140 -NVIDIA GeForce GT 220/PCI/SSE2 supported 2 NVIDIA GT 220 -NVIDIA GeForce GT 220/PCI/SSE2/3DNOW! supported 2 NVIDIA GT 220 -NVIDIA GeForce GT 220M/PCI/SSE2 supported 2 NVIDIA GT 220M -NVIDIA GeForce GT 230/PCI/SSE2 supported 2 NVIDIA GT 230 -NVIDIA GeForce GT 230M/PCI/SSE2 supported 2 NVIDIA GT 230M -NVIDIA GeForce GT 240 supported 1 NVIDIA GT 240 -NVIDIA GeForce GT 240/PCI/SSE2 supported 1 NVIDIA GT 240 -NVIDIA GeForce GT 240/PCI/SSE2/3DNOW! supported 1 NVIDIA GT 240 -NVIDIA GeForce GT 240M/PCI/SSE2 supported 2 NVIDIA GT 240M -NVIDIA GeForce GT 320/PCI/SSE2 supported 0 NVIDIA GT 320 -NVIDIA GeForce GT 320M/PCI/SSE2 supported 0 NVIDIA GT 320M -NVIDIA GeForce GT 325M/PCI/SSE2 supported 0 NVIDIA GT 325M -NVIDIA GeForce GT 330/PCI/SSE2 supported 1 NVIDIA GT 330 -NVIDIA GeForce GT 330/PCI/SSE2/3DNOW! supported 1 NVIDIA GT 330 -NVIDIA GeForce GT 330M/PCI/SSE2 supported 1 NVIDIA GT 330M -NVIDIA GeForce GT 335M/PCI/SSE2 supported 1 NVIDIA GT 335M -NVIDIA GeForce GT 340/PCI/SSE2 supported 1 NVIDIA GT 340 -NVIDIA GeForce GT 340/PCI/SSE2/3DNOW! supported 1 NVIDIA GT 340 -NVIDIA GeForce GT 415M/PCI/SSE2 supported 2 NVIDIA GT 415M -NVIDIA GeForce GT 420/PCI/SSE2 supported 2 NVIDIA GT 420 -NVIDIA GeForce GT 420M/PCI/SSE2 supported 2 NVIDIA GT 420M -NVIDIA GeForce GT 425M/PCI/SSE2 supported 3 NVIDIA GT 425M -NVIDIA GeForce GT 430/PCI/SSE2 supported 3 NVIDIA GT 430 -NVIDIA GeForce GT 430/PCI/SSE2/3DNOW! supported 3 NVIDIA GT 430 -NVIDIA GeForce GT 435M/PCI/SSE2 supported 3 NVIDIA GT 435M -NVIDIA GeForce GT 440/PCI/SSE2 supported 3 NVIDIA GT 440 -NVIDIA GeForce GT 440/PCI/SSE2/3DNOW! supported 3 NVIDIA GT 440 -NVIDIA GeForce GT 445M/PCI/SSE2 supported 3 NVIDIA GT 445M -NVIDIA GeForce GT 520M/PCI/SSE2 supported 3 NVIDIA GT 520M -NVIDIA GeForce GT 525M/PCI/SSE2 supported 3 NVIDIA GT 525M -NVIDIA GeForce GT 540M/PCI/SSE2 supported 3 NVIDIA GT 540M -NVIDIA GeForce GT 550M/PCI/SSE2 supported 3 NVIDIA GT 550M -NVIDIA GeForce GT 555M/PCI/SSE2 supported 3 NVIDIA GT 555M -NVIDIA GeForce GTS 150/PCI/SSE2 supported 3 NVIDIA GTS 150 -NVIDIA GeForce GTS 160M/PCI/SSE2 UNRECOGNIZED -NVIDIA GeForce GTS 240/PCI/SSE2 supported 3 NVIDIA GTS 240 -NVIDIA GeForce GTS 250/PCI/SSE2 supported 3 NVIDIA GTS 250 -NVIDIA GeForce GTS 250/PCI/SSE2/3DNOW! supported 3 NVIDIA GTS 250 -NVIDIA GeForce GTS 250M/PCI/SSE2 supported 3 NVIDIA GTS 250 -NVIDIA GeForce GTS 350M/PCI/SSE2 supported 3 NVIDIA GTS 350M -NVIDIA GeForce GTS 360M/PCI/SSE2 supported 3 NVIDIA GTS 360M -NVIDIA GeForce GTS 450/PCI/SSE2 supported 3 NVIDIA GTS 450 -NVIDIA GeForce GTS 450/PCI/SSE2/3DNOW! supported 3 NVIDIA GTS 450 -NVIDIA GeForce GTS 455/PCI/SSE2 supported 3 NVIDIA GTS 450 -NVIDIA GeForce GTX 260/PCI/SSE2 supported 3 NVIDIA GTX 260 -NVIDIA GeForce GTX 260/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 260 -NVIDIA GeForce GTX 260M/PCI/SSE2 supported 3 NVIDIA GTX 260 -NVIDIA GeForce GTX 275/PCI/SSE2 supported 3 NVIDIA GTX 275 -NVIDIA GeForce GTX 280 supported 3 NVIDIA GTX 280 -NVIDIA GeForce GTX 280/PCI/SSE2 supported 3 NVIDIA GTX 280 -NVIDIA GeForce GTX 280M/PCI/SSE2 supported 3 NVIDIA GTX 280 -NVIDIA GeForce GTX 285/PCI/SSE2 supported 3 NVIDIA GTX 285 -NVIDIA GeForce GTX 295/PCI/SSE2 supported 3 NVIDIA GTX 295 -NVIDIA GeForce GTX 460 SE/PCI/SSE2 supported 3 NVIDIA GTX 460 -NVIDIA GeForce GTX 460 SE/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 460 -NVIDIA GeForce GTX 460/PCI/SSE2 supported 3 NVIDIA GTX 460 -NVIDIA GeForce GTX 460/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 460 -NVIDIA GeForce GTX 460M/PCI/SSE2 supported 3 NVIDIA GTX 460M -NVIDIA GeForce GTX 465/PCI/SSE2 supported 3 NVIDIA GTX 465 -NVIDIA GeForce GTX 465/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 465 -NVIDIA GeForce GTX 470/PCI/SSE2 supported 3 NVIDIA GTX 470 -NVIDIA GeForce GTX 470/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 470 -NVIDIA GeForce GTX 480/PCI/SSE2 supported 3 NVIDIA GTX 480 -NVIDIA GeForce GTX 550 Ti/PCI/SSE2 UNRECOGNIZED -NVIDIA GeForce GTX 550 Ti/PCI/SSE2/3DNOW! UNRECOGNIZED -NVIDIA GeForce GTX 560 Ti/PCI/SSE2 supported 3 NVIDIA GTX 560 -NVIDIA GeForce GTX 560 Ti/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 560 -NVIDIA GeForce GTX 560/PCI/SSE2 supported 3 NVIDIA GTX 560 -NVIDIA GeForce GTX 570/PCI/SSE2 supported 3 NVIDIA GTX 570 -NVIDIA GeForce GTX 570/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 570 -NVIDIA GeForce GTX 580/PCI/SSE2 supported 3 NVIDIA GTX 580 -NVIDIA GeForce GTX 580/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 580 -NVIDIA GeForce GTX 580M/PCI/SSE2 supported 3 NVIDIA GTX 580M -NVIDIA GeForce GTX 590/PCI/SSE2 supported 3 NVIDIA GTX 590 -NVIDIA GeForce Go 6 supported 1 NVIDIA GeForce Go 6 -NVIDIA GeForce Go 6100 supported 0 NVIDIA GeForce Go 6100 -NVIDIA GeForce Go 6100/PCI/SSE2 supported 0 NVIDIA GeForce Go 6100 -NVIDIA GeForce Go 6100/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce Go 6100 -NVIDIA GeForce Go 6150/PCI/SSE2 supported 0 NVIDIA GeForce Go 6100 -NVIDIA GeForce Go 6150/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce Go 6100 -NVIDIA GeForce Go 6200 supported 0 NVIDIA GeForce Go 6200 -NVIDIA GeForce Go 6200/PCI/SSE2 supported 0 NVIDIA GeForce Go 6200 -NVIDIA GeForce Go 6400 supported 1 NVIDIA GeForce Go 6400 -NVIDIA GeForce Go 6400/PCI/SSE2 supported 1 NVIDIA GeForce Go 6400 -NVIDIA GeForce Go 6600 supported 1 NVIDIA GeForce Go 6600 -NVIDIA GeForce Go 6600/PCI/SSE2 supported 1 NVIDIA GeForce Go 6600 -NVIDIA GeForce Go 6800 supported 1 NVIDIA GeForce Go 6800 -NVIDIA GeForce Go 6800 Ultra/PCI/SSE2 supported 1 NVIDIA GeForce Go 6800 -NVIDIA GeForce Go 6800/PCI/SSE2 supported 1 NVIDIA GeForce Go 6800 -NVIDIA GeForce Go 7200 supported 1 NVIDIA GeForce Go 7200 -NVIDIA GeForce Go 7200/PCI/SSE2 supported 1 NVIDIA GeForce Go 7200 -NVIDIA GeForce Go 7200/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce Go 7200 -NVIDIA GeForce Go 7300 supported 1 NVIDIA GeForce Go 7300 -NVIDIA GeForce Go 7300/PCI/SSE2 supported 1 NVIDIA GeForce Go 7300 -NVIDIA GeForce Go 7300/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce Go 7300 -NVIDIA GeForce Go 7400 supported 1 NVIDIA GeForce Go 7400 -NVIDIA GeForce Go 7400/PCI/SSE2 supported 1 NVIDIA GeForce Go 7400 -NVIDIA GeForce Go 7400/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce Go 7400 -NVIDIA GeForce Go 7600 supported 2 NVIDIA GeForce Go 7600 -NVIDIA GeForce Go 7600/PCI/SSE2 supported 2 NVIDIA GeForce Go 7600 -NVIDIA GeForce Go 7600/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce Go 7600 -NVIDIA GeForce Go 7700 supported 2 NVIDIA GeForce Go 7700 -NVIDIA GeForce Go 7800 supported 2 NVIDIA GeForce Go 7800 -NVIDIA GeForce Go 7800 GTX/PCI/SSE2 supported 2 NVIDIA GeForce Go 7800 -NVIDIA GeForce Go 7900 supported 2 NVIDIA GeForce Go 7900 -NVIDIA GeForce Go 7900 GS/PCI/SSE2 supported 2 NVIDIA GeForce Go 7900 -NVIDIA GeForce Go 7900 GTX/PCI/SSE2 supported 2 NVIDIA GeForce Go 7900 -NVIDIA GeForce Go 7950 GTX/PCI/SSE2 supported 2 NVIDIA GeForce Go 7900 -NVIDIA GeForce PCX supported 0 NVIDIA GeForce PCX -NVIDIA GeForce2 GTS/AGP/SSE supported 0 NVIDIA GeForce 2 -NVIDIA GeForce2 MX/AGP/3DNOW! supported 0 NVIDIA GeForce 2 -NVIDIA GeForce2 MX/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 2 -NVIDIA GeForce2 MX/AGP/SSE2 supported 0 NVIDIA GeForce 2 -NVIDIA GeForce2 MX/PCI/SSE2 supported 0 NVIDIA GeForce 2 -NVIDIA GeForce3/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 3 -NVIDIA GeForce3/AGP/SSE2 supported 0 NVIDIA GeForce 3 -NVIDIA GeForce4 420 Go 32M/AGP/SSE2 supported 0 NVIDIA GeForce 4 Go -NVIDIA GeForce4 420 Go 32M/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce 4 Go -NVIDIA GeForce4 420 Go 32M/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 4 Go -NVIDIA GeForce4 440 Go 64M/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce 4 Go -NVIDIA GeForce4 460 Go/AGP/SSE2 supported 0 NVIDIA GeForce 4 Go -NVIDIA GeForce4 MX 4000/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 4 MX -NVIDIA GeForce4 MX 4000/AGP/SSE2 supported 0 NVIDIA GeForce 4 MX -NVIDIA GeForce4 MX 4000/PCI/3DNOW! supported 0 NVIDIA GeForce 4 MX -NVIDIA GeForce4 MX 4000/PCI/SSE/3DNOW! supported 0 NVIDIA GeForce 4 MX -NVIDIA GeForce4 MX 4000/PCI/SSE2 supported 0 NVIDIA GeForce 4 MX -NVIDIA GeForce4 MX 420/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 4 MX -NVIDIA GeForce4 MX 420/AGP/SSE2 supported 0 NVIDIA GeForce 4 MX -NVIDIA GeForce4 MX 440 with AGP8X/AGP/SSE2 supported 0 NVIDIA GeForce 4 MX -NVIDIA GeForce4 MX 440/AGP/SSE2 supported 0 NVIDIA GeForce 4 MX -NVIDIA GeForce4 MX 440/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce 4 MX -NVIDIA GeForce4 MX 440SE with AGP8X/AGP/SSE2 supported 0 NVIDIA GeForce 4 MX -NVIDIA GeForce4 MX Integrated GPU/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 4 MX -NVIDIA GeForce4 Ti 4200 with AGP8X/AGP/SSE supported 0 NVIDIA GeForce 4 Ti -NVIDIA GeForce4 Ti 4200/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 4 Ti -NVIDIA GeForce4 Ti 4400/AGP/SSE2 supported 0 NVIDIA GeForce 4 Ti -NVIDIA Generic UNRECOGNIZED -NVIDIA ION LE/PCI/SSE2 supported 2 NVIDIA ION -NVIDIA ION/PCI/SSE2 supported 2 NVIDIA ION -NVIDIA ION/PCI/SSE2/3DNOW! supported 2 NVIDIA ION -NVIDIA MCP61/PCI/SSE2 UNRECOGNIZED -NVIDIA MCP61/PCI/SSE2/3DNOW! UNRECOGNIZED -NVIDIA MCP73/PCI/SSE2 UNRECOGNIZED -NVIDIA MCP79MH/PCI/SSE2 UNRECOGNIZED -NVIDIA MCP79MX/PCI/SSE2 UNRECOGNIZED -NVIDIA MCP7A-O/PCI/SSE2 UNRECOGNIZED -NVIDIA MCP7A-S/PCI/SSE2 UNRECOGNIZED -NVIDIA MCP89-EPT/PCI/SSE2 UNRECOGNIZED -NVIDIA N10M-GE1/PCI/SSE2 UNRECOGNIZED -NVIDIA N10P-GE1/PCI/SSE2 UNRECOGNIZED -NVIDIA N10P-GV2/PCI/SSE2 UNRECOGNIZED -NVIDIA N11M-GE1/PCI/SSE2 UNRECOGNIZED -NVIDIA N11M-GE2/PCI/SSE2 UNRECOGNIZED -NVIDIA N12E-GS-A1/PCI/SSE2 UNRECOGNIZED -NVIDIA NB9M-GE/PCI/SSE2 UNRECOGNIZED -NVIDIA NB9M-GE1/PCI/SSE2 UNRECOGNIZED -NVIDIA NB9M-GS/PCI/SSE2 UNRECOGNIZED -NVIDIA NB9M-NS/PCI/SSE2 UNRECOGNIZED -NVIDIA NB9P-GE1/PCI/SSE2 UNRECOGNIZED -NVIDIA NB9P-GS/PCI/SSE2 UNRECOGNIZED -NVIDIA NV17/AGP/3DNOW! UNRECOGNIZED -NVIDIA NV17/AGP/SSE2 UNRECOGNIZED -NVIDIA NV34 supported 0 NVIDIA NV34 -NVIDIA NV35 supported 0 NVIDIA NV35 -NVIDIA NV36/AGP/SSE/3DNOW! UNRECOGNIZED -NVIDIA NV36/AGP/SSE2 UNRECOGNIZED -NVIDIA NV41/PCI/SSE2 UNRECOGNIZED -NVIDIA NV43 supported 1 NVIDIA NV43 -NVIDIA NV44 supported 1 NVIDIA NV44 -NVIDIA NVIDIA GeForce 210 OpenGL Engine supported 2 NVIDIA 210 -NVIDIA NVIDIA GeForce 320M OpenGL Engine supported 2 NVIDIA 320M -NVIDIA NVIDIA GeForce 7300 GT OpenGL Engine supported 1 NVIDIA GeForce 7300 -NVIDIA NVIDIA GeForce 7600 GT OpenGL Engine supported 2 NVIDIA GeForce 7600 -NVIDIA NVIDIA GeForce 8600M GT OpenGL Engine supported 1 NVIDIA GeForce 8600M -NVIDIA NVIDIA GeForce 8800 GS OpenGL Engine supported 3 NVIDIA GeForce 8800 -NVIDIA NVIDIA GeForce 8800 GT OpenGL Engine supported 3 NVIDIA GeForce 8800 -NVIDIA NVIDIA GeForce 9400 OpenGL Engine supported 1 NVIDIA GeForce 9400 -NVIDIA NVIDIA GeForce 9400M OpenGL Engine supported 1 NVIDIA GeForce 9400M -NVIDIA NVIDIA GeForce 9500 GT OpenGL Engine supported 2 NVIDIA GeForce 9500 -NVIDIA NVIDIA GeForce 9600M GT OpenGL Engine supported 3 NVIDIA GeForce 9600M -NVIDIA NVIDIA GeForce GT 120 OpenGL Engine supported 2 NVIDIA GT 120 -NVIDIA NVIDIA GeForce GT 130 OpenGL Engine supported NVIDIA GT 130 -NVIDIA NVIDIA GeForce GT 220 OpenGL Engine supported 2 NVIDIA GT 220 -NVIDIA NVIDIA GeForce GT 230M OpenGL Engine supported 2 NVIDIA GT 230M -NVIDIA NVIDIA GeForce GT 240M OpenGL Engine supported 2 NVIDIA GT 240M -NVIDIA NVIDIA GeForce GT 330M OpenGL Engine supported 1 NVIDIA GT 330M -NVIDIA NVIDIA GeForce GT 420M OpenGL Engine supported 2 NVIDIA GT 420M -NVIDIA NVIDIA GeForce GT 425M OpenGL Engine supported 3 NVIDIA GT 425M -NVIDIA NVIDIA GeForce GT 430 OpenGL Engine supported 3 NVIDIA GT 430 -NVIDIA NVIDIA GeForce GT 440 OpenGL Engine supported 3 NVIDIA GT 440 -NVIDIA NVIDIA GeForce GT 540M OpenGL Engine supported 3 NVIDIA GT 540M -NVIDIA NVIDIA GeForce GTS 240 OpenGL Engine supported 3 NVIDIA GTS 240 -NVIDIA NVIDIA GeForce GTS 250 OpenGL Engine supported 3 NVIDIA GTS 250 -NVIDIA NVIDIA GeForce GTS 450 OpenGL Engine supported 3 NVIDIA GTS 450 -NVIDIA NVIDIA GeForce GTX 285 OpenGL Engine supported 3 NVIDIA GTX 285 -NVIDIA NVIDIA GeForce GTX 460 OpenGL Engine supported 3 NVIDIA GTX 460 -NVIDIA NVIDIA GeForce GTX 460M OpenGL Engine supported 3 NVIDIA GTX 460M -NVIDIA NVIDIA GeForce GTX 465 OpenGL Engine supported 3 NVIDIA GTX 465 -NVIDIA NVIDIA GeForce GTX 470 OpenGL Engine supported 3 NVIDIA GTX 470 -NVIDIA NVIDIA GeForce GTX 480 OpenGL Engine supported 3 NVIDIA GTX 480 -NVIDIA NVIDIA GeForce Pre-Release ION OpenGL Engine UNRECOGNIZED -NVIDIA NVIDIA GeForce4 OpenGL Engine UNRECOGNIZED -NVIDIA NVIDIA NV34MAP OpenGL Engine supported 0 NVIDIA NV34 -NVIDIA NVIDIA Quadro 4000 OpenGL Engine UNRECOGNIZED -NVIDIA NVIDIA Quadro FX 4800 OpenGL Engine supported 1 NVIDIA Quadro FX -NVIDIA NVS 2100M/PCI/SSE2 UNRECOGNIZED -NVIDIA NVS 300/PCI/SSE2 UNRECOGNIZED -NVIDIA NVS 3100M/PCI/SSE2 UNRECOGNIZED -NVIDIA NVS 4100/PCI/SSE2/3DNOW! UNRECOGNIZED -NVIDIA NVS 4200M/PCI/SSE2 UNRECOGNIZED -NVIDIA NVS 5100M/PCI/SSE2 UNRECOGNIZED -NVIDIA PCI UNRECOGNIZED -NVIDIA Quadro 2000/PCI/SSE2 UNRECOGNIZED -NVIDIA Quadro 4000 UNRECOGNIZED -NVIDIA Quadro 4000 OpenGL Engine UNRECOGNIZED -NVIDIA Quadro 4000/PCI/SSE2 UNRECOGNIZED -NVIDIA Quadro 5000/PCI/SSE2 UNRECOGNIZED -NVIDIA Quadro 5000M/PCI/SSE2 UNRECOGNIZED -NVIDIA Quadro 600 UNRECOGNIZED -NVIDIA Quadro 600/PCI/SSE2 UNRECOGNIZED -NVIDIA Quadro 600/PCI/SSE2/3DNOW! UNRECOGNIZED -NVIDIA Quadro 6000 UNRECOGNIZED -NVIDIA Quadro 6000/PCI/SSE2 UNRECOGNIZED -NVIDIA Quadro CX/PCI/SSE2 UNRECOGNIZED -NVIDIA Quadro DCC supported 0 NVIDIA Quadro DCC -NVIDIA Quadro FX supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 1100/AGP/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 1400/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 1500 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 1500M/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 1600M/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 1700 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 1700M/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 1800 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 1800/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 1800M/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 2500M/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 2700M/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 2800M/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 3400 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 3450 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 3450/4000 SDI/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 3500 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 3500M/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 360M/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 370 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 370/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 3700 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 3700M/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 370M/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 3800 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 3800M/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 4500 supported 3 NVIDIA Quadro FX 4500 -NVIDIA Quadro FX 4600 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 4800 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 4800/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 560 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 5600 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 570 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 570/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 570M/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 580/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 770M/PCI/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro FX 880M supported 3 NVIDIA Quadro FX 880M -NVIDIA Quadro FX 880M/PCI/SSE2 supported 3 NVIDIA Quadro FX 880M -NVIDIA Quadro FX Go700/AGP/SSE2 supported 1 NVIDIA Quadro FX -NVIDIA Quadro NVS supported 0 NVIDIA Quadro NVS -NVIDIA Quadro NVS 110M/PCI/SSE2 supported 0 NVIDIA Quadro NVS -NVIDIA Quadro NVS 130M/PCI/SSE2 supported 0 NVIDIA Quadro NVS -NVIDIA Quadro NVS 135M/PCI/SSE2 supported 0 NVIDIA Quadro NVS -NVIDIA Quadro NVS 140M/PCI/SSE2 supported 0 NVIDIA Quadro NVS -NVIDIA Quadro NVS 150M/PCI/SSE2 supported 0 NVIDIA Quadro NVS -NVIDIA Quadro NVS 160M/PCI/SSE2 supported 0 NVIDIA Quadro NVS -NVIDIA Quadro NVS 210S/PCI/SSE2/3DNOW! supported 0 NVIDIA Quadro NVS -NVIDIA Quadro NVS 285/PCI/SSE2 supported 0 NVIDIA Quadro NVS -NVIDIA Quadro NVS 290/PCI/SSE2 supported 0 NVIDIA Quadro NVS -NVIDIA Quadro NVS 295/PCI/SSE2 supported 0 NVIDIA Quadro NVS -NVIDIA Quadro NVS 320M/PCI/SSE2 supported 0 NVIDIA Quadro NVS -NVIDIA Quadro NVS 55/280 PCI/PCI/SSE2 supported 0 NVIDIA Quadro NVS -NVIDIA Quadro NVS/PCI/SSE2 supported 0 NVIDIA Quadro NVS -NVIDIA Quadro PCI-E Series/PCI/SSE2/3DNOW! UNRECOGNIZED -NVIDIA Quadro VX 200/PCI/SSE2 UNRECOGNIZED -NVIDIA Quadro/AGP/SSE2 UNRECOGNIZED -NVIDIA Quadro2 supported 0 NVIDIA Quadro2 -NVIDIA Quadro4 supported 0 NVIDIA Quadro4 -NVIDIA RIVA TNT unsupported 0 NVIDIA RIVA TNT -NVIDIA RIVA TNT2/AGP/SSE2 unsupported 0 NVIDIA RIVA TNT -NVIDIA RIVA TNT2/PCI/3DNOW! unsupported 0 NVIDIA RIVA TNT -NVIDIA nForce unsupported 0 NVIDIA nForce -NVIDIA unknown board/AGP/SSE2 UNRECOGNIZED -NVIDIA unknown board/PCI/SSE2 UNRECOGNIZED -NVIDIA unknown board/PCI/SSE2/3DNOW! UNRECOGNIZED -Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 5670 OpenGL Engine supported 3 ATI Radeon HD 5600 -Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 5750 OpenGL Engine supported 3 ATI Radeon HD 5700 -Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 5770 OpenGL Engine supported 3 ATI Radeon HD 5700 -Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6490M OpenGL Engine supported 3 ATI Radeon HD 6400 -Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6750M OpenGL Engine supported 3 ATI Radeon HD 6700 -Parallels and Intel Inc. 3D-Analyze v2.3 - http://www.tommti-systems.com UNRECOGNIZED -Parallels and Intel Inc. Parallels using Intel HD Graphics 3000 OpenGL Engine supported 0 Intel HD Graphics -Parallels and NVIDIA Parallels using NVIDIA GeForce 320M OpenGL Engine supported 2 NVIDIA 320M -Parallels and NVIDIA Parallels using NVIDIA GeForce 9400 OpenGL Engine supported 1 NVIDIA GeForce 9400 -Parallels and NVIDIA Parallels using NVIDIA GeForce GT 120 OpenGL Engine supported 2 NVIDIA GT 120 -Parallels and NVIDIA Parallels using NVIDIA GeForce GT 330M OpenGL Engine supported 1 NVIDIA GT 330M -Radeon RV350 on Gallium UNRECOGNIZED -S3 UNRECOGNIZED -S3 Graphics VIA/S3G UniChrome IGP/MMX/K3D unsupported 0 S3 -S3 Graphics VIA/S3G UniChrome Pro IGP/MMX/SSE unsupported 0 S3 -S3 Graphics, Incorporated ProSavage/Twister unsupported 0 S3 -S3 Graphics, Incorporated S3 Graphics Chrome9 HC unsupported 0 S3 -S3 Graphics, Incorporated S3 Graphics DeltaChrome unsupported 0 S3 -S3 Graphics, Incorporated VIA Chrome9 HC IGP unsupported 0 S3 -SiS unsupported 0 SiS -SiS 661 VGA unsupported 0 SiS -SiS 662 VGA unsupported 0 SiS -SiS 741 VGA unsupported 0 SiS -SiS 760 VGA unsupported 0 SiS -SiS 761GX VGA unsupported 0 SiS -SiS Mirage Graphics3 unsupported 0 SiS -Trident unsupported 0 Trident -Tungsten Graphics unsupported 0 Tungsten Graphics -Tungsten Graphics, Inc Mesa DRI 865G GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 865G GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 915G GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 915G GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 915GM GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 915GM GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 915GM GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 945G unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 945G GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 945G GEM 20100330 DEVELOPMENT unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 945G GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 945GM GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 945GM GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 945GM GEM 20100328 2010Q1 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 945GM GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 945GME x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 945GME 20061017 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 945GME GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 945GME GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 945GME GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 965GM GEM 20090326 2009Q1 RC2 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 965GM GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 965GM GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI 965GM GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI G33 20061017 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI G33 GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI G33 GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI G41 GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI G41 GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI GMA500 20081116 - 5.0.1.0046 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI IGD GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI IGD GEM 20100330 DEVELOPMENT unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI IGD GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI IGDNG_D GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI Ironlake Desktop GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI Ironlake Mobile GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset 20080716 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20090712 2009Q2 RC3 x86/MMX... unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20100328 2010Q1 unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20100330 DEVELOPMENT unsupported 0 Mesa -Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20100330 DEVELOPMENT x86/MM... unsupported 0 Mesa -Tungsten Graphics, Inc. Mesa DRI R200 (RV280 5964) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa -VIA unsupported 0 VIA -VMware, Inc. Gallium 0.3 on SVGA3D; build: RELEASE; UNRECOGNIZED -VMware, Inc. Gallium 0.4 on i915 (chipset: 945GM) UNRECOGNIZED -VMware, Inc. Gallium 0.4 on llvmpipe UNRECOGNIZED -VMware, Inc. Gallium 0.4 on softpipe UNRECOGNIZED -X.Org Gallium 0.4 on AMD BARTS UNRECOGNIZED -X.Org Gallium 0.4 on AMD CEDAR UNRECOGNIZED -X.Org Gallium 0.4 on AMD HEMLOCK UNRECOGNIZED -X.Org Gallium 0.4 on AMD JUNIPER UNRECOGNIZED -X.Org Gallium 0.4 on AMD REDWOOD UNRECOGNIZED -X.Org Gallium 0.4 on AMD RS780 UNRECOGNIZED -X.Org Gallium 0.4 on AMD RS880 UNRECOGNIZED -X.Org Gallium 0.4 on AMD RV610 UNRECOGNIZED -X.Org Gallium 0.4 on AMD RV620 UNRECOGNIZED -X.Org Gallium 0.4 on AMD RV630 UNRECOGNIZED -X.Org Gallium 0.4 on AMD RV635 UNRECOGNIZED -X.Org Gallium 0.4 on AMD RV710 UNRECOGNIZED -X.Org Gallium 0.4 on AMD RV730 UNRECOGNIZED -X.Org Gallium 0.4 on AMD RV740 UNRECOGNIZED -X.Org Gallium 0.4 on AMD RV770 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on ATI R300 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on ATI R580 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on ATI RC410 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on ATI RS482 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on ATI RS600 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on ATI RS690 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on ATI RV350 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on ATI RV370 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on ATI RV410 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on ATI RV515 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on ATI RV530 supported 1 ATI RV530 -X.Org R300 Project Gallium 0.4 on ATI RV570 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on R420 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on R580 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on RC410 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on RS480 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on RS482 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on RS600 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on RS690 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on RS740 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on RV350 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on RV370 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on RV410 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on RV515 UNRECOGNIZED -X.Org R300 Project Gallium 0.4 on RV530 UNRECOGNIZED -XGI unsupported 0 XGI -nouveau Gallium 0.4 on NV34 UNRECOGNIZED -nouveau Gallium 0.4 on NV36 UNRECOGNIZED -nouveau Gallium 0.4 on NV46 UNRECOGNIZED -nouveau Gallium 0.4 on NV49 UNRECOGNIZED -nouveau Gallium 0.4 on NV4A UNRECOGNIZED -nouveau Gallium 0.4 on NV4B UNRECOGNIZED -nouveau Gallium 0.4 on NV4E UNRECOGNIZED -nouveau Gallium 0.4 on NV50 UNRECOGNIZED -nouveau Gallium 0.4 on NV84 UNRECOGNIZED -nouveau Gallium 0.4 on NV86 UNRECOGNIZED -nouveau Gallium 0.4 on NV92 UNRECOGNIZED -nouveau Gallium 0.4 on NV94 UNRECOGNIZED -nouveau Gallium 0.4 on NV96 UNRECOGNIZED -nouveau Gallium 0.4 on NV98 UNRECOGNIZED -nouveau Gallium 0.4 on NVA0 UNRECOGNIZED -nouveau Gallium 0.4 on NVA3 UNRECOGNIZED -nouveau Gallium 0.4 on NVA5 UNRECOGNIZED -nouveau Gallium 0.4 on NVA8 UNRECOGNIZED -nouveau Gallium 0.4 on NVAA UNRECOGNIZED -nouveau Gallium 0.4 on NVAC UNRECOGNIZED +GPU String Supported? Class Recognizer +------------------------------------------------------------------------------------------------------ ----------- ----- ------------------------------------ +ATI UNRECOGNIZED +ATI 3D-Analyze unsupported 0 ATI 3D-Analyze +ATI ASUS A9xxx supported 1 ATI ASUS A9xxx +ATI ASUS AH24xx supported 1 ATI ASUS AH24xx +ATI ASUS AH26xx supported 3 ATI ASUS AH26xx +ATI ASUS AH34xx supported 1 ATI ASUS AH34xx +ATI ASUS AH36xx supported 3 ATI ASUS AH36xx +ATI ASUS AH46xx supported 3 ATI ASUS AH46xx +ATI ASUS AX3xx supported 1 ATI ASUS AX3xx +ATI ASUS AX5xx supported 1 ATI ASUS AX5xx +ATI ASUS AX8xx UNRECOGNIZED +ATI ASUS EAH38xx supported 3 ATI ASUS EAH38xx +ATI ASUS EAH43xx supported 1 ATI ASUS EAH43xx +ATI ASUS EAH45xx supported 1 ATI ASUS EAH45xx +ATI ASUS EAH48xx supported 3 ATI ASUS EAH48xx +ATI ASUS EAH57xx supported 3 ATI ASUS EAH57xx +ATI ASUS EAH58xx supported 3 ATI ASUS EAH58xx +ATI ASUS X1xxx supported 3 ATI Radeon X1xxx +ATI All-in-Wonder 9xxx supported 1 ATI All-in-Wonder 9xxx +ATI All-in-Wonder HD supported 1 ATI All-in-Wonder HD +ATI All-in-Wonder PCI-E supported 1 ATI All-in-Wonder PCI-E +ATI All-in-Wonder X1800 supported 3 ATI All-in-Wonder X1800 +ATI All-in-Wonder X1900 supported 3 ATI All-in-Wonder X1900 +ATI All-in-Wonder X600 supported 1 ATI All-in-Wonder X600 +ATI All-in-Wonder X800 supported 2 ATI All-in-Wonder X800 +ATI Diamond X1xxx UNRECOGNIZED +ATI Display Adapter UNRECOGNIZED +ATI FireGL supported 0 ATI FireGL +ATI FireGL 5200 supported 0 ATI FireGL +ATI FireGL 5xxx supported 0 ATI FireGL +ATI FireMV unsupported 0 ATI FireMV +ATI Generic unsupported 0 ATI Generic +ATI Hercules 9800 supported 1 ATI Hercules 9800 +ATI IGP 340M unsupported 0 ATI IGP 340M +ATI M52 supported 1 ATI M52 +ATI M54 supported 1 ATI M54 +ATI M56 supported 1 ATI M56 +ATI M71 supported 1 ATI M71 +ATI M72 supported 1 ATI M72 +ATI M76 supported 3 ATI M76 +ATI Mobility Radeon supported 0 ATI Mobility Radeon +ATI Mobility Radeon 7xxx supported 0 ATI Mobility Radeon 7xxx +ATI Mobility Radeon 9600 supported 0 ATI Mobility Radeon +ATI Mobility Radeon 9700 supported 0 ATI Mobility Radeon +ATI Mobility Radeon 9800 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 2300 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 2400 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 2600 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 2700 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 3400 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 3600 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 3800 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 4200 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 4300 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 4500 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 4600 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 4800 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 5400 supported 0 ATI Mobility Radeon +ATI Mobility Radeon HD 5600 supported 0 ATI Mobility Radeon +ATI Mobility Radeon X1xxx supported 0 ATI Mobility Radeon +ATI Mobility Radeon X2xxx supported 0 ATI Mobility Radeon +ATI Mobility Radeon X3xx supported 0 ATI Mobility Radeon +ATI Mobility Radeon X6xx supported 0 ATI Mobility Radeon +ATI Mobility Radeon X7xx supported 0 ATI Mobility Radeon +ATI Mobility Radeon Xxxx supported 0 ATI Mobility Radeon +ATI RV380 supported 0 ATI RV380 +ATI RV530 supported 1 ATI RV530 +ATI Radeon 2100 supported 0 ATI Radeon 2100 +ATI Radeon 3000 supported 0 ATI Radeon 3000 +ATI Radeon 3100 supported 1 ATI Radeon 3100 +ATI Radeon 7000 supported 0 ATI Radeon 7xxx +ATI Radeon 7xxx supported 0 ATI Radeon 7xxx +ATI Radeon 8xxx supported 0 ATI Radeon 8xxx +ATI Radeon 9000 supported 0 ATI Radeon 9000 +ATI Radeon 9100 supported 0 ATI Radeon 9100 +ATI Radeon 9200 supported 0 ATI Radeon 9200 +ATI Radeon 9500 supported 0 ATI Radeon 9500 +ATI Radeon 9600 supported 0 ATI Radeon 9600 +ATI Radeon 9700 supported 1 ATI Radeon 9700 +ATI Radeon 9800 supported 1 ATI Radeon 9800 +ATI Radeon HD 2300 supported 0 ATI Radeon HD 2300 +ATI Radeon HD 2400 supported 1 ATI Radeon HD 2400 +ATI Radeon HD 2600 supported 2 ATI Radeon HD 2600 +ATI Radeon HD 2900 supported 3 ATI Radeon HD 2900 +ATI Radeon HD 3000 supported 0 ATI Radeon HD 3000 +ATI Radeon HD 3100 supported 1 ATI Radeon HD 3100 +ATI Radeon HD 3200 supported 0 ATI Radeon HD 3200 +ATI Radeon HD 3300 supported 1 ATI Radeon HD 3300 +ATI Radeon HD 3400 supported 1 ATI Radeon HD 3400 +ATI Radeon HD 3600 supported 3 ATI Radeon HD 3600 +ATI Radeon HD 3800 supported 3 ATI Radeon HD 3800 +ATI Radeon HD 4200 supported 1 ATI Radeon HD 4200 +ATI Radeon HD 4300 supported 1 ATI Radeon HD 4300 +ATI Radeon HD 4500 supported 3 ATI Radeon HD 4500 +ATI Radeon HD 4600 supported 3 ATI Radeon HD 4600 +ATI Radeon HD 4700 supported 3 ATI Radeon HD 4700 +ATI Radeon HD 4800 supported 3 ATI Radeon HD 4800 +ATI Radeon HD 5400 supported 3 ATI Radeon HD 5400 +ATI Radeon HD 5500 supported 3 ATI Radeon HD 5500 +ATI Radeon HD 5600 supported 3 ATI Radeon HD 5600 +ATI Radeon HD 5700 supported 3 ATI Radeon HD 5700 +ATI Radeon HD 5800 supported 3 ATI Radeon HD 5800 +ATI Radeon HD 5900 supported 3 ATI Radeon HD 5900 +ATI Radeon HD 6200 supported 2 ATI Radeon HD 6200 +ATI Radeon HD 6300 supported 2 ATI Radeon HD 6300 +ATI Radeon HD 6500 supported 3 ATI Radeon HD 6500 +ATI Radeon HD 6800 supported 3 ATI Radeon HD 6800 +ATI Radeon HD 6900 supported 3 ATI Radeon HD 6900 +ATI Radeon OpenGL UNRECOGNIZED +ATI Radeon RV250 supported 0 ATI Radeon RV250 +ATI Radeon RV600 supported 1 ATI Radeon RV600 +ATI Radeon RX9550 supported 1 ATI Radeon RX9550 +ATI Radeon VE unsupported 0 ATI Radeon VE +ATI Radeon X1000 supported 0 ATI Radeon X1000 +ATI Radeon X1200 supported 0 ATI Radeon X1200 +ATI Radeon X1300 supported 1 ATI Radeon X1300 +ATI Radeon X13xx supported 1 ATI Radeon X1300 +ATI Radeon X1400 supported 1 ATI Radeon X1400 +ATI Radeon X1500 supported 1 ATI Radeon X1500 +ATI Radeon X1600 supported 1 ATI Radeon X1600 +ATI Radeon X16xx supported 1 ATI Radeon X1600 +ATI Radeon X1700 supported 1 ATI Radeon X1700 +ATI Radeon X1800 supported 3 ATI Radeon X1800 +ATI Radeon X1900 supported 3 ATI Radeon X1900 +ATI Radeon X19xx supported 3 ATI Radeon X1900 +ATI Radeon X1xxx UNRECOGNIZED +ATI Radeon X300 supported 0 ATI Radeon X300 +ATI Radeon X500 supported 0 ATI Radeon X500 +ATI Radeon X600 supported 1 ATI Radeon X600 +ATI Radeon X700 supported 1 ATI Radeon X700 +ATI Radeon X7xx supported 1 ATI Radeon X700 +ATI Radeon X800 supported 2 ATI Radeon X800 +ATI Radeon Xpress unsupported 0 ATI Radeon Xpress +ATI Rage 128 supported 0 ATI Rage 128 +ATI Technologies Inc. UNRECOGNIZED +ATI Technologies Inc. x86 UNRECOGNIZED +ATI Technologies Inc. x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. (Vista) ATI Mobility Radeon HD 5730 supported 0 ATI Mobility Radeon +ATI Technologies Inc. 256MB ATI Radeon X1300PRO x86/SSE2 supported 1 ATI Radeon X1300 +ATI Technologies Inc. AMD 760G UNRECOGNIZED +ATI Technologies Inc. AMD 760G (Microsoft WDDM 1.1) UNRECOGNIZED +ATI Technologies Inc. AMD 780L UNRECOGNIZED +ATI Technologies Inc. AMD FirePro 2270 UNRECOGNIZED +ATI Technologies Inc. AMD M860G with ATI Mobility Radeon 4100 supported 0 ATI Mobility Radeon +ATI Technologies Inc. AMD M880G with ATI Mobility Radeon HD 4200 supported 0 ATI Mobility Radeon +ATI Technologies Inc. AMD M880G with ATI Mobility Radeon HD 4250 supported 0 ATI Mobility Radeon +ATI Technologies Inc. AMD RADEON HD 6450 UNRECOGNIZED +ATI Technologies Inc. AMD Radeon HD 6200 series Graphics supported 2 ATI Radeon HD 6200 +ATI Technologies Inc. AMD Radeon HD 6250 Graphics supported 2 ATI Radeon HD 6200 +ATI Technologies Inc. AMD Radeon HD 6300 series Graphics supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. AMD Radeon HD 6300M Series supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. AMD Radeon HD 6310 Graphics supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. AMD Radeon HD 6310M supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. AMD Radeon HD 6330M supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. AMD Radeon HD 6350 supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. AMD Radeon HD 6370M supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. AMD Radeon HD 6400M Series supported 3 ATI Radeon HD 6400 +ATI Technologies Inc. AMD Radeon HD 6450 supported 3 ATI Radeon HD 6400 +ATI Technologies Inc. AMD Radeon HD 6470M supported 3 ATI Radeon HD 6400 +ATI Technologies Inc. AMD Radeon HD 6490M supported 3 ATI Radeon HD 6400 +ATI Technologies Inc. AMD Radeon HD 6500M/5600/5700 Series supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. AMD Radeon HD 6530M supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. AMD Radeon HD 6550M supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. AMD Radeon HD 6570 supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. AMD Radeon HD 6570M supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. AMD Radeon HD 6570M/5700 Series supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. AMD Radeon HD 6600M Series UNRECOGNIZED +ATI Technologies Inc. AMD Radeon HD 6650M UNRECOGNIZED +ATI Technologies Inc. AMD Radeon HD 6670 UNRECOGNIZED +ATI Technologies Inc. AMD Radeon HD 6700 Series supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. AMD Radeon HD 6750 supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. AMD Radeon HD 6750M supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. AMD Radeon HD 6770 supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. AMD Radeon HD 6800 Series supported 3 ATI Radeon HD 6800 +ATI Technologies Inc. AMD Radeon HD 6850M supported 3 ATI Radeon HD 6800 +ATI Technologies Inc. AMD Radeon HD 6870 supported 3 ATI Radeon HD 6800 +ATI Technologies Inc. AMD Radeon HD 6870M supported 3 ATI Radeon HD 6800 +ATI Technologies Inc. AMD Radeon HD 6900 Series supported 3 ATI Radeon HD 6900 +ATI Technologies Inc. AMD Radeon HD 6970M supported 3 ATI Radeon HD 6900 +ATI Technologies Inc. AMD Radeon HD 6990 supported 3 ATI Radeon HD 6900 +ATI Technologies Inc. AMD Radeon(TM) HD 6470M UNRECOGNIZED +ATI Technologies Inc. ASUS 5870 Eyefinity 6 UNRECOGNIZED +ATI Technologies Inc. ASUS AH2600 Series supported 3 ATI ASUS AH26xx +ATI Technologies Inc. ASUS AH3450 Series supported 1 ATI ASUS AH34xx +ATI Technologies Inc. ASUS AH3650 Series supported 3 ATI ASUS AH36xx +ATI Technologies Inc. ASUS AH4650 Series supported 3 ATI ASUS AH46xx +ATI Technologies Inc. ASUS ARES UNRECOGNIZED +ATI Technologies Inc. ASUS EAH2900 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH3450 Series supported 1 ATI ASUS AH34xx +ATI Technologies Inc. ASUS EAH3650 Series supported 3 ATI ASUS AH36xx +ATI Technologies Inc. ASUS EAH4350 series supported 1 ATI ASUS EAH43xx +ATI Technologies Inc. ASUS EAH4550 series supported 1 ATI ASUS EAH45xx +ATI Technologies Inc. ASUS EAH4650 series supported 3 ATI ASUS AH46xx +ATI Technologies Inc. ASUS EAH4670 series supported 3 ATI ASUS AH46xx +ATI Technologies Inc. ASUS EAH4750 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH4770 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH4770 series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH4850 series supported 3 ATI ASUS EAH48xx +ATI Technologies Inc. ASUS EAH5450 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH5550 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH5570 series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH5670 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH5750 Series supported 3 ATI ASUS EAH57xx +ATI Technologies Inc. ASUS EAH5770 Series supported 3 ATI ASUS EAH57xx +ATI Technologies Inc. ASUS EAH5830 Series supported 3 ATI ASUS EAH58xx +ATI Technologies Inc. ASUS EAH5850 Series supported 3 ATI ASUS EAH58xx +ATI Technologies Inc. ASUS EAH5870 Series supported 3 ATI ASUS EAH58xx +ATI Technologies Inc. ASUS EAH5970 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH6850 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH6870 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH6950 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAH6970 Series UNRECOGNIZED +ATI Technologies Inc. ASUS EAHG4670 series UNRECOGNIZED +ATI Technologies Inc. ASUS Extreme AX600 Series UNRECOGNIZED +ATI Technologies Inc. ASUS Extreme AX600XT-TD UNRECOGNIZED +ATI Technologies Inc. ASUS X1300 Series x86/SSE2 supported 3 ATI Radeon X1xxx +ATI Technologies Inc. ASUS X1550 Series supported 3 ATI Radeon X1xxx +ATI Technologies Inc. ASUS X1950 Series x86/SSE2 supported 3 ATI Radeon X1xxx +ATI Technologies Inc. ASUS X800 Series UNRECOGNIZED +ATI Technologies Inc. ASUS X850 Series UNRECOGNIZED +ATI Technologies Inc. ATI All-in-Wonder HD supported 1 ATI All-in-Wonder HD +ATI Technologies Inc. ATI FirePro 2260 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro 2450 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro M5800 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro M7740 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro M7820 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro V3700 (FireGL) supported 0 ATI FireGL +ATI Technologies Inc. ATI FirePro V3800 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro V4800 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro V4800 (FireGL) supported 0 ATI FireGL +ATI Technologies Inc. ATI FirePro V5800 UNRECOGNIZED +ATI Technologies Inc. ATI FirePro V7800 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON 9XXX x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON HD 3450 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON X1600 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON X2300 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON X2300 HD x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON X2300 x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON X2300 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON X300 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON X600 UNRECOGNIZED +ATI Technologies Inc. ATI MOBILITY RADEON XPRESS 200 UNRECOGNIZED +ATI Technologies Inc. ATI Mobility FireGL V5700 supported 1 ATI FireGL 5xxx +ATI Technologies Inc. ATI Mobility Radeon 4100 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon Graphics supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 2300 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 2400 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 2400 XT supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 2600 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 2600 XT supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 2700 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 3400 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 3430 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 3450 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 3470 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 3470 Hybrid X2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 3650 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4200 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4200 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4225 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4225 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4250 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4250 Graphics supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4270 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4300 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4300/4500 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4330 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4330 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4350 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4350 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4500 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4500/5100 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4530 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4530 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4550 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4570 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4600 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4650 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4650 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4670 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4830 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4850 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 4870 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5000 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5000 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5145 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5165 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 530v supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5400 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 540v supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5430 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5450 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5450 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 545v supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5470 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 550v supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5600/5700 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 560v supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5650 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5700 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5730 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5800 Series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5850 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 5870 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 6300 series supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 6370 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 6470M supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 6550 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon HD 6570 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1300 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1300 x86/MMX/3DNow!/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1300 x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1350 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1350 x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1400 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1400 x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1600 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1600 x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X1700 x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X2300 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X2300 (Omega 3.8.442) supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X2300 x86 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X2300 x86/MMX/3DNow!/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X2300 x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X2500 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon X2500 x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon. HD 530v supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI Mobility Radeon. HD 5470 supported 0 ATI Mobility Radeon +ATI Technologies Inc. ATI RADEON HD 3200 T25XX by CAMILO UNRECOGNIZED +ATI Technologies Inc. ATI RADEON XPRESS 1100 UNRECOGNIZED +ATI Technologies Inc. ATI RADEON XPRESS 200 Series UNRECOGNIZED +ATI Technologies Inc. ATI RADEON XPRESS 200 Series x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. ATI RADEON XPRESS 200M SERIES UNRECOGNIZED +ATI Technologies Inc. ATI Radeon UNRECOGNIZED +ATI Technologies Inc. ATI Radeon 2100 supported 0 ATI Radeon 2100 +ATI Technologies Inc. ATI Radeon 2100 (Microsoft - WDDM) supported 0 ATI Radeon 2100 +ATI Technologies Inc. ATI Radeon 2100 Graphics supported 0 ATI Radeon 2100 +ATI Technologies Inc. ATI Radeon 3000 supported 0 ATI Radeon 3000 +ATI Technologies Inc. ATI Radeon 3000 Graphics supported 0 ATI Radeon 3000 +ATI Technologies Inc. ATI Radeon 3100 Graphics supported 1 ATI Radeon 3100 +ATI Technologies Inc. ATI Radeon 5xxx series UNRECOGNIZED +ATI Technologies Inc. ATI Radeon 9550 / X1050 Series supported 0 ATI Radeon 9500 +ATI Technologies Inc. ATI Radeon 9550 / X1050 Series x86/MMX/3DNow!/SSE supported 0 ATI Radeon 9500 +ATI Technologies Inc. ATI Radeon 9550 / X1050 Series x86/SSE2 supported 0 ATI Radeon 9500 +ATI Technologies Inc. ATI Radeon 9550 / X1050 Series(Microsoft - WDDM) supported 0 ATI Radeon 9500 +ATI Technologies Inc. ATI Radeon 9600 / X1050 Series supported 0 ATI Radeon 9600 +ATI Technologies Inc. ATI Radeon 9600/9550/X1050 Series supported 0 ATI Radeon 9600 +ATI Technologies Inc. ATI Radeon BA Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon BB Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon Cedar PRO Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon Cypress PRO Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon Graphics Processor UNRECOGNIZED +ATI Technologies Inc. ATI Radeon HD 2200 Graphics UNRECOGNIZED +ATI Technologies Inc. ATI Radeon HD 2350 supported 0 ATI Radeon HD 2300 +ATI Technologies Inc. ATI Radeon HD 2400 supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2400 OpenGL Engine supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2400 PRO supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2400 PRO AGP supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2400 Pro supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2400 Series supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2400 XT supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2400 XT OpenGL Engine supported 1 ATI Radeon HD 2400 +ATI Technologies Inc. ATI Radeon HD 2600 OpenGL Engine supported 2 ATI Radeon HD 2600 +ATI Technologies Inc. ATI Radeon HD 2600 PRO supported 2 ATI Radeon HD 2600 +ATI Technologies Inc. ATI Radeon HD 2600 PRO OpenGL Engine supported 2 ATI Radeon HD 2600 +ATI Technologies Inc. ATI Radeon HD 2600 Pro supported 2 ATI Radeon HD 2600 +ATI Technologies Inc. ATI Radeon HD 2600 Series supported 2 ATI Radeon HD 2600 +ATI Technologies Inc. ATI Radeon HD 2600 XT supported 2 ATI Radeon HD 2600 +ATI Technologies Inc. ATI Radeon HD 2900 GT supported 3 ATI Radeon HD 2900 +ATI Technologies Inc. ATI Radeon HD 2900 XT supported 3 ATI Radeon HD 2900 +ATI Technologies Inc. ATI Radeon HD 3200 Graphics supported 0 ATI Radeon HD 3200 +ATI Technologies Inc. ATI Radeon HD 3300 Graphics supported 1 ATI Radeon HD 3300 +ATI Technologies Inc. ATI Radeon HD 3400 Series supported 1 ATI Radeon HD 3400 +ATI Technologies Inc. ATI Radeon HD 3450 supported 1 ATI Radeon HD 3400 +ATI Technologies Inc. ATI Radeon HD 3450 - Dell Optiplex supported 1 ATI Radeon HD 3400 +ATI Technologies Inc. ATI Radeon HD 3470 supported 1 ATI Radeon HD 3400 +ATI Technologies Inc. ATI Radeon HD 3470 - Dell Optiplex supported 1 ATI Radeon HD 3400 +ATI Technologies Inc. ATI Radeon HD 3550 UNRECOGNIZED +ATI Technologies Inc. ATI Radeon HD 3600 Series supported 3 ATI Radeon HD 3600 +ATI Technologies Inc. ATI Radeon HD 3650 supported 3 ATI Radeon HD 3600 +ATI Technologies Inc. ATI Radeon HD 3650 AGP supported 3 ATI Radeon HD 3600 +ATI Technologies Inc. ATI Radeon HD 3730 UNRECOGNIZED +ATI Technologies Inc. ATI Radeon HD 3800 Series supported 3 ATI Radeon HD 3800 +ATI Technologies Inc. ATI Radeon HD 3850 supported 3 ATI Radeon HD 3800 +ATI Technologies Inc. ATI Radeon HD 3850 AGP supported 3 ATI Radeon HD 3800 +ATI Technologies Inc. ATI Radeon HD 3870 supported 3 ATI Radeon HD 3800 +ATI Technologies Inc. ATI Radeon HD 3870 X2 supported 3 ATI Radeon HD 3800 +ATI Technologies Inc. ATI Radeon HD 4200 supported 1 ATI Radeon HD 4200 +ATI Technologies Inc. ATI Radeon HD 4250 supported 1 ATI Radeon HD 4200 +ATI Technologies Inc. ATI Radeon HD 4250 Graphics supported 1 ATI Radeon HD 4200 +ATI Technologies Inc. ATI Radeon HD 4270 supported 1 ATI Radeon HD 4200 +ATI Technologies Inc. ATI Radeon HD 4290 supported 1 ATI Radeon HD 4200 +ATI Technologies Inc. ATI Radeon HD 4300 Series supported 1 ATI Radeon HD 4300 +ATI Technologies Inc. ATI Radeon HD 4300/4500 Series supported 1 ATI Radeon HD 4300 +ATI Technologies Inc. ATI Radeon HD 4350 supported 1 ATI Radeon HD 4300 +ATI Technologies Inc. ATI Radeon HD 4350 (Microsoft WDDM 1.1) supported 1 ATI Radeon HD 4300 +ATI Technologies Inc. ATI Radeon HD 4450 UNRECOGNIZED +ATI Technologies Inc. ATI Radeon HD 4500 Series supported 3 ATI Radeon HD 4500 +ATI Technologies Inc. ATI Radeon HD 4550 supported 3 ATI Radeon HD 4500 +ATI Technologies Inc. ATI Radeon HD 4600 Series supported 3 ATI Radeon HD 4600 +ATI Technologies Inc. ATI Radeon HD 4650 supported 3 ATI Radeon HD 4600 +ATI Technologies Inc. ATI Radeon HD 4670 supported 3 ATI Radeon HD 4600 +ATI Technologies Inc. ATI Radeon HD 4670 OpenGL Engine supported 3 ATI Radeon HD 4600 +ATI Technologies Inc. ATI Radeon HD 4700 Series supported 3 ATI Radeon HD 4700 +ATI Technologies Inc. ATI Radeon HD 4720 supported 3 ATI Radeon HD 4700 +ATI Technologies Inc. ATI Radeon HD 4730 supported 3 ATI Radeon HD 4700 +ATI Technologies Inc. ATI Radeon HD 4730 Series supported 3 ATI Radeon HD 4700 +ATI Technologies Inc. ATI Radeon HD 4750 supported 3 ATI Radeon HD 4700 +ATI Technologies Inc. ATI Radeon HD 4770 supported 3 ATI Radeon HD 4700 +ATI Technologies Inc. ATI Radeon HD 4800 Series supported 3 ATI Radeon HD 4800 +ATI Technologies Inc. ATI Radeon HD 4850 supported 3 ATI Radeon HD 4800 +ATI Technologies Inc. ATI Radeon HD 4850 OpenGL Engine supported 3 ATI Radeon HD 4800 +ATI Technologies Inc. ATI Radeon HD 4850 Series supported 3 ATI Radeon HD 4800 +ATI Technologies Inc. ATI Radeon HD 4870 supported 3 ATI Radeon HD 4800 +ATI Technologies Inc. ATI Radeon HD 4870 OpenGL Engine supported 3 ATI Radeon HD 4800 +ATI Technologies Inc. ATI Radeon HD 4870 X2 supported 3 ATI Radeon HD 4800 +ATI Technologies Inc. ATI Radeon HD 5400 Series supported 3 ATI Radeon HD 5400 +ATI Technologies Inc. ATI Radeon HD 5450 supported 3 ATI Radeon HD 5400 +ATI Technologies Inc. ATI Radeon HD 5500 Series supported 3 ATI Radeon HD 5500 +ATI Technologies Inc. ATI Radeon HD 5570 supported 3 ATI Radeon HD 5500 +ATI Technologies Inc. ATI Radeon HD 5600 Series supported 3 ATI Radeon HD 5600 +ATI Technologies Inc. ATI Radeon HD 5630 supported 3 ATI Radeon HD 5600 +ATI Technologies Inc. ATI Radeon HD 5670 supported 3 ATI Radeon HD 5600 +ATI Technologies Inc. ATI Radeon HD 5670 OpenGL Engine supported 3 ATI Radeon HD 5600 +ATI Technologies Inc. ATI Radeon HD 5700 Series supported 3 ATI Radeon HD 5700 +ATI Technologies Inc. ATI Radeon HD 5750 supported 3 ATI Radeon HD 5700 +ATI Technologies Inc. ATI Radeon HD 5750 OpenGL Engine supported 3 ATI Radeon HD 5700 +ATI Technologies Inc. ATI Radeon HD 5770 supported 3 ATI Radeon HD 5700 +ATI Technologies Inc. ATI Radeon HD 5770 OpenGL Engine supported 3 ATI Radeon HD 5700 +ATI Technologies Inc. ATI Radeon HD 5800 Series supported 3 ATI Radeon HD 5800 +ATI Technologies Inc. ATI Radeon HD 5850 supported 3 ATI Radeon HD 5800 +ATI Technologies Inc. ATI Radeon HD 5870 supported 3 ATI Radeon HD 5800 +ATI Technologies Inc. ATI Radeon HD 5870 OpenGL Engine supported 3 ATI Radeon HD 5800 +ATI Technologies Inc. ATI Radeon HD 5900 Series supported 3 ATI Radeon HD 5900 +ATI Technologies Inc. ATI Radeon HD 5970 supported 3 ATI Radeon HD 5900 +ATI Technologies Inc. ATI Radeon HD 6230 supported 2 ATI Radeon HD 6200 +ATI Technologies Inc. ATI Radeon HD 6250 supported 2 ATI Radeon HD 6200 +ATI Technologies Inc. ATI Radeon HD 6350 supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. ATI Radeon HD 6390 supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. ATI Radeon HD 6490M OpenGL Engine supported 3 ATI Radeon HD 6400 +ATI Technologies Inc. ATI Radeon HD 6510 supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. ATI Radeon HD 6570M supported 3 ATI Radeon HD 6500 +ATI Technologies Inc. ATI Radeon HD 6750 supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. ATI Radeon HD 6750M OpenGL Engine supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. ATI Radeon HD 6770 supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. ATI Radeon HD 6770M OpenGL Engine supported 3 ATI Radeon HD 6700 +ATI Technologies Inc. ATI Radeon HD 6800 Series supported 3 ATI Radeon HD 6800 +ATI Technologies Inc. ATI Radeon HD 6970M OpenGL Engine supported 3 ATI Radeon HD 6900 +ATI Technologies Inc. ATI Radeon HD3750 UNRECOGNIZED +ATI Technologies Inc. ATI Radeon HD4300/HD4500 series supported 1 ATI Radeon HD 4300 +ATI Technologies Inc. ATI Radeon HD4670 supported 3 ATI Radeon HD 4600 +ATI Technologies Inc. ATI Radeon Juniper LE Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon RV710 Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon RV730 Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon RV770 Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon RV790 Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon Redwood PRO Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon Redwood XT Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon Whistler PRO/LP Prototype OpenGL Engine UNRECOGNIZED +ATI Technologies Inc. ATI Radeon X1050 supported 0 ATI Radeon X1000 +ATI Technologies Inc. ATI Radeon X1050 Series supported 0 ATI Radeon X1000 +ATI Technologies Inc. ATI Radeon X1200 supported 0 ATI Radeon X1200 +ATI Technologies Inc. ATI Radeon X1200 Series supported 0 ATI Radeon X1200 +ATI Technologies Inc. ATI Radeon X1200 Series x86/MMX/3DNow!/SSE2 supported 0 ATI Radeon X1200 +ATI Technologies Inc. ATI Radeon X1250 supported 0 ATI Radeon X1200 +ATI Technologies Inc. ATI Radeon X1250 x86/MMX/3DNow!/SSE2 supported 0 ATI Radeon X1200 +ATI Technologies Inc. ATI Radeon X1270 supported 0 ATI Radeon X1200 +ATI Technologies Inc. ATI Radeon X1270 x86/MMX/3DNow!/SSE2 supported 0 ATI Radeon X1200 +ATI Technologies Inc. ATI Radeon X1300/X1550 Series supported 1 ATI Radeon X1300 +ATI Technologies Inc. ATI Radeon X1550 Series supported 1 ATI Radeon X1500 +ATI Technologies Inc. ATI Radeon X1600 OpenGL Engine supported 1 ATI Radeon X1600 +ATI Technologies Inc. ATI Radeon X1900 OpenGL Engine supported 3 ATI Radeon X1900 +ATI Technologies Inc. ATI Radeon X1950 GT supported 3 ATI Radeon X1900 +ATI Technologies Inc. ATI Radeon X300/X550/X1050 Series supported 0 ATI Radeon X300 +ATI Technologies Inc. ATI Radeon Xpress 1100 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1150 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1150 x86/MMX/3DNow!/SSE2 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1200 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1200 Series unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1200 Series x86/MMX/3DNow!/SSE2 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1200 x86/MMX/3DNow!/SSE2 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1250 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress 1250 x86/SSE2 unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Radeon Xpress Series unsupported 0 ATI Radeon Xpress +ATI Technologies Inc. ATI Yamaha HD 9000 UNRECOGNIZED +ATI Technologies Inc. ATi RS880M UNRECOGNIZED +ATI Technologies Inc. Carte graphique VGA standard UNRECOGNIZED +ATI Technologies Inc. Diamond Radeon X1550 Series supported 1 ATI Radeon X1500 +ATI Technologies Inc. EG JUNIPER UNRECOGNIZED +ATI Technologies Inc. EG PARK UNRECOGNIZED +ATI Technologies Inc. FireGL V3100 Pentium 4 (SSE2) supported 0 ATI FireGL +ATI Technologies Inc. FireMV 2400 PCI DDR x86 unsupported 0 ATI FireMV +ATI Technologies Inc. FireMV 2400 PCI DDR x86/SSE2 unsupported 0 ATI FireMV +ATI Technologies Inc. GeCube Radeon X1550 supported 1 ATI Radeon X1500 +ATI Technologies Inc. Geforce 9500 GT UNRECOGNIZED +ATI Technologies Inc. Geforce 9500GT UNRECOGNIZED +ATI Technologies Inc. Geforce 9800 GT UNRECOGNIZED +ATI Technologies Inc. HD3730 UNRECOGNIZED +ATI Technologies Inc. HIGHTECH EXCALIBUR RADEON 9550SE Series UNRECOGNIZED +ATI Technologies Inc. HIGHTECH EXCALIBUR X700 PRO UNRECOGNIZED +ATI Technologies Inc. M21 x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. M76M supported 3 ATI M76 +ATI Technologies Inc. MOBILITY RADEON 7500 DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON 9000 DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON 9000 IGPRADEON 9100 IGP DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON 9600 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON 9700 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON X300 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON X600 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON X700 SE x86 UNRECOGNIZED +ATI Technologies Inc. MOBILITY RADEON X700 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. MSI RX9550SE supported 1 ATI Radeon RX9550 +ATI Technologies Inc. Mobility Radeon X2300 HD supported 0 ATI Mobility Radeon +ATI Technologies Inc. Mobility Radeon X2300 HD x86/SSE2 supported 0 ATI Mobility Radeon +ATI Technologies Inc. RADEON 7000 DDR x86/MMX/3DNow!/SSE UNRECOGNIZED +ATI Technologies Inc. RADEON 7000 DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 7500 DDR x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 7500 DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9100 IGP DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9200 DDR x86/MMX/3DNow!/SSE UNRECOGNIZED +ATI Technologies Inc. RADEON 9200 DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9200 PRO DDR x86/MMX/3DNow!/SSE UNRECOGNIZED +ATI Technologies Inc. RADEON 9200 Series DDR x86/MMX/3DNow!/SSE UNRECOGNIZED +ATI Technologies Inc. RADEON 9200 Series DDR x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9200 Series DDR x86/SSE UNRECOGNIZED +ATI Technologies Inc. RADEON 9200 Series DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9200SE DDR x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9200SE DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9250/9200 Series DDR x86/MMX/3DNow!/SSE UNRECOGNIZED +ATI Technologies Inc. RADEON 9250/9200 Series DDR x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9250/9200 Series DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9500 UNRECOGNIZED +ATI Technologies Inc. RADEON 9550 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9600 SERIES UNRECOGNIZED +ATI Technologies Inc. RADEON 9600 SERIES x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9600 TX x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9600 x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9600 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON 9700 PRO x86/MMX/3DNow!/SSE UNRECOGNIZED +ATI Technologies Inc. RADEON 9800 PRO UNRECOGNIZED +ATI Technologies Inc. RADEON 9800 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON IGP 340M DDR x86/SSE2 unsupported 0 ATI IGP 340M +ATI Technologies Inc. RADEON X300 Series x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X300 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X300/X550 Series x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X550 x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X550 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X600 Series UNRECOGNIZED +ATI Technologies Inc. RADEON X600 x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X700 PRO x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X800 SE x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON X800GT UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS 200 Series SW TCL x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS 200 Series SW TCL x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS 200 Series x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS 200M Series SW TCL x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS 200M Series x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS 200M Series x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS Series x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. RADEON XPRESS Series x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RS740 UNRECOGNIZED +ATI Technologies Inc. RS780C UNRECOGNIZED +ATI Technologies Inc. RS780M UNRECOGNIZED +ATI Technologies Inc. RS880 UNRECOGNIZED +ATI Technologies Inc. RV410 Pro x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. RV790 UNRECOGNIZED +ATI Technologies Inc. Radeon (TM) HD 6470M UNRECOGNIZED +ATI Technologies Inc. Radeon (TM) HD 6490M UNRECOGNIZED +ATI Technologies Inc. Radeon (TM) HD 6770M UNRECOGNIZED +ATI Technologies Inc. Radeon 7000 DDR x86/SSE2 supported 0 ATI Radeon 7xxx +ATI Technologies Inc. Radeon 7000 SDR x86/SSE2 supported 0 ATI Radeon 7xxx +ATI Technologies Inc. Radeon 7500 DDR x86/SSE2 supported 0 ATI Radeon 7xxx +ATI Technologies Inc. Radeon 9000 DDR x86/SSE2 supported 0 ATI Radeon 9000 +ATI Technologies Inc. Radeon DDR x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. Radeon DDR x86/SSE UNRECOGNIZED +ATI Technologies Inc. Radeon DDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. Radeon HD 6310 supported 2 ATI Radeon HD 6300 +ATI Technologies Inc. Radeon HD 6800 Series supported 3 ATI Radeon HD 6800 +ATI Technologies Inc. Radeon SDR x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. Radeon X1300 Series supported 1 ATI Radeon X1300 +ATI Technologies Inc. Radeon X1300 Series x86/MMX/3DNow!/SSE2 supported 1 ATI Radeon X1300 +ATI Technologies Inc. Radeon X1300 Series x86/SSE2 supported 1 ATI Radeon X1300 +ATI Technologies Inc. Radeon X1300/X1550 Series supported 1 ATI Radeon X1300 +ATI Technologies Inc. Radeon X1300/X1550 Series x86/SSE2 supported 1 ATI Radeon X1300 +ATI Technologies Inc. Radeon X1550 64-bit (Microsoft - WDDM) supported 1 ATI Radeon X1500 +ATI Technologies Inc. Radeon X1550 Series supported 1 ATI Radeon X1500 +ATI Technologies Inc. Radeon X1550 Series x86/SSE2 supported 1 ATI Radeon X1500 +ATI Technologies Inc. Radeon X1600 supported 1 ATI Radeon X1600 +ATI Technologies Inc. Radeon X1600 Pro / X1300XT x86/MMX/3DNow!/SSE2 supported 1 ATI Radeon X1600 +ATI Technologies Inc. Radeon X1600 Series x86/SSE2 supported 1 ATI Radeon X1600 +ATI Technologies Inc. Radeon X1600/X1650 Series supported 1 ATI Radeon X1600 +ATI Technologies Inc. Radeon X1650 Series supported 1 ATI Radeon X1600 +ATI Technologies Inc. Radeon X1650 Series x86/MMX/3DNow!/SSE2 supported 1 ATI Radeon X1600 +ATI Technologies Inc. Radeon X1650 Series x86/SSE2 supported 1 ATI Radeon X1600 +ATI Technologies Inc. Radeon X1900 Series x86/MMX/3DNow!/SSE2 supported 3 ATI Radeon X1900 +ATI Technologies Inc. Radeon X1950 Pro supported 3 ATI Radeon X1900 +ATI Technologies Inc. Radeon X1950 Pro x86/MMX/3DNow!/SSE2 supported 3 ATI Radeon X1900 +ATI Technologies Inc. Radeon X1950 Series supported 3 ATI Radeon X1900 +ATI Technologies Inc. Radeon X1950 Series (Microsoft - WDDM) supported 3 ATI Radeon X1900 +ATI Technologies Inc. Radeon X300/X550/X1050 Series supported 0 ATI Radeon X300 +ATI Technologies Inc. Radeon X550/X700 Series supported 0 ATI Radeon X500 +ATI Technologies Inc. Radeon X550XTX x86/MMX/3DNow!/SSE2 supported 0 ATI Radeon X500 +ATI Technologies Inc. SAPPHIRE RADEON X300SE UNRECOGNIZED +ATI Technologies Inc. SAPPHIRE RADEON X300SE x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. SAPPHIRE RADEON X300SE x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. SAPPHIRE Radeon X1550 Series supported 1 ATI Radeon X1500 +ATI Technologies Inc. SAPPHIRE Radeon X1550 Series x86/MMX/3DNow!/SSE2 supported 1 ATI Radeon X1500 +ATI Technologies Inc. Sapphire Radeon HD 3730 UNRECOGNIZED +ATI Technologies Inc. Sapphire Radeon HD 3750 UNRECOGNIZED +ATI Technologies Inc. Standard VGA Graphics Adapter UNRECOGNIZED +ATI Technologies Inc. Tul, RADEON X600 PRO UNRECOGNIZED +ATI Technologies Inc. Tul, RADEON X600 PRO x86/SSE2 UNRECOGNIZED +ATI Technologies Inc. Tul, RADEON X700 PRO UNRECOGNIZED +ATI Technologies Inc. Tul, RADEON X700 PRO x86/MMX/3DNow!/SSE2 UNRECOGNIZED +ATI Technologies Inc. VisionTek Radeon 4350 UNRECOGNIZED +ATI Technologies Inc. VisionTek Radeon X1550 Series supported 1 ATI Radeon X1500 +ATI Technologies Inc. WRESTLER 9802 UNRECOGNIZED +ATI Technologies Inc. WRESTLER 9803 UNRECOGNIZED +ATI Technologies Inc. XFX Radeon HD 4570 supported 3 ATI Radeon HD 4500 +ATI Technologies Inc. Yamaha ATI HD 9000da/s UNRECOGNIZED +ATI Technologies Inc. Yamaha ATI HD 9000da/s 2048 UNRECOGNIZED +Advanced Micro Devices, Inc. Mesa DRI R600 (RS780 9612) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RS880 9710) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RS880 9712) 20090101 TCL unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV610 94C1) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV610 94C9) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV620 95C4) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV620 95C5) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV620 95C5) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV635 9596) 20090101 x86/MMX+/3DNow!+/SSE TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV670 9505) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV710 9552) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV730 9490) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV730 9490) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV730 9498) 20090101 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV770 9440) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +Advanced Micro Devices, Inc. Mesa DRI R600 (RV770 9442) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +Alex Mohr GL Hijacker! UNRECOGNIZED +Apple Software Renderer unsupported 0 Apple Software Renderer +DRI R300 Project Mesa DRI R300 (RS400 5954) 20090101 x86/MMX+/3DNow!+/SSE2 NO-TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RS400 5975) 20090101 x86/MMX+/3DNow!+/SSE2 NO-TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RS400 5A62) 20090101 x86/MMX/SSE2 NO-TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RS600 7941) 20090101 x86/MMX/SSE2 NO-TCL unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RS690 791F) 20090101 x86/MMX+/3DNow!+/SSE2 NO-TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV350 4151) 20090101 AGP 4x x86/MMX+/3DNow!+/SSE TCL unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV350 4153) 20090101 AGP 8x x86/MMX+/3DNow!+/SSE TCL unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV380 3150) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV380 3150) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV380 5B60) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV380 5B62) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV515 7145) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV515 7146) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV515 7146) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV515 7149) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV515 714A) 20090101 x86/MMX/SSE2 TCL unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV515 714A) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +DRI R300 Project Mesa DRI R300 (RV530 71C4) 20090101 x86/MMX/SSE2 TCL DRI2 unsupported 0 Mesa +GPU_CLASS_UNKNOWN UNRECOGNIZED +Humper Chromium UNRECOGNIZED +Intel UNRECOGNIZED +Intel HD Graphics Family supported 2 Intel HD Graphics +Intel 3D-Analyze v2.2 - http://www.tommti-systems.com UNRECOGNIZED +Intel 3D-Analyze v2.3 - http://www.tommti-systems.com UNRECOGNIZED +Intel 4 Series Internal Chipset UNRECOGNIZED +Intel 830M unsupported 0 Intel 830M +Intel 845G unsupported 0 Intel 845G +Intel 855GM unsupported 0 Intel 855GM +Intel 865G unsupported 0 Intel 865G +Intel 915G unsupported 0 Intel 915G +Intel 915GM unsupported 0 Intel 915GM +Intel 945G supported 0 Intel 945G +Intel 945GM supported 0 Intel 945GM +Intel 950 supported 0 Intel 950 +Intel 965 supported 0 Intel 965 +Intel B43 Express Chipset UNRECOGNIZED +Intel Bear Lake unsupported 0 Intel Bear Lake +Intel Broadwater unsupported 0 Intel Broadwater +Intel Brookdale unsupported 0 Intel Brookdale +Intel Cantiga unsupported 0 Intel Cantiga +Intel Eaglelake supported 0 Intel Eaglelake +Intel Familia Mobile 45 Express Chipset (Microsoft Corporation - WDDM 1.1) UNRECOGNIZED +Intel G33 unsupported 0 Intel G33 +Intel G41 supported 0 Intel G41 +Intel G41 Express Chipset supported 0 Intel G41 +Intel G45 supported 0 Intel G45 +Intel G45/G43 Express Chipset supported 0 Intel G45 +Intel Graphics Media Accelerator HD supported 0 Intel Graphics Media HD +Intel HD Graphics supported 2 Intel HD Graphics +Intel HD Graphics 100 supported 2 Intel HD Graphics +Intel HD Graphics 200 supported 2 Intel HD Graphics +Intel HD Graphics 200 BR-1101-00SH supported 2 Intel HD Graphics +Intel HD Graphics 200 BR-1101-00SJ supported 2 Intel HD Graphics +Intel HD Graphics 200 BR-1101-00SK supported 2 Intel HD Graphics +Intel HD Graphics 200 BR-1101-01M5 supported 2 Intel HD Graphics +Intel HD Graphics 200 BR-1101-01M6 supported 2 Intel HD Graphics +Intel HD Graphics BR-1004-01Y1 supported 2 Intel HD Graphics +Intel HD Graphics BR-1006-0364 supported 2 Intel HD Graphics +Intel HD Graphics BR-1006-0365 supported 2 Intel HD Graphics +Intel HD Graphics BR-1006-0366 supported 2 Intel HD Graphics +Intel HD Graphics BR-1007-02G4 supported 2 Intel HD Graphics +Intel HD Graphics BR-1101-04SY supported 2 Intel HD Graphics +Intel HD Graphics BR-1101-04SZ supported 2 Intel HD Graphics +Intel HD Graphics BR-1101-04T0 supported 2 Intel HD Graphics +Intel HD Graphics BR-1101-04T9 supported 2 Intel HD Graphics +Intel HD Graphics Family supported 2 Intel HD Graphics +Intel HD Graphics Family BR-1012-00Y8 supported 2 Intel HD Graphics +Intel HD Graphics Family BR-1012-00YF supported 2 Intel HD Graphics +Intel HD Graphics Family BR-1012-00ZD supported 2 Intel HD Graphics +Intel HD Graphics Family BR-1102-00ML supported 2 Intel HD Graphics +Intel Inc. Intel GMA 900 OpenGL Engine UNRECOGNIZED +Intel Inc. Intel GMA 950 OpenGL Engine supported 0 Intel 950 +Intel Inc. Intel GMA X3100 OpenGL Engine supported 0 Intel X3100 +Intel Inc. Intel HD Graphics 3000 OpenGL Engine supported 2 Intel HD Graphics +Intel Inc. Intel HD Graphics OpenGL Engine supported 2 Intel HD Graphics +Intel Inc. Intel HD xxxx OpenGL Engine UNRECOGNIZED +Intel Intel 845G unsupported 0 Intel 845G +Intel Intel 855GM unsupported 0 Intel 855GM +Intel Intel 865G unsupported 0 Intel 865G +Intel Intel 915G unsupported 0 Intel 915G +Intel Intel 915GM unsupported 0 Intel 915GM +Intel Intel 945G supported 0 Intel 945G +Intel Intel 945GM supported 0 Intel 945GM +Intel Intel 965/963 Graphics Media Accelerator supported 0 Intel 965 +Intel Intel Bear Lake B unsupported 0 Intel Bear Lake +Intel Intel Broadwater G unsupported 0 Intel Broadwater +Intel Intel Brookdale-G unsupported 0 Intel Brookdale +Intel Intel Calistoga UNRECOGNIZED +Intel Intel Cantiga unsupported 0 Intel Cantiga +Intel Intel Eaglelake supported 0 Intel Eaglelake +Intel Intel Grantsdale-G UNRECOGNIZED +Intel Intel HD Graphics 3000 supported 2 Intel HD Graphics +Intel Intel Lakeport UNRECOGNIZED +Intel Intel Montara-GM unsupported 0 Intel Montara +Intel Intel Pineview Platform supported 0 Intel Pineview +Intel Intel Springdale-G unsupported 0 Intel Springdale +Intel Mobile - famiglia Express Chipset 45 (Microsoft Corporation - WDDM 1.1) UNRECOGNIZED +Intel Mobile 4 Series supported 0 Intel Mobile 4 Series +Intel Mobile 4 Series Express Chipset Family supported 0 Intel Mobile 4 Series +Intel Mobile 45 Express Chipset Family (Microsoft Corporation - WDDM 1.1) UNRECOGNIZED +Intel Mobile HD Graphics supported 2 Intel HD Graphics +Intel Mobile SandyBridge HD Graphics supported 2 Intel HD Graphics +Intel Montara unsupported 0 Intel Montara +Intel Pineview supported 0 Intel Pineview +Intel Q45/Q43 Express Chipset UNRECOGNIZED +Intel Royal BNA Driver UNRECOGNIZED +Intel SandyBridge HD Graphics supported 2 Intel HD Graphics +Intel SandyBridge HD Graphics BR-1006-00V8 supported 2 Intel HD Graphics +Intel Springdale unsupported 0 Intel Springdale +Intel X3100 supported 0 Intel X3100 +Intergraph wcgdrv 06.05.06.18 UNRECOGNIZED +Intergraph wcgdrv 06.06.00.35 UNRECOGNIZED +LegendgrafiX Mobile 945 Express C/TitaniumGL/GAC/D3D ACCELERATION/6x86/1 THREADs | http://Legendgra... UNRECOGNIZED +LegendgrafiX NVIDIA GeForce GT 430/TitaniumGL/GAC/D3D ACCELERATION/6x86/1 THREADs | http://Legendgr... supported 3 NVIDIA GT 430 +Linden Lab Headless UNRECOGNIZED +Matrox unsupported 0 Matrox +Mesa unsupported 0 Mesa +Mesa Project Software Rasterizer unsupported 0 Mesa +NVIDIA /PCI/SSE2 UNRECOGNIZED +NVIDIA /PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA 205 UNRECOGNIZED +NVIDIA 210 UNRECOGNIZED +NVIDIA 310 UNRECOGNIZED +NVIDIA 310M UNRECOGNIZED +NVIDIA 315 UNRECOGNIZED +NVIDIA 315M UNRECOGNIZED +NVIDIA 320M UNRECOGNIZED +NVIDIA C51 supported 0 NVIDIA C51 +NVIDIA D10M2-20/PCI/SSE2 UNRECOGNIZED +NVIDIA D10P1-25/PCI/SSE2 UNRECOGNIZED +NVIDIA D10P1-30/PCI/SSE2 UNRECOGNIZED +NVIDIA D10P2-50/PCI/SSE2 UNRECOGNIZED +NVIDIA D11M2-30/PCI/SSE2 UNRECOGNIZED +NVIDIA D12-P1-35/PCI/SSE2 UNRECOGNIZED +NVIDIA D12U-15/PCI/SSE2 UNRECOGNIZED +NVIDIA D13M1-40/PCI/SSE2 UNRECOGNIZED +NVIDIA D13P1-40/PCI/SSE2 UNRECOGNIZED +NVIDIA D13U-10/PCI/SSE2 UNRECOGNIZED +NVIDIA D13U/PCI/SSE2 UNRECOGNIZED +NVIDIA D9M supported 1 NVIDIA D9M +NVIDIA D9M-20/PCI/SSE2 supported 1 NVIDIA D9M +NVIDIA Entry Graphics/PCI/SSE2 UNRECOGNIZED +NVIDIA Entry Graphics/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA G 102M UNRECOGNIZED +NVIDIA G 103M UNRECOGNIZED +NVIDIA G 105M UNRECOGNIZED +NVIDIA G 110M UNRECOGNIZED +NVIDIA G100 UNRECOGNIZED +NVIDIA G102M UNRECOGNIZED +NVIDIA G103M UNRECOGNIZED +NVIDIA G105M UNRECOGNIZED +NVIDIA G210 UNRECOGNIZED +NVIDIA G210M UNRECOGNIZED +NVIDIA G70/PCI/SSE2 UNRECOGNIZED +NVIDIA G72 supported 1 NVIDIA G72 +NVIDIA G73 supported 1 NVIDIA G73 +NVIDIA G84 supported 2 NVIDIA G84 +NVIDIA G86 supported 3 NVIDIA G86 +NVIDIA G92 supported 3 NVIDIA G92 +NVIDIA G92-200/PCI/SSE2 supported 3 NVIDIA G92 +NVIDIA G94 supported 3 NVIDIA G94 +NVIDIA G96/PCI/SSE2 UNRECOGNIZED +NVIDIA G98/PCI/SSE2 UNRECOGNIZED +NVIDIA GT 120 supported 2 NVIDIA GT 120 +NVIDIA GT 130 UNRECOGNIZED +NVIDIA GT 130M UNRECOGNIZED +NVIDIA GT 140 UNRECOGNIZED +NVIDIA GT 150 UNRECOGNIZED +NVIDIA GT 160M UNRECOGNIZED +NVIDIA GT 220 UNRECOGNIZED +NVIDIA GT 220/PCI/SSE2 UNRECOGNIZED +NVIDIA GT 220/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA GT 230 UNRECOGNIZED +NVIDIA GT 230M UNRECOGNIZED +NVIDIA GT 240 UNRECOGNIZED +NVIDIA GT 240M UNRECOGNIZED +NVIDIA GT 250M UNRECOGNIZED +NVIDIA GT 260M UNRECOGNIZED +NVIDIA GT 320 supported 2 NVIDIA GT 320 +NVIDIA GT 320M supported 2 NVIDIA GT 320 +NVIDIA GT 330 UNRECOGNIZED +NVIDIA GT 330M supported 3 NVIDIA GT 330M +NVIDIA GT 340 UNRECOGNIZED +NVIDIA GT 420 UNRECOGNIZED +NVIDIA GT 430 UNRECOGNIZED +NVIDIA GT 440 UNRECOGNIZED +NVIDIA GT 450 UNRECOGNIZED +NVIDIA GT 520 UNRECOGNIZED +NVIDIA GT 540 UNRECOGNIZED +NVIDIA GT 540M UNRECOGNIZED +NVIDIA GT-120 supported 2 NVIDIA GT 120 +NVIDIA GT200/PCI/SSE2 UNRECOGNIZED +NVIDIA GTS 150 UNRECOGNIZED +NVIDIA GTS 240 UNRECOGNIZED +NVIDIA GTS 250 UNRECOGNIZED +NVIDIA GTS 350M UNRECOGNIZED +NVIDIA GTS 360 UNRECOGNIZED +NVIDIA GTS 360M UNRECOGNIZED +NVIDIA GTS 450 UNRECOGNIZED +NVIDIA GTX 260 UNRECOGNIZED +NVIDIA GTX 260M UNRECOGNIZED +NVIDIA GTX 270 UNRECOGNIZED +NVIDIA GTX 280 supported 3 NVIDIA GTX 280 +NVIDIA GTX 285 supported 3 NVIDIA GTX 285 +NVIDIA GTX 290 UNRECOGNIZED +NVIDIA GTX 460 UNRECOGNIZED +NVIDIA GTX 460M UNRECOGNIZED +NVIDIA GTX 465 UNRECOGNIZED +NVIDIA GTX 470 UNRECOGNIZED +NVIDIA GTX 470M UNRECOGNIZED +NVIDIA GTX 480 UNRECOGNIZED +NVIDIA GTX 480M UNRECOGNIZED +NVIDIA GTX 550 Ti UNRECOGNIZED +NVIDIA GTX 560 UNRECOGNIZED +NVIDIA GTX 560 Ti UNRECOGNIZED +NVIDIA GTX 570 UNRECOGNIZED +NVIDIA GTX 580 UNRECOGNIZED +NVIDIA GTX 590 UNRECOGNIZED +NVIDIA GeForce UNRECOGNIZED +NVIDIA GeForce 2 UNRECOGNIZED +NVIDIA GeForce 205/PCI/SSE2 supported 2 NVIDIA 205 +NVIDIA GeForce 210 supported 2 NVIDIA 210 +NVIDIA GeForce 210/PCI/SSE2 supported 2 NVIDIA 210 +NVIDIA GeForce 210/PCI/SSE2/3DNOW! supported 2 NVIDIA 210 +NVIDIA GeForce 3 UNRECOGNIZED +NVIDIA GeForce 305M/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce 310/PCI/SSE2 supported 3 NVIDIA 310 +NVIDIA GeForce 310/PCI/SSE2/3DNOW! supported 3 NVIDIA 310 +NVIDIA GeForce 310M/PCI/SSE2 supported 1 NVIDIA 310M +NVIDIA GeForce 315/PCI/SSE2 supported 3 NVIDIA 315 +NVIDIA GeForce 315/PCI/SSE2/3DNOW! supported 3 NVIDIA 315 +NVIDIA GeForce 315M/PCI/SSE2 supported 2 NVIDIA 315M +NVIDIA GeForce 320M/PCI/SSE2 supported 2 NVIDIA 320M +NVIDIA GeForce 4 Go UNRECOGNIZED +NVIDIA GeForce 4 MX UNRECOGNIZED +NVIDIA GeForce 4 Ti UNRECOGNIZED +NVIDIA GeForce 405/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce 6100 supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6100 nForce 400/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6100 nForce 405/PCI/SSE2 supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6100 nForce 405/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6100 nForce 420/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6100 nForce 430/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6100/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6150 LE/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6150/PCI/SSE2 supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6150/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6150SE nForce 430/PCI/SSE2 supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6150SE nForce 430/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6150SE/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6100 +NVIDIA GeForce 6200 supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200 A-LE/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200 A-LE/AGP/SSE2 supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200 A-LE/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200 LE/PCI/SSE2 supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200 LE/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200 TurboCache(TM)/PCI/SSE2 supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200 TurboCache(TM)/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200/AGP/SSE2 supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200/PCI/SSE/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200/PCI/SSE2 supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6200SE TurboCache(TM)/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 6200 +NVIDIA GeForce 6500 supported 0 NVIDIA GeForce 6500 +NVIDIA GeForce 6500/PCI/SSE2 supported 0 NVIDIA GeForce 6500 +NVIDIA GeForce 6600 supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600 GT/AGP/SSE/3DNOW! supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600 GT/AGP/SSE2 supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600 GT/PCI/SSE/3DNOW! supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600 GT/PCI/SSE2 supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600 GT/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600 LE/PCI/SSE2 supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600/AGP/SSE/3DNOW! supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600/AGP/SSE2 supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600/AGP/SSE2/3DNOW! supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600/PCI/SSE2 supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6600/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 6600 +NVIDIA GeForce 6700 supported 2 NVIDIA GeForce 6700 +NVIDIA GeForce 6800 supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 6800 GS/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 6800 GT/AGP/SSE2 supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 6800 GT/PCI/SSE2 supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 6800 XT/AGP/SSE2 supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 6800 XT/PCI/SSE2 supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 6800/PCI/SSE2 supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 6800/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 6800 +NVIDIA GeForce 7000 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7000M supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7000M / nForce 610M/PCI/SSE2 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7000M / nForce 610M/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7025 / NVIDIA nForce 630a/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7025 / nForce 630a/PCI/SSE2 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7025 / nForce 630a/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 / NVIDIA nForce 610i/PCI/SSE2 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 / NVIDIA nForce 620i/PCI/SSE2 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 / nForce 610i/PCI/SSE2 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 / nForce 620i/PCI/SSE2 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 PV / NVIDIA nForce 630a/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 PV / nForce 630a/PCI/SSE2 supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 PV / nForce 630a/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7050 SE / NVIDIA nForce 630a/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7000 +NVIDIA GeForce 7100 supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7100 / NVIDIA nForce 620i/PCI/SSE2 supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7100 / NVIDIA nForce 630i/PCI/SSE2 supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7100 / nForce 630i/PCI/SSE2 supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7100 GS/PCI/SSE2 supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7100 GS/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7150M / nForce 630M/PCI/SSE2 supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7150M / nForce 630M/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 7100 +NVIDIA GeForce 7300 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 GS/PCI/SSE2 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 GT/AGP/SSE2 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 GT/AGP/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 GT/PCI/SSE2 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 GT/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 LE/PCI/SSE2 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 LE/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 SE/7200 GS/PCI/SSE2 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 SE/7200 GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 SE/PCI/SSE2 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7300 SE/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7350 LE/PCI/SSE2 supported 1 NVIDIA GeForce 7300 +NVIDIA GeForce 7500 supported 1 NVIDIA GeForce 7500 +NVIDIA GeForce 7500 LE/PCI/SSE2 supported 1 NVIDIA GeForce 7500 +NVIDIA GeForce 7500 LE/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 7500 +NVIDIA GeForce 7600 supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GS/AGP/SSE2 supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GS/AGP/SSE2/3DNOW! supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GS/PCI/SSE2 supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GS/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GT/AGP/SSE/3DNOW! supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GT/AGP/SSE2 supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GT/PCI/SSE2 supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7600 GT/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7650 GS/PCI/SSE2 supported 2 NVIDIA GeForce 7600 +NVIDIA GeForce 7800 supported 2 NVIDIA GeForce 7800 +NVIDIA GeForce 7800 GS/AGP/SSE2 supported 2 NVIDIA GeForce 7800 +NVIDIA GeForce 7800 GS/AGP/SSE2/3DNOW! supported 2 NVIDIA GeForce 7800 +NVIDIA GeForce 7800 GT/PCI/SSE2 supported 2 NVIDIA GeForce 7800 +NVIDIA GeForce 7800 GTX/PCI/SSE2 supported 2 NVIDIA GeForce 7800 +NVIDIA GeForce 7800 GTX/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7800 +NVIDIA GeForce 7900 supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 7900 GS/PCI/SSE2 supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 7900 GS/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 7900 GT/GTO/PCI/SSE2 supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 7900 GT/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 7900 GTX/PCI/SSE2 supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 7950 GT/PCI/SSE2 supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 7950 GT/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 7900 +NVIDIA GeForce 8100 supported 1 NVIDIA GeForce 8100 +NVIDIA GeForce 8100 / nForce 720a/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8100 +NVIDIA GeForce 8200 supported 1 NVIDIA GeForce 8200 +NVIDIA GeForce 8200/PCI/SSE2 supported 1 NVIDIA GeForce 8200 +NVIDIA GeForce 8200/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8200 +NVIDIA GeForce 8200M supported 1 NVIDIA GeForce 8200M +NVIDIA GeForce 8200M G/PCI/SSE2 supported 1 NVIDIA GeForce 8200M +NVIDIA GeForce 8200M G/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8200M +NVIDIA GeForce 8300 supported 1 NVIDIA GeForce 8300 +NVIDIA GeForce 8300 GS/PCI/SSE2 supported 1 NVIDIA GeForce 8300 +NVIDIA GeForce 8400 supported 1 NVIDIA GeForce 8400 +NVIDIA GeForce 8400 GS/PCI/SSE/3DNOW! supported 1 NVIDIA GeForce 8400 +NVIDIA GeForce 8400 GS/PCI/SSE2 supported 1 NVIDIA GeForce 8400 +NVIDIA GeForce 8400 GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8400 +NVIDIA GeForce 8400/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8400 +NVIDIA GeForce 8400GS/PCI/SSE2 supported 1 NVIDIA GeForce 8400 +NVIDIA GeForce 8400GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8400 +NVIDIA GeForce 8400M supported 1 NVIDIA GeForce 8400M +NVIDIA GeForce 8400M G/PCI/SSE2 supported 1 NVIDIA GeForce 8400M +NVIDIA GeForce 8400M G/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8400M +NVIDIA GeForce 8400M GS/PCI/SSE2 supported 1 NVIDIA GeForce 8400M +NVIDIA GeForce 8400M GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8400M +NVIDIA GeForce 8400M GT/PCI/SSE2 supported 1 NVIDIA GeForce 8400M +NVIDIA GeForce 8500 supported 3 NVIDIA GeForce 8500 +NVIDIA GeForce 8500 GT/PCI/SSE2 supported 3 NVIDIA GeForce 8500 +NVIDIA GeForce 8500 GT/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8500 +NVIDIA GeForce 8600 supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600 GS/PCI/SSE2 supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600 GS/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600 GT/PCI/SSE2 supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600 GT/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600 GTS/PCI/SSE2 supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600 GTS/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600GS/PCI/SSE2 supported 3 NVIDIA GeForce 8600 +NVIDIA GeForce 8600M supported 1 NVIDIA GeForce 8600M +NVIDIA GeForce 8600M GS/PCI/SSE2 supported 1 NVIDIA GeForce 8600M +NVIDIA GeForce 8600M GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 8600M +NVIDIA GeForce 8600M GT/PCI/SSE2 supported 1 NVIDIA GeForce 8600M +NVIDIA GeForce 8700 supported 3 NVIDIA GeForce 8700 +NVIDIA GeForce 8700M supported 3 NVIDIA GeForce 8700M +NVIDIA GeForce 8700M GT/PCI/SSE2 supported 3 NVIDIA GeForce 8700M +NVIDIA GeForce 8800 supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GS/PCI/SSE2 supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GT/PCI/SSE2 supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GT/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GTS 512/PCI/SSE2 supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GTS 512/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GTS/PCI/SSE2 supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GTS/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 GTX/PCI/SSE2 supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800 Ultra/PCI/SSE2 supported 3 NVIDIA GeForce 8800 +NVIDIA GeForce 8800M GTS/PCI/SSE2 supported 3 NVIDIA GeForce 8800M +NVIDIA GeForce 8800M GTX/PCI/SSE2 supported 3 NVIDIA GeForce 8800M +NVIDIA GeForce 9100 supported 0 NVIDIA GeForce 9100 +NVIDIA GeForce 9100/PCI/SSE2 supported 0 NVIDIA GeForce 9100 +NVIDIA GeForce 9100/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 9100 +NVIDIA GeForce 9100M supported 0 NVIDIA GeForce 9100M +NVIDIA GeForce 9100M G/PCI/SSE2 supported 0 NVIDIA GeForce 9100M +NVIDIA GeForce 9100M G/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 9100M +NVIDIA GeForce 9200 supported 1 NVIDIA GeForce 9200 +NVIDIA GeForce 9200/PCI/SSE2 supported 1 NVIDIA GeForce 9200 +NVIDIA GeForce 9200/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9200 +NVIDIA GeForce 9200M GE/PCI/SSE2 supported 1 NVIDIA GeForce 9200M +NVIDIA GeForce 9200M GS/PCI/SSE2 supported 1 NVIDIA GeForce 9200M +NVIDIA GeForce 9300 supported 1 NVIDIA GeForce 9300 +NVIDIA GeForce 9300 / nForce 730i/PCI/SSE2 supported 1 NVIDIA GeForce 9300 +NVIDIA GeForce 9300 GE/PCI/SSE2 supported 1 NVIDIA GeForce 9300 +NVIDIA GeForce 9300 GE/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9300 +NVIDIA GeForce 9300 GS/PCI/SSE2 supported 1 NVIDIA GeForce 9300 +NVIDIA GeForce 9300 GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9300 +NVIDIA GeForce 9300 SE/PCI/SSE2 supported 1 NVIDIA GeForce 9300 +NVIDIA GeForce 9300M supported 1 NVIDIA GeForce 9300M +NVIDIA GeForce 9300M G/PCI/SSE2 supported 1 NVIDIA GeForce 9300M +NVIDIA GeForce 9300M G/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9300M +NVIDIA GeForce 9300M GS/PCI/SSE2 supported 1 NVIDIA GeForce 9300M +NVIDIA GeForce 9300M GS/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9300M +NVIDIA GeForce 9400 supported 1 NVIDIA GeForce 9400 +NVIDIA GeForce 9400 GT/PCI/SSE2 supported 1 NVIDIA GeForce 9400 +NVIDIA GeForce 9400 GT/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce 9400 +NVIDIA GeForce 9400/PCI/SSE2 supported 1 NVIDIA GeForce 9400 +NVIDIA GeForce 9400M supported 1 NVIDIA GeForce 9400M +NVIDIA GeForce 9400M G/PCI/SSE2 supported 1 NVIDIA GeForce 9400M +NVIDIA GeForce 9400M/PCI/SSE2 supported 1 NVIDIA GeForce 9400M +NVIDIA GeForce 9500 supported 2 NVIDIA GeForce 9500 +NVIDIA GeForce 9500 GS/PCI/SSE2 supported 2 NVIDIA GeForce 9500 +NVIDIA GeForce 9500 GS/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 9500 +NVIDIA GeForce 9500 GT/PCI/SSE2 supported 2 NVIDIA GeForce 9500 +NVIDIA GeForce 9500 GT/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 9500 +NVIDIA GeForce 9500M supported 2 NVIDIA GeForce 9500M +NVIDIA GeForce 9500M GS/PCI/SSE2 supported 2 NVIDIA GeForce 9500M +NVIDIA GeForce 9600 supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9600 GS/PCI/SSE2 supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9600 GSO 512/PCI/SSE2 supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9600 GSO/PCI/SSE2 supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9600 GSO/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9600 GT/PCI/SSE2 supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9600 GT/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9600M supported 3 NVIDIA GeForce 9600M +NVIDIA GeForce 9600M GS/PCI/SSE2 supported 3 NVIDIA GeForce 9600M +NVIDIA GeForce 9600M GT/PCI/SSE2 supported 3 NVIDIA GeForce 9600M +NVIDIA GeForce 9650M GT/PCI/SSE2 supported 2 NVIDIA GeForce 9600 +NVIDIA GeForce 9700M supported 2 NVIDIA GeForce 9700M +NVIDIA GeForce 9700M GT/PCI/SSE2 supported 2 NVIDIA GeForce 9700M +NVIDIA GeForce 9700M GTS/PCI/SSE2 supported 2 NVIDIA GeForce 9700M +NVIDIA GeForce 9800 supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800 GT/PCI/SSE2 supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800 GT/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800 GTX+/PCI/SSE2 supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800 GTX+/PCI/SSE2/3DNOW! supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800 GTX/9800 GTX+/PCI/SSE2 supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800 GTX/PCI/SSE2 supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800 GX2/PCI/SSE2 supported 3 NVIDIA GeForce 9800 +NVIDIA GeForce 9800M supported 3 NVIDIA GeForce 9800M +NVIDIA GeForce 9800M GS/PCI/SSE2 supported 3 NVIDIA GeForce 9800M +NVIDIA GeForce 9800M GT/PCI/SSE2 supported 3 NVIDIA GeForce 9800M +NVIDIA GeForce 9800M GTS/PCI/SSE2 supported 3 NVIDIA GeForce 9800M +NVIDIA GeForce FX 5100 supported 0 NVIDIA GeForce FX 5100 +NVIDIA GeForce FX 5100/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce FX 5100 +NVIDIA GeForce FX 5200 supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5200/AGP/SSE supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5200/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5200/AGP/SSE2 supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5200/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5200/PCI/SSE2 supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5200/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5200LE/AGP/SSE2 supported 0 NVIDIA GeForce FX 5200 +NVIDIA GeForce FX 5500 supported 0 NVIDIA GeForce FX 5500 +NVIDIA GeForce FX 5500/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce FX 5500 +NVIDIA GeForce FX 5500/AGP/SSE2 supported 0 NVIDIA GeForce FX 5500 +NVIDIA GeForce FX 5500/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5500 +NVIDIA GeForce FX 5500/PCI/SSE2 supported 0 NVIDIA GeForce FX 5500 +NVIDIA GeForce FX 5500/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5500 +NVIDIA GeForce FX 5600 supported 0 NVIDIA GeForce FX 5600 +NVIDIA GeForce FX 5600/AGP/SSE2 supported 0 NVIDIA GeForce FX 5600 +NVIDIA GeForce FX 5600/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5600 +NVIDIA GeForce FX 5600XT/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce FX 5600 +NVIDIA GeForce FX 5700 supported 1 NVIDIA GeForce FX 5700 +NVIDIA GeForce FX 5700/AGP/SSE/3DNOW! supported 1 NVIDIA GeForce FX 5700 +NVIDIA GeForce FX 5700LE/AGP/SSE supported 1 NVIDIA GeForce FX 5700 +NVIDIA GeForce FX 5700LE/AGP/SSE/3DNOW! supported 1 NVIDIA GeForce FX 5700 +NVIDIA GeForce FX 5800 supported 1 NVIDIA GeForce FX 5800 +NVIDIA GeForce FX 5900 supported 1 NVIDIA GeForce FX 5900 +NVIDIA GeForce FX 5900/AGP/SSE2 supported 1 NVIDIA GeForce FX 5900 +NVIDIA GeForce FX 5900XT/AGP/SSE2 supported 1 NVIDIA GeForce FX 5900 +NVIDIA GeForce FX Go5100 supported 0 NVIDIA GeForce FX Go5100 +NVIDIA GeForce FX Go5100/AGP/SSE2 supported 0 NVIDIA GeForce FX Go5100 +NVIDIA GeForce FX Go5200 supported 0 NVIDIA GeForce FX Go5200 +NVIDIA GeForce FX Go5200/AGP/SSE2 supported 0 NVIDIA GeForce FX Go5200 +NVIDIA GeForce FX Go5300 supported 0 NVIDIA GeForce FX Go5300 +NVIDIA GeForce FX Go5600 supported 0 NVIDIA GeForce FX Go5600 +NVIDIA GeForce FX Go5600/AGP/SSE2 supported 0 NVIDIA GeForce FX Go5600 +NVIDIA GeForce FX Go5650/AGP/SSE2 supported 0 NVIDIA GeForce FX Go5600 +NVIDIA GeForce FX Go5700 supported 1 NVIDIA GeForce FX Go5700 +NVIDIA GeForce FX Go5xxx/AGP/SSE2 UNRECOGNIZED +NVIDIA GeForce G 103M/PCI/SSE2 supported 0 NVIDIA G103M +NVIDIA GeForce G 105M/PCI/SSE2 supported 0 NVIDIA G105M +NVIDIA GeForce G 110M/PCI/SSE2 supported 0 NVIDIA G 110M +NVIDIA GeForce G100/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce G100/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA GeForce G102M/PCI/SSE2 supported 0 NVIDIA G102M +NVIDIA GeForce G105M/PCI/SSE2 supported 0 NVIDIA G105M +NVIDIA GeForce G200/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce G205M/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce G210/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce G210/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA GeForce G210M/PCI/SSE2 supported 1 NVIDIA G210M +NVIDIA GeForce G310M/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce GT 120/PCI/SSE2 supported 2 NVIDIA GT 120 +NVIDIA GeForce GT 120/PCI/SSE2/3DNOW! supported 2 NVIDIA GT 120 +NVIDIA GeForce GT 120M/PCI/SSE2 supported 2 NVIDIA GT 120M +NVIDIA GeForce GT 130M/PCI/SSE2 supported 2 NVIDIA GT 130M +NVIDIA GeForce GT 140/PCI/SSE2 supported 2 NVIDIA GT 140 +NVIDIA GeForce GT 220/PCI/SSE2 supported 2 NVIDIA GT 220 +NVIDIA GeForce GT 220/PCI/SSE2/3DNOW! supported 2 NVIDIA GT 220 +NVIDIA GeForce GT 220M/PCI/SSE2 supported 2 NVIDIA GT 220M +NVIDIA GeForce GT 230/PCI/SSE2 supported 2 NVIDIA GT 230 +NVIDIA GeForce GT 230M/PCI/SSE2 supported 2 NVIDIA GT 230M +NVIDIA GeForce GT 240 supported 1 NVIDIA GT 240 +NVIDIA GeForce GT 240/PCI/SSE2 supported 1 NVIDIA GT 240 +NVIDIA GeForce GT 240/PCI/SSE2/3DNOW! supported 1 NVIDIA GT 240 +NVIDIA GeForce GT 240M/PCI/SSE2 supported 2 NVIDIA GT 240M +NVIDIA GeForce GT 320/PCI/SSE2 supported 2 NVIDIA GT 320 +NVIDIA GeForce GT 320M/PCI/SSE2 supported 2 NVIDIA GT 320M +NVIDIA GeForce GT 325M/PCI/SSE2 supported 0 NVIDIA GT 325M +NVIDIA GeForce GT 330/PCI/SSE2 supported 1 NVIDIA GT 330 +NVIDIA GeForce GT 330/PCI/SSE2/3DNOW! supported 1 NVIDIA GT 330 +NVIDIA GeForce GT 330M/PCI/SSE2 supported 3 NVIDIA GT 330M +NVIDIA GeForce GT 335M/PCI/SSE2 supported 1 NVIDIA GT 335M +NVIDIA GeForce GT 340/PCI/SSE2 supported 1 NVIDIA GT 340 +NVIDIA GeForce GT 340/PCI/SSE2/3DNOW! supported 1 NVIDIA GT 340 +NVIDIA GeForce GT 415M/PCI/SSE2 supported 2 NVIDIA GT 415M +NVIDIA GeForce GT 420/PCI/SSE2 supported 2 NVIDIA GT 420 +NVIDIA GeForce GT 420M/PCI/SSE2 supported 2 NVIDIA GT 420M +NVIDIA GeForce GT 425M/PCI/SSE2 supported 3 NVIDIA GT 425M +NVIDIA GeForce GT 430/PCI/SSE2 supported 3 NVIDIA GT 430 +NVIDIA GeForce GT 430/PCI/SSE2/3DNOW! supported 3 NVIDIA GT 430 +NVIDIA GeForce GT 435M/PCI/SSE2 supported 3 NVIDIA GT 435M +NVIDIA GeForce GT 440/PCI/SSE2 supported 3 NVIDIA GT 440 +NVIDIA GeForce GT 440/PCI/SSE2/3DNOW! supported 3 NVIDIA GT 440 +NVIDIA GeForce GT 445M/PCI/SSE2 supported 3 NVIDIA GT 445M +NVIDIA GeForce GT 520M/PCI/SSE2 supported 3 NVIDIA GT 520M +NVIDIA GeForce GT 525M/PCI/SSE2 supported 3 NVIDIA GT 525M +NVIDIA GeForce GT 540M/PCI/SSE2 supported 3 NVIDIA GT 540M +NVIDIA GeForce GT 550M/PCI/SSE2 supported 3 NVIDIA GT 550M +NVIDIA GeForce GT 555M/PCI/SSE2 supported 3 NVIDIA GT 555M +NVIDIA GeForce GTS 150/PCI/SSE2 supported 3 NVIDIA GTS 150 +NVIDIA GeForce GTS 160M/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce GTS 240/PCI/SSE2 supported 3 NVIDIA GTS 240 +NVIDIA GeForce GTS 250/PCI/SSE2 supported 3 NVIDIA GTS 250 +NVIDIA GeForce GTS 250/PCI/SSE2/3DNOW! supported 3 NVIDIA GTS 250 +NVIDIA GeForce GTS 250M/PCI/SSE2 supported 3 NVIDIA GTS 250 +NVIDIA GeForce GTS 350M/PCI/SSE2 supported 3 NVIDIA GTS 350M +NVIDIA GeForce GTS 360M/PCI/SSE2 supported 3 NVIDIA GTS 360M +NVIDIA GeForce GTS 450/PCI/SSE2 supported 3 NVIDIA GTS 450 +NVIDIA GeForce GTS 450/PCI/SSE2/3DNOW! supported 3 NVIDIA GTS 450 +NVIDIA GeForce GTS 455/PCI/SSE2 supported 3 NVIDIA GTS 450 +NVIDIA GeForce GTX 260/PCI/SSE2 supported 3 NVIDIA GTX 260 +NVIDIA GeForce GTX 260/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 260 +NVIDIA GeForce GTX 260M/PCI/SSE2 supported 3 NVIDIA GTX 260 +NVIDIA GeForce GTX 275/PCI/SSE2 supported 3 NVIDIA GTX 275 +NVIDIA GeForce GTX 280 supported 3 NVIDIA GTX 280 +NVIDIA GeForce GTX 280/PCI/SSE2 supported 3 NVIDIA GTX 280 +NVIDIA GeForce GTX 280M/PCI/SSE2 supported 3 NVIDIA GTX 280 +NVIDIA GeForce GTX 285/PCI/SSE2 supported 3 NVIDIA GTX 285 +NVIDIA GeForce GTX 295/PCI/SSE2 supported 3 NVIDIA GTX 295 +NVIDIA GeForce GTX 460 SE/PCI/SSE2 supported 3 NVIDIA GTX 460 +NVIDIA GeForce GTX 460 SE/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 460 +NVIDIA GeForce GTX 460/PCI/SSE2 supported 3 NVIDIA GTX 460 +NVIDIA GeForce GTX 460/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 460 +NVIDIA GeForce GTX 460M/PCI/SSE2 supported 3 NVIDIA GTX 460M +NVIDIA GeForce GTX 465/PCI/SSE2 supported 3 NVIDIA GTX 465 +NVIDIA GeForce GTX 465/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 465 +NVIDIA GeForce GTX 470/PCI/SSE2 supported 3 NVIDIA GTX 470 +NVIDIA GeForce GTX 470/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 470 +NVIDIA GeForce GTX 480/PCI/SSE2 supported 3 NVIDIA GTX 480 +NVIDIA GeForce GTX 550 Ti/PCI/SSE2 UNRECOGNIZED +NVIDIA GeForce GTX 550 Ti/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA GeForce GTX 560 Ti/PCI/SSE2 supported 3 NVIDIA GTX 560 +NVIDIA GeForce GTX 560 Ti/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 560 +NVIDIA GeForce GTX 560/PCI/SSE2 supported 3 NVIDIA GTX 560 +NVIDIA GeForce GTX 570/PCI/SSE2 supported 3 NVIDIA GTX 570 +NVIDIA GeForce GTX 570/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 570 +NVIDIA GeForce GTX 580/PCI/SSE2 supported 3 NVIDIA GTX 580 +NVIDIA GeForce GTX 580/PCI/SSE2/3DNOW! supported 3 NVIDIA GTX 580 +NVIDIA GeForce GTX 580M/PCI/SSE2 supported 3 NVIDIA GTX 580M +NVIDIA GeForce GTX 590/PCI/SSE2 supported 3 NVIDIA GTX 590 +NVIDIA GeForce Go 6 supported 1 NVIDIA GeForce Go 6 +NVIDIA GeForce Go 6100 supported 0 NVIDIA GeForce Go 6100 +NVIDIA GeForce Go 6100/PCI/SSE2 supported 0 NVIDIA GeForce Go 6100 +NVIDIA GeForce Go 6100/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce Go 6100 +NVIDIA GeForce Go 6150/PCI/SSE2 supported 0 NVIDIA GeForce Go 6100 +NVIDIA GeForce Go 6150/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce Go 6100 +NVIDIA GeForce Go 6200 supported 0 NVIDIA GeForce Go 6200 +NVIDIA GeForce Go 6200/PCI/SSE2 supported 0 NVIDIA GeForce Go 6200 +NVIDIA GeForce Go 6400 supported 1 NVIDIA GeForce Go 6400 +NVIDIA GeForce Go 6400/PCI/SSE2 supported 1 NVIDIA GeForce Go 6400 +NVIDIA GeForce Go 6600 supported 1 NVIDIA GeForce Go 6600 +NVIDIA GeForce Go 6600/PCI/SSE2 supported 1 NVIDIA GeForce Go 6600 +NVIDIA GeForce Go 6800 supported 1 NVIDIA GeForce Go 6800 +NVIDIA GeForce Go 6800 Ultra/PCI/SSE2 supported 1 NVIDIA GeForce Go 6800 +NVIDIA GeForce Go 6800/PCI/SSE2 supported 1 NVIDIA GeForce Go 6800 +NVIDIA GeForce Go 7200 supported 1 NVIDIA GeForce Go 7200 +NVIDIA GeForce Go 7200/PCI/SSE2 supported 1 NVIDIA GeForce Go 7200 +NVIDIA GeForce Go 7200/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce Go 7200 +NVIDIA GeForce Go 7300 supported 1 NVIDIA GeForce Go 7300 +NVIDIA GeForce Go 7300/PCI/SSE2 supported 1 NVIDIA GeForce Go 7300 +NVIDIA GeForce Go 7300/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce Go 7300 +NVIDIA GeForce Go 7400 supported 1 NVIDIA GeForce Go 7400 +NVIDIA GeForce Go 7400/PCI/SSE2 supported 1 NVIDIA GeForce Go 7400 +NVIDIA GeForce Go 7400/PCI/SSE2/3DNOW! supported 1 NVIDIA GeForce Go 7400 +NVIDIA GeForce Go 7600 supported 2 NVIDIA GeForce Go 7600 +NVIDIA GeForce Go 7600/PCI/SSE2 supported 2 NVIDIA GeForce Go 7600 +NVIDIA GeForce Go 7600/PCI/SSE2/3DNOW! supported 2 NVIDIA GeForce Go 7600 +NVIDIA GeForce Go 7700 supported 2 NVIDIA GeForce Go 7700 +NVIDIA GeForce Go 7800 supported 2 NVIDIA GeForce Go 7800 +NVIDIA GeForce Go 7800 GTX/PCI/SSE2 supported 2 NVIDIA GeForce Go 7800 +NVIDIA GeForce Go 7900 supported 2 NVIDIA GeForce Go 7900 +NVIDIA GeForce Go 7900 GS/PCI/SSE2 supported 2 NVIDIA GeForce Go 7900 +NVIDIA GeForce Go 7900 GTX/PCI/SSE2 supported 2 NVIDIA GeForce Go 7900 +NVIDIA GeForce Go 7950 GTX/PCI/SSE2 supported 2 NVIDIA GeForce Go 7900 +NVIDIA GeForce PCX supported 0 NVIDIA GeForce PCX +NVIDIA GeForce2 GTS/AGP/SSE supported 0 NVIDIA GeForce 2 +NVIDIA GeForce2 MX/AGP/3DNOW! supported 0 NVIDIA GeForce 2 +NVIDIA GeForce2 MX/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 2 +NVIDIA GeForce2 MX/AGP/SSE2 supported 0 NVIDIA GeForce 2 +NVIDIA GeForce2 MX/PCI/SSE2 supported 0 NVIDIA GeForce 2 +NVIDIA GeForce3/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 3 +NVIDIA GeForce3/AGP/SSE2 supported 0 NVIDIA GeForce 3 +NVIDIA GeForce4 420 Go 32M/AGP/SSE2 supported 0 NVIDIA GeForce 4 Go +NVIDIA GeForce4 420 Go 32M/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce 4 Go +NVIDIA GeForce4 420 Go 32M/PCI/SSE2/3DNOW! supported 0 NVIDIA GeForce 4 Go +NVIDIA GeForce4 440 Go 64M/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce 4 Go +NVIDIA GeForce4 460 Go/AGP/SSE2 supported 0 NVIDIA GeForce 4 Go +NVIDIA GeForce4 MX 4000/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 4000/AGP/SSE2 supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 4000/PCI/3DNOW! supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 4000/PCI/SSE/3DNOW! supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 4000/PCI/SSE2 supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 420/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 420/AGP/SSE2 supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 440 with AGP8X/AGP/SSE2 supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 440/AGP/SSE2 supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 440/AGP/SSE2/3DNOW! supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX 440SE with AGP8X/AGP/SSE2 supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 MX Integrated GPU/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 4 MX +NVIDIA GeForce4 Ti 4200 with AGP8X/AGP/SSE supported 0 NVIDIA GeForce 4 Ti +NVIDIA GeForce4 Ti 4200/AGP/SSE/3DNOW! supported 0 NVIDIA GeForce 4 Ti +NVIDIA GeForce4 Ti 4400/AGP/SSE2 supported 0 NVIDIA GeForce 4 Ti +NVIDIA Generic UNRECOGNIZED +NVIDIA ION LE/PCI/SSE2 supported 2 NVIDIA ION +NVIDIA ION/PCI/SSE2 supported 2 NVIDIA ION +NVIDIA ION/PCI/SSE2/3DNOW! supported 2 NVIDIA ION +NVIDIA MCP61/PCI/SSE2 UNRECOGNIZED +NVIDIA MCP61/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA MCP73/PCI/SSE2 UNRECOGNIZED +NVIDIA MCP79MH/PCI/SSE2 UNRECOGNIZED +NVIDIA MCP79MX/PCI/SSE2 UNRECOGNIZED +NVIDIA MCP7A-O/PCI/SSE2 UNRECOGNIZED +NVIDIA MCP7A-S/PCI/SSE2 UNRECOGNIZED +NVIDIA MCP89-EPT/PCI/SSE2 UNRECOGNIZED +NVIDIA N10M-GE1/PCI/SSE2 UNRECOGNIZED +NVIDIA N10P-GE1/PCI/SSE2 UNRECOGNIZED +NVIDIA N10P-GV2/PCI/SSE2 UNRECOGNIZED +NVIDIA N11M-GE1/PCI/SSE2 UNRECOGNIZED +NVIDIA N11M-GE2/PCI/SSE2 UNRECOGNIZED +NVIDIA N12E-GS-A1/PCI/SSE2 UNRECOGNIZED +NVIDIA NB9M-GE/PCI/SSE2 UNRECOGNIZED +NVIDIA NB9M-GE1/PCI/SSE2 UNRECOGNIZED +NVIDIA NB9M-GS/PCI/SSE2 UNRECOGNIZED +NVIDIA NB9M-NS/PCI/SSE2 UNRECOGNIZED +NVIDIA NB9P-GE1/PCI/SSE2 UNRECOGNIZED +NVIDIA NB9P-GS/PCI/SSE2 UNRECOGNIZED +NVIDIA NV17/AGP/3DNOW! UNRECOGNIZED +NVIDIA NV17/AGP/SSE2 UNRECOGNIZED +NVIDIA NV34 supported 0 NVIDIA NV34 +NVIDIA NV35 supported 0 NVIDIA NV35 +NVIDIA NV36/AGP/SSE/3DNOW! UNRECOGNIZED +NVIDIA NV36/AGP/SSE2 UNRECOGNIZED +NVIDIA NV41/PCI/SSE2 UNRECOGNIZED +NVIDIA NV43 supported 1 NVIDIA NV43 +NVIDIA NV44 supported 1 NVIDIA NV44 +NVIDIA NVIDIA GeForce 210 OpenGL Engine supported 2 NVIDIA 210 +NVIDIA NVIDIA GeForce 320M OpenGL Engine supported 2 NVIDIA 320M +NVIDIA NVIDIA GeForce 7300 GT OpenGL Engine supported 1 NVIDIA GeForce 7300 +NVIDIA NVIDIA GeForce 7600 GT OpenGL Engine supported 2 NVIDIA GeForce 7600 +NVIDIA NVIDIA GeForce 8600M GT OpenGL Engine supported 1 NVIDIA GeForce 8600M +NVIDIA NVIDIA GeForce 8800 GS OpenGL Engine supported 3 NVIDIA GeForce 8800 +NVIDIA NVIDIA GeForce 8800 GT OpenGL Engine supported 3 NVIDIA GeForce 8800 +NVIDIA NVIDIA GeForce 9400 OpenGL Engine supported 1 NVIDIA GeForce 9400 +NVIDIA NVIDIA GeForce 9400M OpenGL Engine supported 1 NVIDIA GeForce 9400M +NVIDIA NVIDIA GeForce 9500 GT OpenGL Engine supported 2 NVIDIA GeForce 9500 +NVIDIA NVIDIA GeForce 9600M GT OpenGL Engine supported 3 NVIDIA GeForce 9600M +NVIDIA NVIDIA GeForce GT 120 OpenGL Engine supported 2 NVIDIA GT 120 +NVIDIA NVIDIA GeForce GT 130 OpenGL Engine supported NVIDIA GT 130 +NVIDIA NVIDIA GeForce GT 220 OpenGL Engine supported 2 NVIDIA GT 220 +NVIDIA NVIDIA GeForce GT 230M OpenGL Engine supported 2 NVIDIA GT 230M +NVIDIA NVIDIA GeForce GT 240M OpenGL Engine supported 2 NVIDIA GT 240M +NVIDIA NVIDIA GeForce GT 330M OpenGL Engine supported 3 NVIDIA GT 330M +NVIDIA NVIDIA GeForce GT 420M OpenGL Engine supported 2 NVIDIA GT 420M +NVIDIA NVIDIA GeForce GT 425M OpenGL Engine supported 3 NVIDIA GT 425M +NVIDIA NVIDIA GeForce GT 430 OpenGL Engine supported 3 NVIDIA GT 430 +NVIDIA NVIDIA GeForce GT 440 OpenGL Engine supported 3 NVIDIA GT 440 +NVIDIA NVIDIA GeForce GT 540M OpenGL Engine supported 3 NVIDIA GT 540M +NVIDIA NVIDIA GeForce GTS 240 OpenGL Engine supported 3 NVIDIA GTS 240 +NVIDIA NVIDIA GeForce GTS 250 OpenGL Engine supported 3 NVIDIA GTS 250 +NVIDIA NVIDIA GeForce GTS 450 OpenGL Engine supported 3 NVIDIA GTS 450 +NVIDIA NVIDIA GeForce GTX 285 OpenGL Engine supported 3 NVIDIA GTX 285 +NVIDIA NVIDIA GeForce GTX 460 OpenGL Engine supported 3 NVIDIA GTX 460 +NVIDIA NVIDIA GeForce GTX 460M OpenGL Engine supported 3 NVIDIA GTX 460M +NVIDIA NVIDIA GeForce GTX 465 OpenGL Engine supported 3 NVIDIA GTX 465 +NVIDIA NVIDIA GeForce GTX 470 OpenGL Engine supported 3 NVIDIA GTX 470 +NVIDIA NVIDIA GeForce GTX 480 OpenGL Engine supported 3 NVIDIA GTX 480 +NVIDIA NVIDIA GeForce Pre-Release ION OpenGL Engine UNRECOGNIZED +NVIDIA NVIDIA GeForce4 OpenGL Engine UNRECOGNIZED +NVIDIA NVIDIA NV34MAP OpenGL Engine supported 0 NVIDIA NV34 +NVIDIA NVIDIA Quadro 4000 OpenGL Engine UNRECOGNIZED +NVIDIA NVIDIA Quadro FX 4800 OpenGL Engine supported 3 NVIDIA Quadro FX 4800 +NVIDIA NVS 2100M/PCI/SSE2 UNRECOGNIZED +NVIDIA NVS 300/PCI/SSE2 UNRECOGNIZED +NVIDIA NVS 3100M/PCI/SSE2 UNRECOGNIZED +NVIDIA NVS 4100/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA NVS 4200M/PCI/SSE2 UNRECOGNIZED +NVIDIA NVS 5100M/PCI/SSE2 UNRECOGNIZED +NVIDIA PCI UNRECOGNIZED +NVIDIA Quadro 2000/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro 4000 UNRECOGNIZED +NVIDIA Quadro 4000 OpenGL Engine UNRECOGNIZED +NVIDIA Quadro 4000/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro 5000/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro 5000M/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro 600 UNRECOGNIZED +NVIDIA Quadro 600/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro 600/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA Quadro 6000 UNRECOGNIZED +NVIDIA Quadro 6000/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro CX/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro DCC supported 0 NVIDIA Quadro DCC +NVIDIA Quadro FX supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1100/AGP/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1400/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1500 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1500M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1600M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1700 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1700M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1800 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1800/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 1800M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 2500M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 2700M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 2800M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3400 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3450 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3450/4000 SDI/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3500 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3500M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 360M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 370 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 370/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3700 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3700M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 370M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3800 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 3800M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 4500 supported 3 NVIDIA Quadro FX 4500 +NVIDIA Quadro FX 4600 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 4800 supported 3 NVIDIA Quadro FX 4800 +NVIDIA Quadro FX 4800/PCI/SSE2 supported 3 NVIDIA Quadro FX 4800 +NVIDIA Quadro FX 560 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 5600 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 570 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 570/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 570M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 580/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 770M/PCI/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro FX 880M supported 3 NVIDIA Quadro FX 880M +NVIDIA Quadro FX 880M/PCI/SSE2 supported 3 NVIDIA Quadro FX 880M +NVIDIA Quadro FX Go700/AGP/SSE2 supported 1 NVIDIA Quadro FX +NVIDIA Quadro NVS supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 110M/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 130M/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 135M/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 140M/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 150M/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 160M/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 210S/PCI/SSE2/3DNOW! supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 285/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 290/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 295/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 320M/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS 55/280 PCI/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro NVS/PCI/SSE2 supported 0 NVIDIA Quadro NVS +NVIDIA Quadro PCI-E Series/PCI/SSE2/3DNOW! UNRECOGNIZED +NVIDIA Quadro VX 200/PCI/SSE2 UNRECOGNIZED +NVIDIA Quadro/AGP/SSE2 UNRECOGNIZED +NVIDIA Quadro2 supported 0 NVIDIA Quadro2 +NVIDIA Quadro4 supported 0 NVIDIA Quadro4 +NVIDIA RIVA TNT unsupported 0 NVIDIA RIVA TNT +NVIDIA RIVA TNT2/AGP/SSE2 unsupported 0 NVIDIA RIVA TNT +NVIDIA RIVA TNT2/PCI/3DNOW! unsupported 0 NVIDIA RIVA TNT +NVIDIA nForce unsupported 0 NVIDIA nForce +NVIDIA unknown board/AGP/SSE2 UNRECOGNIZED +NVIDIA unknown board/PCI/SSE2 UNRECOGNIZED +NVIDIA unknown board/PCI/SSE2/3DNOW! UNRECOGNIZED +Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 5670 OpenGL Engine supported 3 ATI Radeon HD 5600 +Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 5750 OpenGL Engine supported 3 ATI Radeon HD 5700 +Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 5770 OpenGL Engine supported 3 ATI Radeon HD 5700 +Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6490M OpenGL Engine supported 3 ATI Radeon HD 6400 +Parallels and ATI Technologies Inc. Parallels using ATI Radeon HD 6750M OpenGL Engine supported 3 ATI Radeon HD 6700 +Parallels and Intel Inc. 3D-Analyze v2.3 - http://www.tommti-systems.com UNRECOGNIZED +Parallels and Intel Inc. Parallels using Intel HD Graphics 3000 OpenGL Engine supported 2 Intel HD Graphics +Parallels and NVIDIA Parallels using NVIDIA GeForce 320M OpenGL Engine supported 2 NVIDIA 320M +Parallels and NVIDIA Parallels using NVIDIA GeForce 9400 OpenGL Engine supported 1 NVIDIA GeForce 9400 +Parallels and NVIDIA Parallels using NVIDIA GeForce GT 120 OpenGL Engine supported 2 NVIDIA GT 120 +Parallels and NVIDIA Parallels using NVIDIA GeForce GT 330M OpenGL Engine supported 3 NVIDIA GT 330M +Radeon RV350 on Gallium UNRECOGNIZED +S3 UNRECOGNIZED +S3 Graphics VIA/S3G UniChrome IGP/MMX/K3D unsupported 0 S3 +S3 Graphics VIA/S3G UniChrome Pro IGP/MMX/SSE unsupported 0 S3 +S3 Graphics, Incorporated ProSavage/Twister unsupported 0 S3 +S3 Graphics, Incorporated S3 Graphics Chrome9 HC unsupported 0 S3 +S3 Graphics, Incorporated S3 Graphics DeltaChrome unsupported 0 S3 +S3 Graphics, Incorporated VIA Chrome9 HC IGP unsupported 0 S3 +SiS unsupported 0 SiS +SiS 661 VGA unsupported 0 SiS +SiS 662 VGA unsupported 0 SiS +SiS 741 VGA unsupported 0 SiS +SiS 760 VGA unsupported 0 SiS +SiS 761GX VGA unsupported 0 SiS +SiS Mirage Graphics3 unsupported 0 SiS +Trident unsupported 0 Trident +Tungsten Graphics unsupported 0 Tungsten Graphics +Tungsten Graphics, Inc Mesa DRI 865G GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 865G GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 915G GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 915G GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 915GM GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 915GM GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 915GM GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945G unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945G GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945G GEM 20100330 DEVELOPMENT unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945G GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GM GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GM GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GM GEM 20100328 2010Q1 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GM GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GME x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GME 20061017 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GME GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GME GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 945GME GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 965GM GEM 20090326 2009Q1 RC2 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 965GM GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 965GM GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI 965GM GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI G33 20061017 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI G33 GEM 20090712 2009Q2 RC3 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI G33 GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI G41 GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI G41 GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI GMA500 20081116 - 5.0.1.0046 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI IGD GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI IGD GEM 20100330 DEVELOPMENT unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI IGD GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI IGDNG_D GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Ironlake Desktop GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Ironlake Mobile GEM 20100330 DEVELOPMENT x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset 20080716 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20090712 2009Q2 RC3 x86/MMX... unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20091221 2009Q4 x86/MMX/SSE2 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20100328 2010Q1 unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20100330 DEVELOPMENT unsupported 0 Mesa +Tungsten Graphics, Inc Mesa DRI Mobile Intelå¨ GM45 Express Chipset GEM 20100330 DEVELOPMENT x86/MM... unsupported 0 Mesa +Tungsten Graphics, Inc. Mesa DRI R200 (RV280 5964) 20090101 x86/MMX+/3DNow!+/SSE2 TCL DRI2 unsupported 0 Mesa +VIA unsupported 0 VIA +VMware, Inc. Gallium 0.3 on SVGA3D; build: RELEASE; UNRECOGNIZED +VMware, Inc. Gallium 0.4 on i915 (chipset: 945GM) UNRECOGNIZED +VMware, Inc. Gallium 0.4 on llvmpipe UNRECOGNIZED +VMware, Inc. Gallium 0.4 on softpipe UNRECOGNIZED +X.Org Gallium 0.4 on AMD BARTS UNRECOGNIZED +X.Org Gallium 0.4 on AMD CEDAR UNRECOGNIZED +X.Org Gallium 0.4 on AMD HEMLOCK UNRECOGNIZED +X.Org Gallium 0.4 on AMD JUNIPER UNRECOGNIZED +X.Org Gallium 0.4 on AMD REDWOOD UNRECOGNIZED +X.Org Gallium 0.4 on AMD RS780 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RS880 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV610 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV620 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV630 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV635 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV710 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV730 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV740 UNRECOGNIZED +X.Org Gallium 0.4 on AMD RV770 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI R300 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI R580 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RC410 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RS482 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RS600 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RS690 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RV350 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RV370 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RV410 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RV515 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on ATI RV530 supported 1 ATI RV530 +X.Org R300 Project Gallium 0.4 on ATI RV570 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on R420 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on R580 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RC410 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RS480 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RS482 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RS600 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RS690 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RS740 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RV350 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RV370 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RV410 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RV515 UNRECOGNIZED +X.Org R300 Project Gallium 0.4 on RV530 UNRECOGNIZED +XGI unsupported 0 XGI +nouveau Gallium 0.4 on NV34 UNRECOGNIZED +nouveau Gallium 0.4 on NV36 UNRECOGNIZED +nouveau Gallium 0.4 on NV46 UNRECOGNIZED +nouveau Gallium 0.4 on NV49 UNRECOGNIZED +nouveau Gallium 0.4 on NV4A UNRECOGNIZED +nouveau Gallium 0.4 on NV4B UNRECOGNIZED +nouveau Gallium 0.4 on NV4E UNRECOGNIZED +nouveau Gallium 0.4 on NV50 UNRECOGNIZED +nouveau Gallium 0.4 on NV84 UNRECOGNIZED +nouveau Gallium 0.4 on NV86 UNRECOGNIZED +nouveau Gallium 0.4 on NV92 UNRECOGNIZED +nouveau Gallium 0.4 on NV94 UNRECOGNIZED +nouveau Gallium 0.4 on NV96 UNRECOGNIZED +nouveau Gallium 0.4 on NV98 UNRECOGNIZED +nouveau Gallium 0.4 on NVA0 UNRECOGNIZED +nouveau Gallium 0.4 on NVA3 UNRECOGNIZED +nouveau Gallium 0.4 on NVA5 UNRECOGNIZED +nouveau Gallium 0.4 on NVA8 UNRECOGNIZED +nouveau Gallium 0.4 on NVAA UNRECOGNIZED +nouveau Gallium 0.4 on NVAC UNRECOGNIZED -- cgit v1.2.3 From 5314bc59eeda531b10df3c29e682b1422f87cb45 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Tue, 19 Apr 2011 20:53:56 -0400 Subject: more corrections for Mac gpus --- indra/newview/gpu_table.txt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/indra/newview/gpu_table.txt b/indra/newview/gpu_table.txt index c83e305f24..d476c140d8 100644 --- a/indra/newview/gpu_table.txt +++ b/indra/newview/gpu_table.txt @@ -202,7 +202,7 @@ Intel Brookdale .*Intel.*Brookdale.* 0 0 Intel Cantiga .*Intel.*Cantiga.* 0 0 Intel Eaglelake .*Intel.*Eaglelake.* 0 1 Intel Graphics Media HD .*Intel.*Graphics Media.*HD.* 0 1 -Intel HD Graphics .*Intel.*HD Graphics.* 0 1 +Intel HD Graphics .*Intel.*HD Graphics.* 2 1 Intel Mobile 4 Series .*Intel.*Mobile *4 Series.* 0 1 Intel Media Graphics HD .*Intel.*Media Graphics HD.* 0 1 Intel Montara .*Intel.*Montara.* 0 0 @@ -227,7 +227,7 @@ NVIDIA G 110M .*NVIDIA.*GeForce *G *110M.* 0 1 NVIDIA G 120M .*NVIDIA.*GeForce *G *120M.* 1 1 NVIDIA G210M .*NVIDIA.*GeForce *G *210M.* 1 1 NVIDIA GT 120M .*NVIDIA.*GeForce *GT *120M.* 2 1 -NVIDIA GT 120 .*NVIDIA.*GeForce *GT *12.* 2 1 +NVIDIA GT 120 .*NVIDIA.*GT.*120 2 1 NVIDIA GT 130M .*NVIDIA.*GeForce *GT *130M.* 2 1 NVIDIA GT 130 .*NVIDIA.*GeForce *GT *13.* 2 1 NVIDIA GT 140M .*NVIDIA.*GeForce *GT *140M.* 2 1 @@ -243,10 +243,10 @@ NVIDIA GT 240M .*NVIDIA.*GeForce *GT *240M.* 2 1 NVIDIA GT 240 .*NVIDIA.*GeForce *GT *24.* 1 1 NVIDIA GT 250M .*NVIDIA.*GeForce *GT *250M.* 2 1 NVIDIA GT 260M .*NVIDIA.*GeForce *GT *260M.* 2 1 -NVIDIA GT 320M .*NVIDIA.*GeForce *GT *320M.* 0 1 +NVIDIA GT 320M .*NVIDIA.*GeForce *GT *320M.* 2 1 NVIDIA GT 325M .*NVIDIA.*GeForce *GT *325M.* 0 1 -NVIDIA GT 320 .*NVIDIA.*GeForce *GT *32.* 0 1 -NVIDIA GT 330M .*NVIDIA.*GeForce *GT *330M.* 1 1 +NVIDIA GT 320 .*NVIDIA.*GT *320.* 2 1 +NVIDIA GT 330M .*NVIDIA.*GT *330M.* 3 1 NVIDIA GT 335M .*NVIDIA.*GeForce *GT *335M.* 1 1 NVIDIA GT 330 .*NVIDIA.*GeForce *GT *33.* 1 1 NVIDIA GT 340 .*NVIDIA.*GeForce *GT *34.* 1 1 @@ -279,8 +279,8 @@ NVIDIA GTS 450 .*NVIDIA.*GeForce *GTS *45.* 3 1 NVIDIA GTX 260 .*NVIDIA.*GeForce *GTX *26.* 3 1 NVIDIA GTX 275 .*NVIDIA.*GeForce *GTX *275.* 3 1 NVIDIA GTX 270 .*NVIDIA.*GeForce *GTX *27.* 3 1 -NVIDIA GTX 285 .*NVIDIA.*GeForce *GTX *285.* 3 1 -NVIDIA GTX 280 .*NVIDIA.*GeForce *GTX *28.* 3 1 +NVIDIA GTX 285 .*NVIDIA.*GTX *285.* 3 1 +NVIDIA GTX 280 .*NVIDIA.*GTX *280.* 3 1 NVIDIA GTX 295 .*NVIDIA.*GeForce *GTX *295.* 3 1 NVIDIA GTX 460M .*NVIDIA.*GeForce *GTX *460M.* 3 1 NVIDIA GTX 465 .*NVIDIA.*GeForce *GTX *465.* 3 1 @@ -405,6 +405,7 @@ NVIDIA Quadro4 .*Quadro4.* 0 1 NVIDIA Quadro DCC .*Quadro DCC.* 0 1 NVIDIA Quadro FX 4500 .*Quadro.*FX *45.* 3 1 NVIDIA Quadro FX 880M .*Quadro.*FX *880M.* 3 1 +NVIDIA Quadro FX 4800 .*NVIDIA.*Quadro *FX *4800.* 3 1 NVIDIA Quadro FX .*Quadro FX.* 1 1 NVIDIA Quadro NVS .*Quadro NVS.* 0 1 NVIDIA RIVA TNT .*RIVA TNT.* 0 0 -- cgit v1.2.3 From 7187698f32031bf0e3cdb198aa0caa188038b88e Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Tue, 19 Apr 2011 21:47:34 -0400 Subject: Add newline to final line of groupchatlistener.cpp. The Linux compiler isn't happy when source files don't end with newline. --- indra/newview/groupchatlistener.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/groupchatlistener.cpp b/indra/newview/groupchatlistener.cpp index d9c705adf0..3758896b85 100644 --- a/indra/newview/groupchatlistener.cpp +++ b/indra/newview/groupchatlistener.cpp @@ -56,4 +56,4 @@ GroupChatListener::GroupChatListener(): /* static void sendMessage(const std::string& utf8_text, const LLUUID& im_session_id, const LLUUID& other_participant_id, EInstantMessage dialog); -*/ \ No newline at end of file +*/ -- cgit v1.2.3 From 469bcbcd8bec6b8e2ffec105083319f088e99719 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Wed, 20 Apr 2011 10:42:58 -0400 Subject: cosmetic variable name change --- indra/newview/llphysicsmotion.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp index 09c9e75f2a..23b41a6db0 100644 --- a/indra/newview/llphysicsmotion.cpp +++ b/indra/newview/llphysicsmotion.cpp @@ -49,7 +49,7 @@ typedef std::map controller_map_t; typedef std::map default_controller_map_t; -#define MIN_REQUIRED_PIXEL_AREA_BREAST_MOTION 0.f; +#define MIN_REQUIRED_PIXEL_AREA_AVATAR_PHYSICS_MOTION 0.f; inline F64 llsgn(const F64 a) { @@ -370,7 +370,7 @@ void LLPhysicsMotionController::addMotion(LLPhysicsMotion *motion) F32 LLPhysicsMotionController::getMinPixelArea() { - return MIN_REQUIRED_PIXEL_AREA_BREAST_MOTION; + return MIN_REQUIRED_PIXEL_AREA_AVATAR_PHYSICS_MOTION; } // Local space means "parameter space". -- cgit v1.2.3 From f4683a11bb4026b8b52f4ad9504824523e4a0827 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Wed, 20 Apr 2011 11:30:00 -0400 Subject: SH-1384 FIXED AvatarPhysicsTest debug setting does not work Took out setting, no longer needed. Was formely restricted to gods. --- indra/newview/app_settings/settings.xml | 11 ----------- indra/newview/llphysicsmotion.cpp | 2 +- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index dd85c5cb86..898d89b17d 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -652,17 +652,6 @@ Value 1 - AvatarPhysicsTest - - Comment - Simulate continuous physics behavior on all nearby avatars. - Persist - 1 - Type - Boolean - Value - 0 - AvatarSex Comment diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp index 23b41a6db0..6a7c28357e 100644 --- a/indra/newview/llphysicsmotion.cpp +++ b/indra/newview/llphysicsmotion.cpp @@ -481,7 +481,7 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) const F32 behavior_gain = getParamValue("Gain"); const F32 behavior_damping = getParamValue("Damping"); const F32 behavior_drag = getParamValue("Drag"); - const BOOL physics_test = gSavedSettings.getBOOL("AvatarPhysicsTest") && gAgent.isGodlike(); + const BOOL physics_test = FALSE; // Enable this to simulate bouncing on all parts. F32 behavior_maxeffect = getParamValue("MaxEffect"); if (physics_test) -- cgit v1.2.3 From 943d3e902c6c83a0f141896fd8c8057e237627ff Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Wed, 20 Apr 2011 11:33:14 -0400 Subject: SH-1380 FIXED User can wear several physics objects Changed this to be expected behavior, where top wearable's characteristics are used. --- indra/newview/llwearabletype.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llwearabletype.cpp b/indra/newview/llwearabletype.cpp index 9e95604712..c090ab5c3d 100644 --- a/indra/newview/llwearabletype.cpp +++ b/indra/newview/llwearabletype.cpp @@ -80,7 +80,7 @@ LLWearableDictionary::LLWearableDictionary() addEntry(LLWearableType::WT_ALPHA, new WearableEntry("alpha", "New Alpha", LLAssetType::AT_CLOTHING, LLInventoryIcon::ICONNAME_CLOTHING_ALPHA, FALSE, TRUE)); addEntry(LLWearableType::WT_TATTOO, new WearableEntry("tattoo", "New Tattoo", LLAssetType::AT_CLOTHING, LLInventoryIcon::ICONNAME_CLOTHING_TATTOO, FALSE, TRUE)); - addEntry(LLWearableType::WT_PHYSICS, new WearableEntry("physics", "New Physics", LLAssetType::AT_CLOTHING, LLInventoryIcon::ICONNAME_CLOTHING_PHYSICS, TRUE, FALSE)); + addEntry(LLWearableType::WT_PHYSICS, new WearableEntry("physics", "New Physics", LLAssetType::AT_CLOTHING, LLInventoryIcon::ICONNAME_CLOTHING_PHYSICS, TRUE, TRUE)); addEntry(LLWearableType::WT_INVALID, new WearableEntry("invalid", "Invalid Wearable", LLAssetType::AT_NONE, LLInventoryIcon::ICONNAME_NONE, FALSE, FALSE)); addEntry(LLWearableType::WT_NONE, new WearableEntry("none", "Invalid Wearable", LLAssetType::AT_NONE, LLInventoryIcon::ICONNAME_NONE, FALSE, FALSE)); -- cgit v1.2.3 From fd97e6dcba7e856e2e018222d9b5aa628de5ab87 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Wed, 20 Apr 2011 11:36:49 -0400 Subject: SH-1388 FIXED Graphics Quality slider has no effect on avatar physics SH-1387 Class0 video cards default avatar physics to high Added appropriate featuretable entries. --- indra/newview/featuretable_linux.txt | 5 +++++ indra/newview/featuretable_mac.txt | 5 +++++ indra/newview/featuretable_xp.txt | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/indra/newview/featuretable_linux.txt b/indra/newview/featuretable_linux.txt index a2cd4b834c..5da1495da9 100644 --- a/indra/newview/featuretable_linux.txt +++ b/indra/newview/featuretable_linux.txt @@ -26,6 +26,7 @@ list all RenderAnisotropic 1 1 RenderAvatarCloth 1 1 RenderAvatarLODFactor 1 1.0 +RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarMaxVisible 1 12 RenderAvatarVP 1 1 RenderCubeMap 1 1 @@ -70,6 +71,7 @@ list Low RenderAnisotropic 1 0 RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 0 +RenderAvatarPhysicsLODFactor 1 0 RenderAvatarMaxVisible 1 3 RenderAvatarVP 1 0 RenderFarClip 1 64 @@ -100,6 +102,7 @@ list Mid RenderAnisotropic 1 0 RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 0.5 +RenderAvatarPhysicsLODFactor 1 0.75 RenderAvatarVP 1 1 RenderFarClip 1 96 RenderFlexTimeFactor 1 1.0 @@ -128,6 +131,7 @@ list High RenderAnisotropic 1 1 RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 1.0 +RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarVP 1 1 RenderFarClip 1 128 RenderFlexTimeFactor 1 1.0 @@ -156,6 +160,7 @@ list Ultra RenderAnisotropic 1 1 RenderAvatarCloth 1 1 RenderAvatarLODFactor 1 1.0 +RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarVP 1 1 RenderFarClip 1 256 RenderFlexTimeFactor 1 1.0 diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt index 3ad7f4e892..421f9c0973 100644 --- a/indra/newview/featuretable_mac.txt +++ b/indra/newview/featuretable_mac.txt @@ -26,6 +26,7 @@ list all RenderAnisotropic 1 0 RenderAvatarCloth 0 0 RenderAvatarLODFactor 1 1.0 +RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarMaxVisible 1 12 RenderAvatarVP 1 0 RenderCubeMap 1 1 @@ -70,6 +71,7 @@ list Low RenderAnisotropic 1 0 RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 0 +RenderAvatarPhysicsLODFactor 1 0 RenderAvatarMaxVisible 1 3 RenderAvatarVP 1 0 RenderFarClip 1 64 @@ -99,6 +101,7 @@ list Mid RenderAnisotropic 1 0 RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 0.5 +RenderAvatarPhysicsLODFactor 1 0.75 RenderAvatarVP 1 1 RenderFarClip 1 96 RenderFlexTimeFactor 1 1.0 @@ -126,6 +129,7 @@ list High RenderAnisotropic 1 1 RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 1.0 +RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarVP 1 1 RenderFarClip 1 128 RenderFlexTimeFactor 1 1.0 @@ -153,6 +157,7 @@ list Ultra RenderAnisotropic 1 1 RenderAvatarCloth 1 1 RenderAvatarLODFactor 1 1.0 +RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarVP 1 1 RenderFarClip 1 256 RenderFlexTimeFactor 1 1.0 diff --git a/indra/newview/featuretable_xp.txt b/indra/newview/featuretable_xp.txt index 38e6bb1e5e..c2e5dfff9f 100644 --- a/indra/newview/featuretable_xp.txt +++ b/indra/newview/featuretable_xp.txt @@ -26,6 +26,7 @@ list all RenderAnisotropic 1 1 RenderAvatarCloth 1 1 RenderAvatarLODFactor 1 1.0 +RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarMaxVisible 1 12 RenderAvatarVP 1 1 RenderCubeMap 1 1 @@ -71,6 +72,7 @@ list Low RenderAnisotropic 1 0 RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 0 +RenderAvatarPhysicsLODFactor 1 0 RenderAvatarMaxVisible 1 3 RenderAvatarVP 1 0 RenderFarClip 1 64 @@ -101,6 +103,7 @@ list Mid RenderAnisotropic 1 0 RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 0.5 +RenderAvatarPhysicsLODFactor 1 0.75 RenderAvatarVP 1 1 RenderFarClip 1 96 RenderFlexTimeFactor 1 1.0 @@ -129,6 +132,7 @@ list High RenderAnisotropic 1 1 RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 1.0 +RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarVP 1 1 RenderFarClip 1 128 RenderFlexTimeFactor 1 1.0 @@ -157,6 +161,7 @@ list Ultra RenderAnisotropic 1 1 RenderAvatarCloth 1 1 RenderAvatarLODFactor 1 1.0 +RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarVP 1 1 RenderFarClip 1 256 RenderFlexTimeFactor 1 1.0 -- cgit v1.2.3 From dcb79b5b6e8a79ef171e09de8972433bc7489978 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Wed, 20 Apr 2011 12:37:44 -0400 Subject: SH-1381 FIXED avatar physics behavior is tightly tied to viewer framerate Breaking up physics into smaller integration steps. --- indra/newview/llphysicsmotion.cpp | 354 ++++++++++++++++++++------------------ 1 file changed, 184 insertions(+), 170 deletions(-) diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp index 6a7c28357e..c9d355b3b5 100644 --- a/indra/newview/llphysicsmotion.cpp +++ b/indra/newview/llphysicsmotion.cpp @@ -49,7 +49,8 @@ typedef std::map controller_map_t; typedef std::map default_controller_map_t; -#define MIN_REQUIRED_PIXEL_AREA_AVATAR_PHYSICS_MOTION 0.f; +#define MIN_REQUIRED_PIXEL_AREA_AVATAR_PHYSICS_MOTION 0.f +#define TIME_ITERATION_STEP 0.1f inline F64 llsgn(const F64 a) { @@ -459,7 +460,8 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) return FALSE; } - if (time_delta > 3.0) + // If less than 1FPS, we don't want to be spending time updating physics at all. + if (time_delta > 1.0) { mLastTime = time; return FALSE; @@ -487,195 +489,207 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) if (physics_test) behavior_maxeffect = 1.0f; - // mPositon_local should be in normalized 0,1 range already. Just making sure... - F32 position_current_local = llclamp(mPosition_local, - 0.0f, - 1.0f); - - // Normalize the param position to be from [0,1]. - // We have to use normalized values because there may be more than one driven param, - // and each of these driven params may have its own range. - // This means we'll do all our calculations in normalized [0,1] local coordinates. - F32 position_user_local = mParamDriver->getWeight(); - position_user_local = (position_user_local - mParamDriver->getMinWeight()) / (mParamDriver->getMaxWeight() - mParamDriver->getMinWeight()); - - // If the effect is turned off then don't process unless we need one more update - // to set the position to the default (i.e. user) position. - if ((behavior_maxeffect == 0) && (position_current_local == position_user_local)) - { - return FALSE; - } - - // - // End parameters and settings - //////////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////////////////////////////////////////////////// - // Calculate velocity and acceleration in parameter space. - // + BOOL update_visuals = FALSE; + // Break up the physics into a bunch of iterations so that differing framerates will show + // roughly the same behavior. + for (F32 time_iteration = 0; time_iteration <= time_delta; time_iteration += TIME_ITERATION_STEP) + { + F32 time_iteration_step = TIME_ITERATION_STEP; + if (time_iteration + TIME_ITERATION_STEP > time_delta) + { + time_iteration_step = time_delta; + } + + + // mPositon_local should be in normalized 0,1 range already. Just making sure... + F32 position_current_local = llclamp(mPosition_local, + 0.0f, + 1.0f); + + // Normalize the param position to be from [0,1]. + // We have to use normalized values because there may be more than one driven param, + // and each of these driven params may have its own range. + // This means we'll do all our calculations in normalized [0,1] local coordinates. + F32 position_user_local = mParamDriver->getWeight(); + position_user_local = (position_user_local - mParamDriver->getMinWeight()) / (mParamDriver->getMaxWeight() - mParamDriver->getMinWeight()); + + // If the effect is turned off then don't process unless we need one more update + // to set the position to the default (i.e. user) position. + if ((behavior_maxeffect == 0) && (position_current_local == position_user_local)) + { + return FALSE; + } + + // + // End parameters and settings + //////////////////////////////////////////////////////////////////////////////// + + + //////////////////////////////////////////////////////////////////////////////// + // Calculate velocity and acceleration in parameter space. + // - const F32 velocity_joint_local = calculateVelocity_local(time_delta); - const F32 acceleration_joint_local = calculateAcceleration_local(velocity_joint_local, time_delta); + const F32 velocity_joint_local = calculateVelocity_local(time_iteration_step); + const F32 acceleration_joint_local = calculateAcceleration_local(velocity_joint_local, time_iteration_step); - // - // End velocity and acceleration - //////////////////////////////////////////////////////////////////////////////// + // + // End velocity and acceleration + //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - // Calculate the total force - // + //////////////////////////////////////////////////////////////////////////////// + // Calculate the total force + // - // Spring force is a restoring force towards the original user-set breast position. - // F = kx - const F32 spring_length = position_current_local - position_user_local; - const F32 force_spring = -spring_length * behavior_spring; + // Spring force is a restoring force towards the original user-set breast position. + // F = kx + const F32 spring_length = position_current_local - position_user_local; + const F32 force_spring = -spring_length * behavior_spring; - // Acceleration is the force that comes from the change in velocity of the torso. - // F = ma - const F32 force_accel = behavior_gain * (acceleration_joint_local * behavior_mass); + // Acceleration is the force that comes from the change in velocity of the torso. + // F = ma + const F32 force_accel = behavior_gain * (acceleration_joint_local * behavior_mass); - // Gravity always points downward in world space. - // F = mg - const LLVector3 gravity_world(0,0,1); - const F32 force_gravity = behavior_gain * (toLocal(gravity_world) * behavior_gravity * behavior_mass); + // Gravity always points downward in world space. + // F = mg + const LLVector3 gravity_world(0,0,1); + const F32 force_gravity = behavior_gain * (toLocal(gravity_world) * behavior_gravity * behavior_mass); - // Damping is a restoring force that opposes the current velocity. - // F = -kv - const F32 force_damping = -behavior_damping * mVelocity_local; + // Damping is a restoring force that opposes the current velocity. + // F = -kv + const F32 force_damping = -behavior_damping * mVelocity_local; - // Drag is a force imparted by velocity (intuitively it is similar to wind resistance) - // F = .5kv^2 - const F32 force_drag = .5*behavior_drag*velocity_joint_local*velocity_joint_local*llsgn(velocity_joint_local); + // Drag is a force imparted by velocity (intuitively it is similar to wind resistance) + // F = .5kv^2 + const F32 force_drag = .5*behavior_drag*velocity_joint_local*velocity_joint_local*llsgn(velocity_joint_local); - const F32 force_net = (force_accel + - force_gravity + - force_spring + - force_damping + - force_drag); + const F32 force_net = (force_accel + + force_gravity + + force_spring + + force_damping + + force_drag); - // - // End total force - //////////////////////////////////////////////////////////////////////////////// + // + // End total force + //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - // Calculate new params - // - - // Calculate the new acceleration based on the net force. - // a = F/m - const F32 acceleration_new_local = force_net / behavior_mass; - static const F32 max_acceleration = 10.0f; // magic number, used to be customizable. - F32 velocity_new_local = mVelocity_local + acceleration_new_local; - velocity_new_local = llclamp(velocity_new_local, - -max_acceleration, max_acceleration); + //////////////////////////////////////////////////////////////////////////////// + // Calculate new params + // + + // Calculate the new acceleration based on the net force. + // a = F/m + const F32 acceleration_new_local = force_net / behavior_mass; + static const F32 max_acceleration = 10.0f; // magic number, used to be customizable. + F32 velocity_new_local = mVelocity_local + acceleration_new_local; + velocity_new_local = llclamp(velocity_new_local, + -max_acceleration, max_acceleration); - // Temporary debugging setting to cause all avatars to move, for profiling purposes. - if (physics_test) - { - velocity_new_local = sin(time*4.0); - } - // Calculate the new parameters, or remain unchanged if max speed is 0. - F32 position_new_local = position_current_local + velocity_new_local*time_delta; - if (behavior_maxeffect == 0) - position_new_local = position_user_local; - - // Zero out the velocity if the param is being pushed beyond its limits. - if ((position_new_local < 0 && velocity_new_local < 0) || - (position_new_local > 1 && velocity_new_local > 0)) - { - velocity_new_local = 0; - } + // Temporary debugging setting to cause all avatars to move, for profiling purposes. + if (physics_test) + { + velocity_new_local = sin(time*4.0); + } + // Calculate the new parameters, or remain unchanged if max speed is 0. + F32 position_new_local = position_current_local + velocity_new_local*time_iteration_step; + if (behavior_maxeffect == 0) + position_new_local = position_user_local; + + // Zero out the velocity if the param is being pushed beyond its limits. + if ((position_new_local < 0 && velocity_new_local < 0) || + (position_new_local > 1 && velocity_new_local > 0)) + { + velocity_new_local = 0; + } - // Check for NaN values. A NaN value is detected if the variables doesn't equal itself. - // If NaN, then reset everything. - if ((mPosition_local != mPosition_local) || - (mVelocity_local != mVelocity_local) || - (position_new_local != position_new_local)) - { - position_new_local = 0; - position_current_local = 0; - position_user_local = 0; - mVelocity_local = 0; - mVelocityJoint_local = 0; - mAccelerationJoint_local = 0; - mPosition_local = 0; - mPosition_world = LLVector3(0,0,0); - } - - const F32 position_new_local_clamped = llclamp(position_new_local, - 0.0f, - 1.0f); - - LLDriverParam *driver_param = dynamic_cast(mParamDriver); - llassert_always(driver_param); - if (driver_param) - { - // If this is one of our "hidden" driver params, then make sure it's - // the default value. - if ((driver_param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE) && - (driver_param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT)) - { - mCharacter->setVisualParamWeight(driver_param, - 0, - FALSE); - } - for (LLDriverParam::entry_list_t::iterator iter = driver_param->mDriven.begin(); - iter != driver_param->mDriven.end(); - ++iter) - { - LLDrivenEntry &entry = (*iter); - LLViewerVisualParam *driven_param = entry.mParam; - setParamValue(driven_param,position_new_local_clamped, behavior_maxeffect); - } - } + // Check for NaN values. A NaN value is detected if the variables doesn't equal itself. + // If NaN, then reset everything. + if ((mPosition_local != mPosition_local) || + (mVelocity_local != mVelocity_local) || + (position_new_local != position_new_local)) + { + position_new_local = 0; + position_current_local = 0; + position_user_local = 0; + mVelocity_local = 0; + mVelocityJoint_local = 0; + mAccelerationJoint_local = 0; + mPosition_local = 0; + mPosition_world = LLVector3(0,0,0); + } + + const F32 position_new_local_clamped = llclamp(position_new_local, + 0.0f, + 1.0f); + + LLDriverParam *driver_param = dynamic_cast(mParamDriver); + llassert_always(driver_param); + if (driver_param) + { + // If this is one of our "hidden" driver params, then make sure it's + // the default value. + if ((driver_param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE) && + (driver_param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT)) + { + mCharacter->setVisualParamWeight(driver_param, + 0, + FALSE); + } + for (LLDriverParam::entry_list_t::iterator iter = driver_param->mDriven.begin(); + iter != driver_param->mDriven.end(); + ++iter) + { + LLDrivenEntry &entry = (*iter); + LLViewerVisualParam *driven_param = entry.mParam; + setParamValue(driven_param,position_new_local_clamped, behavior_maxeffect); + } + } - // - // End calculate new params - //////////////////////////////////////////////////////////////////////////////// + // + // End calculate new params + //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - // Conditionally update the visual params - // + //////////////////////////////////////////////////////////////////////////////// + // Conditionally update the visual params + // - // Updating the visual params (i.e. what the user sees) is fairly expensive. - // So only update if the params have changed enough, and also take into account - // the graphics LOD settings. + // Updating the visual params (i.e. what the user sees) is fairly expensive. + // So only update if the params have changed enough, and also take into account + // the graphics LOD settings. - BOOL update_visuals = FALSE; - - // For non-self, if the avatar is small enough visually, then don't update. - const F32 area_for_max_settings = 0.0; - const F32 area_for_min_settings = 1400.0; - const F32 area_for_this_setting = area_for_max_settings + (area_for_min_settings-area_for_max_settings)*(1.0-lod_factor); - const F32 pixel_area = fsqrtf(mCharacter->getPixelArea()); + // For non-self, if the avatar is small enough visually, then don't update. + const F32 area_for_max_settings = 0.0; + const F32 area_for_min_settings = 1400.0; + const F32 area_for_this_setting = area_for_max_settings + (area_for_min_settings-area_for_max_settings)*(1.0-lod_factor); + const F32 pixel_area = fsqrtf(mCharacter->getPixelArea()); - const BOOL is_self = (dynamic_cast(mCharacter) != NULL); - if ((pixel_area > area_for_this_setting) || is_self) - { - const F32 position_diff_local = llabs(mPositionLastUpdate_local-position_new_local_clamped); - const F32 min_delta = (1.0001f-lod_factor)*0.4f; - if (llabs(position_diff_local) > min_delta) - { - update_visuals = TRUE; - mPositionLastUpdate_local = position_new_local; - } - } + const BOOL is_self = (dynamic_cast(mCharacter) != NULL); + if ((pixel_area > area_for_this_setting) || is_self) + { + const F32 position_diff_local = llabs(mPositionLastUpdate_local-position_new_local_clamped); + const F32 min_delta = (1.0001f-lod_factor)*0.4f; + if (llabs(position_diff_local) > min_delta) + { + update_visuals = TRUE; + mPositionLastUpdate_local = position_new_local; + } + } + + // + // End update visual params + //////////////////////////////////////////////////////////////////////////////// + + mVelocityJoint_local = velocity_joint_local; + + mVelocity_local = velocity_new_local; + mAccelerationJoint_local = acceleration_joint_local; + mPosition_local = position_new_local; + + mPosition_world = joint->getWorldPosition(); - // - // End update visual params - //////////////////////////////////////////////////////////////////////////////// - - mVelocityJoint_local = velocity_joint_local; - - mVelocity_local = velocity_new_local; - mAccelerationJoint_local = acceleration_joint_local; - mPosition_local = position_new_local; - - mPosition_world = joint->getWorldPosition(); - mLastTime = time; + } + mLastTime = time; /* // Write out debugging info into a spreadsheet. -- cgit v1.2.3 From 4906f4644f7b8e8348f67ea7fde0909f58338ff1 Mon Sep 17 00:00:00 2001 From: Ima Mechanique Date: Thu, 21 Apr 2011 22:11:48 +0100 Subject: OPEN-61 Adding locations that redistributable package installs msvc* files. --- doc/contributions.txt | 2 ++ indra/cmake/Copy3rdPartyLibs.cmake | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/contributions.txt b/doc/contributions.txt index 2e6b01abc2..ed42e8fe5a 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -361,6 +361,8 @@ Ian Kas [NO JIRA] (Ukranian localization) CT-322 CT-325 +Ima Mechanique + OPEN-61 Irene Muni CT-324 CT-352 diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 1c43c4ce12..4202b54f94 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -127,7 +127,8 @@ elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 PATHS ${MSVC_DEBUG_REDIST_PATH} [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC100.DebugCRT - NO_DEFAULT_PATH + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 NO_DEFAULT_PATH ) @@ -151,7 +152,8 @@ elseif (MSVC_VERSION EQUAL 1600) # VisualStudio 2010 PATHS ${MSVC_REDIST_PATH} [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC100.CRT - NO_DEFAULT_PATH + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/SysWOW64 + [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Windows;Directory]/System32 NO_DEFAULT_PATH ) -- cgit v1.2.3 From 7a330c0e3fd4a3e190e6327deb769b595bc91342 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Thu, 21 Apr 2011 19:49:03 -0400 Subject: SH-1381 Avatar Physics behavior is tightly tied to viewer framerate Changed physics algorithm to perform integration over several steps if framerate is slow. Fixed a fundamental issue in the algorithm where timestep wasn't being used to calculate velocity changes. Had to change around some parameter ranges since the physics are calculated slightly differently now. --- indra/newview/character/avatar_lad.xml | 72 +++++++++++++------------- indra/newview/llphysicsmotion.cpp | 94 ++++++++++++++++------------------ 2 files changed, 79 insertions(+), 87 deletions(-) diff --git a/indra/newview/character/avatar_lad.xml b/indra/newview/character/avatar_lad.xml index 6acaa75c32..5d6b10c047 100644 --- a/indra/newview/character/avatar_lad.xml +++ b/indra/newview/character/avatar_lad.xml @@ -4352,8 +4352,8 @@ wearable="shape" edit_group="driven" value_default="0" - value_min="-1.5" - value_max="1.5"> + value_min="-1.25" + value_max="1.25"> @@ -11875,7 +11875,7 @@ render_pass="bump"> edit_group="physics_advanced" value_default="0" value_min="0" - value_max=".1"> + value_max="30"> @@ -11887,9 +11887,9 @@ render_pass="bump"> label="Breast Physics Drag" wearable="physics" edit_group="physics_advanced" - value_default=".15" + value_default="1" value_min="0" - value_max=".5"> + value_max="10"> @@ -11914,9 +11914,9 @@ render_pass="bump"> label="Breast Physics UpDown Spring" wearable="physics" edit_group="physics_breasts_updown" - value_default=".1" + value_default="10" value_min="0" - value_max="3"> + value_max="100"> label="Breast Physics UpDown Damping" wearable="physics" edit_group="physics_breasts_updown" - value_default=".05" + value_default=".2" value_min="0" - value_max=".1" - camera_elevation=".3" - camera_distance=".8"> + value_max="1"> @@ -11969,9 +11967,9 @@ render_pass="bump"> label="Breast Physics InOut Spring" wearable="physics" edit_group="physics_breasts_inout" - value_default=".1" + value_default="10" value_min="0" - value_max="3"> + value_max="100"> label="Breast Physics InOut Damping" wearable="physics" edit_group="physics_breasts_inout" - value_default=".05" + value_default=".2" value_min="0" - value_max=".1"> + value_max="1"> @@ -12022,7 +12020,7 @@ render_pass="bump"> edit_group="physics_advanced" value_default="0" value_min="0" - value_max=".1"> + value_max="30"> label="Belly Physics Drag" wearable="physics" edit_group="physics_advanced" - value_default=".15" + value_default="1" value_min="0" - value_max=".5"> + value_max="10"> label="Belly Physics UpDown Spring" wearable="physics" edit_group="physics_belly_updown" - value_default=".1" + value_default="10" value_min="0" - value_max="3"> + value_max="100"> label="Belly Physics UpDown Damping" wearable="physics" edit_group="physics_belly_updown" - value_default=".05" + value_default=".2" value_min="0" - value_max=".1"> + value_max="1"> @@ -12107,7 +12105,7 @@ render_pass="bump"> edit_group="physics_advanced" value_default="0" value_min="0" - value_max=".1"> + value_max="30"> label="Butt Physics Drag" wearable="physics" edit_group="physics_advanced" - value_default=".15" + value_default="1" value_min="0" - value_max=".5"> + value_max="10"> @@ -12142,9 +12140,9 @@ render_pass="bump"> label="Butt Physics UpDown Spring" wearable="physics" edit_group="physics_butt_updown" - value_default=".1" + value_default="10" value_min="0" - value_max="3"> + value_max="100"> label="Butt Physics UpDown Damping" wearable="physics" edit_group="physics_butt_updown" - value_default=".05" + value_default=".2" value_min="0" - value_max=".1"> + value_max="1"> @@ -12191,9 +12189,9 @@ render_pass="bump"> label="Butt Physics LeftRight Spring" wearable="physics" edit_group="physics_butt_leftright" - value_default=".1" + value_default="10" value_min="0" - value_max="3"> + value_max="100"> label="Butt Physics LeftRight Damping" wearable="physics" edit_group="physics_butt_leftright" - value_default=".05" + value_default=".2" value_min="0" - value_max=".1"> + value_max="1"> @@ -12242,9 +12240,9 @@ render_pass="bump"> label="Breast Physics LeftRight Spring" wearable="physics" edit_group="physics_breasts_leftright" - value_default=".1" + value_default="10" value_min="0" - value_max="3"> + value_max="100"> label="Breast Physics LeftRight Damping" wearable="physics" edit_group="physics_breasts_leftright" - value_default=".05" + value_default=".2" value_min="0" - value_max=".1"> + value_max="1"> diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp index c9d355b3b5..7d862848b5 100644 --- a/indra/newview/llphysicsmotion.cpp +++ b/indra/newview/llphysicsmotion.cpp @@ -132,9 +132,8 @@ protected: F32 behavior_maxeffect); F32 toLocal(const LLVector3 &world); - F32 calculateVelocity_local(const F32 time_delta); - F32 calculateAcceleration_local(F32 velocity_local, - const F32 time_delta); + F32 calculateVelocity_local(); + F32 calculateAcceleration_local(F32 velocity_local); private: const std::string mParamDriverName; const std::string mParamControllerName; @@ -385,19 +384,20 @@ F32 LLPhysicsMotion::toLocal(const LLVector3 &world) return world * dir_world; } -F32 LLPhysicsMotion::calculateVelocity_local(const F32 time_delta) +F32 LLPhysicsMotion::calculateVelocity_local() { + const F32 world_to_model_scale = 10.0f; LLJoint *joint = mJointState->getJoint(); const LLVector3 position_world = joint->getWorldPosition(); const LLQuaternion rotation_world = joint->getWorldRotation(); const LLVector3 last_position_world = mPosition_world; - const LLVector3 velocity_world = (position_world-last_position_world) / time_delta; + const LLVector3 positionchange_world = (position_world-last_position_world) * world_to_model_scale; + const LLVector3 velocity_world = positionchange_world; const F32 velocity_local = toLocal(velocity_world); return velocity_local; } -F32 LLPhysicsMotion::calculateAcceleration_local(const F32 velocity_local, - const F32 time_delta) +F32 LLPhysicsMotion::calculateAcceleration_local(const F32 velocity_local) { // const F32 smoothing = getParamValue("Smoothing"); static const F32 smoothing = 3.0f; // Removed smoothing param since it's probably not necessary @@ -489,7 +489,31 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) if (physics_test) behavior_maxeffect = 1.0f; - BOOL update_visuals = FALSE; + // Normalize the param position to be from [0,1]. + // We have to use normalized values because there may be more than one driven param, + // and each of these driven params may have its own range. + // This means we'll do all our calculations in normalized [0,1] local coordinates. + const F32 position_user_local = (mParamDriver->getWeight() - mParamDriver->getMinWeight()) / (mParamDriver->getMaxWeight() - mParamDriver->getMinWeight()); + + // + // End parameters and settings + //////////////////////////////////////////////////////////////////////////////// + + + //////////////////////////////////////////////////////////////////////////////// + // Calculate velocity and acceleration in parameter space. + // + + //const F32 velocity_joint_local = calculateVelocity_local(time_iteration_step); + const F32 velocity_joint_local = calculateVelocity_local(); + const F32 acceleration_joint_local = calculateAcceleration_local(velocity_joint_local); + + // + // End velocity and acceleration + //////////////////////////////////////////////////////////////////////////////// + + BOOL update_visuals = FALSE; + // Break up the physics into a bunch of iterations so that differing framerates will show // roughly the same behavior. for (F32 time_iteration = 0; time_iteration <= time_delta; time_iteration += TIME_ITERATION_STEP) @@ -497,46 +521,20 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) F32 time_iteration_step = TIME_ITERATION_STEP; if (time_iteration + TIME_ITERATION_STEP > time_delta) { - time_iteration_step = time_delta; + time_iteration_step = time_delta-time_iteration; } - // mPositon_local should be in normalized 0,1 range already. Just making sure... - F32 position_current_local = llclamp(mPosition_local, - 0.0f, - 1.0f); - - // Normalize the param position to be from [0,1]. - // We have to use normalized values because there may be more than one driven param, - // and each of these driven params may have its own range. - // This means we'll do all our calculations in normalized [0,1] local coordinates. - F32 position_user_local = mParamDriver->getWeight(); - position_user_local = (position_user_local - mParamDriver->getMinWeight()) / (mParamDriver->getMaxWeight() - mParamDriver->getMinWeight()); - + const F32 position_current_local = llclamp(mPosition_local, + 0.0f, + 1.0f); // If the effect is turned off then don't process unless we need one more update // to set the position to the default (i.e. user) position. if ((behavior_maxeffect == 0) && (position_current_local == position_user_local)) { - return FALSE; + return update_visuals; } - // - // End parameters and settings - //////////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////////////////////////////////////////////////// - // Calculate velocity and acceleration in parameter space. - // - - const F32 velocity_joint_local = calculateVelocity_local(time_iteration_step); - const F32 acceleration_joint_local = calculateAcceleration_local(velocity_joint_local, time_iteration_step); - - // - // End velocity and acceleration - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// // Calculate the total force // @@ -553,7 +551,7 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) // Gravity always points downward in world space. // F = mg const LLVector3 gravity_world(0,0,1); - const F32 force_gravity = behavior_gain * (toLocal(gravity_world) * behavior_gravity * behavior_mass); + const F32 force_gravity = (toLocal(gravity_world) * behavior_gravity * behavior_mass); // Damping is a restoring force that opposes the current velocity. // F = -kv @@ -581,10 +579,10 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) // Calculate the new acceleration based on the net force. // a = F/m const F32 acceleration_new_local = force_net / behavior_mass; - static const F32 max_acceleration = 10.0f; // magic number, used to be customizable. - F32 velocity_new_local = mVelocity_local + acceleration_new_local; + static const F32 max_velocity = 100.0f; // magic number, used to be customizable. + F32 velocity_new_local = mVelocity_local + acceleration_new_local*time_iteration_step; velocity_new_local = llclamp(velocity_new_local, - -max_acceleration, max_acceleration); + -max_velocity, max_velocity); // Temporary debugging setting to cause all avatars to move, for profiling purposes. if (physics_test) @@ -610,8 +608,6 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) (position_new_local != position_new_local)) { position_new_local = 0; - position_current_local = 0; - position_user_local = 0; mVelocity_local = 0; mVelocityJoint_local = 0; mAccelerationJoint_local = 0; @@ -680,16 +676,14 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) // End update visual params //////////////////////////////////////////////////////////////////////////////// - mVelocityJoint_local = velocity_joint_local; - mVelocity_local = velocity_new_local; mAccelerationJoint_local = acceleration_joint_local; mPosition_local = position_new_local; - - mPosition_world = joint->getWorldPosition(); - } mLastTime = time; + mPosition_world = joint->getWorldPosition(); + mVelocityJoint_local = velocity_joint_local; + /* // Write out debugging info into a spreadsheet. -- cgit v1.2.3 From f227e8ec01c99e09df7f362b934d57d80702a882 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Thu, 21 Apr 2011 20:30:38 -0400 Subject: SH-1381 FIXED Avatar Physics behavior is tightly tied to viewer framerate Changed range of gain; previous range was too small. --- indra/newview/llphysicsmotion.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp index 7d862848b5..e6a7212a47 100644 --- a/indra/newview/llphysicsmotion.cpp +++ b/indra/newview/llphysicsmotion.cpp @@ -386,7 +386,7 @@ F32 LLPhysicsMotion::toLocal(const LLVector3 &world) F32 LLPhysicsMotion::calculateVelocity_local() { - const F32 world_to_model_scale = 10.0f; + const F32 world_to_model_scale = 100.0f; LLJoint *joint = mJointState->getJoint(); const LLVector3 position_world = joint->getWorldPosition(); const LLQuaternion rotation_world = joint->getWorldRotation(); -- cgit v1.2.3 From a9aeeab6c5fc4efeeaddf294bc4686efe02db5c1 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 21 Apr 2011 18:36:07 -0700 Subject: removed skylight-specific build params --- BuildParams | 7 ------- 1 file changed, 7 deletions(-) diff --git a/BuildParams b/BuildParams index f49a714c03..c0955cfeda 100644 --- a/BuildParams +++ b/BuildParams @@ -164,13 +164,6 @@ viewer-tut-teamcity.email = enus@lindenlab.com viewer-tut-teamcity.build_server = false viewer-tut-teamcity.build_server_tests = false -# ======================================== -# experience -# ======================================== -viewer-experience.public_build = false -viewer-experience.viewer_channel = "Second Life SkyLight Viewer" -viewer-experience.login_channel = "Second Life SkyLight Viewer" - # ================================================================= # asset delivery 2010 projects # ================================================================= -- cgit v1.2.3 From 175f12350d351570712db03e15c1bc89af677ad8 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Fri, 22 Apr 2011 19:07:15 +0300 Subject: STORM-1093 FIX "Dock" icon is still shown after a side panel has been docked with Ctrl+Shift+W. Reason: When an undocked side tray tab floater got closed with Ctrl+Shift+W, LLSideTray::setTabDocked() was called. It docked the floater but didn't update the dock/undock icon. Fix: Made setTabDocked() a general purpose method, not a hack suitable for using only as a floater close callback in the basic viewer mode. It now updates the dock/undock icon. Other changes: * Replaced numerous calls to toggleTabDocked with setDocked(), that is safer because does exactly what you want. * Got rid of a duplicated floater close callback. --- indra/newview/llfloatersidetraytab.cpp | 3 +- indra/newview/llsidetray.cpp | 61 ++++++++++++---------------------- indra/newview/llsidetray.h | 2 +- 3 files changed, 24 insertions(+), 42 deletions(-) diff --git a/indra/newview/llfloatersidetraytab.cpp b/indra/newview/llfloatersidetraytab.cpp index 94407e6da0..9f15e62d84 100644 --- a/indra/newview/llfloatersidetraytab.cpp +++ b/indra/newview/llfloatersidetraytab.cpp @@ -47,5 +47,6 @@ LLFloaterSideTrayTab::~LLFloaterSideTrayTab() void LLFloaterSideTrayTab::onClose(bool app_quitting) { - LLSideTray::getInstance()->setTabDocked(getName(), true); + // The floater is already being closed, so don't toggle it once more (that may crash viewer). + LLSideTray::getInstance()->setTabDocked(getName(), /* dock = */ true, /* toggle_floater = */ false); } diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index 4f18ee1da2..615899d49f 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -127,8 +127,6 @@ protected: void undock(LLFloater* floater_tab); LLSideTray* getSideTray(); - - void onFloaterClose(LLSD::Boolean app_quitting); public: virtual ~LLSideTrayTab(); @@ -146,7 +144,7 @@ public: void onOpen (const LLSD& key); - void toggleTabDocked(); + void toggleTabDocked(bool toggle_floater = true); void setDocked(bool dock); bool isDocked() const; @@ -160,7 +158,6 @@ private: std::string mDescription; LLView* mMainPanel; - boost::signals2::connection mFloaterCloseConn; }; LLSideTrayTab::LLSideTrayTab(const Params& p) @@ -196,8 +193,8 @@ BOOL LLSideTrayTab::postBuild() title_panel->getChild(TAB_PANEL_CAPTION_TITLE_BOX)->setValue(mTabTitle); - getChild("undock")->setCommitCallback(boost::bind(&LLSideTrayTab::toggleTabDocked, this)); - getChild("dock")->setCommitCallback(boost::bind(&LLSideTrayTab::toggleTabDocked, this)); + getChild("undock")->setCommitCallback(boost::bind(&LLSideTrayTab::setDocked, this, false)); + getChild("dock")->setCommitCallback(boost::bind(&LLSideTrayTab::setDocked, this, true)); return true; } @@ -253,14 +250,16 @@ LLSideTray* LLSideTrayTab::getSideTray() return side_tray; } -void LLSideTrayTab::toggleTabDocked() +void LLSideTrayTab::toggleTabDocked(bool toggle_floater /* = true */) { + // *FIX: Calling this method twice per frame would crash the viewer. + std::string tab_name = getName(); LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", tab_name); if (!floater_tab) return; - bool docking = LLFloater::isShown(floater_tab); + bool docking = !isDocked(); // Hide the "Tear Off" button when a tab gets undocked // and show "Dock" button instead. @@ -278,7 +277,10 @@ void LLSideTrayTab::toggleTabDocked() // Open/close the floater *after* we reparent the tab panel, // so that it doesn't receive redundant visibility change notifications. - LLFloaterReg::toggleInstance("side_bar_tab", tab_name); + if (toggle_floater) + { + LLFloaterReg::toggleInstance("side_bar_tab", tab_name); + } } // Same as toggleTabDocked() apart from making sure that we do exactly what we want. @@ -298,18 +300,6 @@ bool LLSideTrayTab::isDocked() const return dynamic_cast(getParent()) != NULL; } -void LLSideTrayTab::onFloaterClose(LLSD::Boolean app_quitting) -{ - // If user presses Ctrl-Shift-W, handle that gracefully by docking all - // undocked tabs before their floaters get destroyed (STORM-1016). - - // Don't dock on quit for the current dock state to be correctly saved. - if (app_quitting) return; - - lldebugs << "Forcibly docking tab " << getName() << llendl; - setDocked(true); -} - BOOL LLSideTrayTab::handleScrollWheel(S32 x, S32 y, S32 clicks) { // Let children handle the event @@ -333,7 +323,6 @@ void LLSideTrayTab::dock(LLFloater* floater_tab) return; } - mFloaterCloseConn.disconnect(); setRect(side_tray->getLocalRect()); reshape(getRect().getWidth(), getRect().getHeight()); @@ -382,7 +371,6 @@ void LLSideTrayTab::undock(LLFloater* floater_tab) } floater_tab->addChild(this); - mFloaterCloseConn = floater_tab->setCloseCallback(boost::bind(&LLSideTrayTab::onFloaterClose, this, _2)); floater_tab->setTitle(mTabTitle); floater_tab->setName(getName()); @@ -510,7 +498,7 @@ public: LLSideTrayTab* tab = side_tray->getTab(getName()); if (!tab) return FALSE; - tab->toggleTabDocked(); + tab->setDocked(false); LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", tab->getName()); if (!floater_tab) return FALSE; @@ -681,7 +669,7 @@ LLPanel* LLSideTray::openChildPanel(LLSideTrayTab* tab, const std::string& panel if (tab_attached && LLUI::sSettingGroups["config"]->getBOOL("OpenSidePanelsInFloaters")) { - tab->toggleTabDocked(); + tab->setDocked(false); tab_attached = false; } @@ -1102,7 +1090,7 @@ void LLSideTray::detachTabs() if (!is_visible) continue; llassert(isTabAttached(tab->getName())); - tab->toggleTabDocked(); + tab->setDocked(false); } } @@ -1327,8 +1315,9 @@ bool LLSideTray::isPanelActive(const std::string& panel_name) return (panel->getName() == panel_name); } -void LLSideTray::setTabDocked(const std::string& tab_name, bool dock) +void LLSideTray::setTabDocked(const std::string& tab_name, bool dock, bool toggle_floater /* = true*/) { + // Lookup tab by name. LLSideTrayTab* tab = getTab(tab_name); if (!tab) { // not a docked tab, look through detached tabs @@ -1345,20 +1334,12 @@ void LLSideTray::setTabDocked(const std::string& tab_name, bool dock) } - if (tab) - { - bool tab_attached = isTabAttached(tab_name); - LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", tab_name); - if (!floater_tab) return; + llassert(tab != NULL); - if (dock && !tab_attached) - { - tab->dock(floater_tab); - } - else if (!dock && tab_attached) - { - tab->undock(floater_tab); - } + // Toggle its dock state. + if (tab && tab->isDocked() != dock) + { + tab->toggleTabDocked(toggle_floater); } } diff --git a/indra/newview/llsidetray.h b/indra/newview/llsidetray.h index 1dddd9e9bc..57e4264247 100644 --- a/indra/newview/llsidetray.h +++ b/indra/newview/llsidetray.h @@ -121,7 +121,7 @@ public: LLPanel* getActivePanel (); bool isPanelActive (const std::string& panel_name); - void setTabDocked(const std::string& tab_name, bool dock); + void setTabDocked(const std::string& tab_name, bool dock, bool toggle_floater = true); /* * get the panel of given type T (don't show it or do anything else with it) -- cgit v1.2.3 From cf0aa6981aa6769169900691d69bf3566dc42295 Mon Sep 17 00:00:00 2001 From: Xiaohong Bao Date: Fri, 22 Apr 2011 10:24:46 -0600 Subject: fix for sh-1420: the background image at startup is missing from mesh-development and viewer-beta. --- indra/newview/llpanellogin.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 7820ac3ecd..0bdbeefd2a 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -34,6 +34,7 @@ #include "llmd5.h" #include "llsecondlifeurls.h" #include "v4color.h" +#include "llversionviewer.h" #include "llappviewer.h" #include "llbutton.h" @@ -851,12 +852,20 @@ void LLPanelLogin::loadLoginPage() LLVersionInfo::getShortVersion().c_str(), LLVersionInfo::getBuild()); - char* curl_channel = curl_escape(LLVersionInfo::getChannel().c_str(), 0); + char* curl_channel ; char* curl_version = curl_escape(version.c_str(), 0); + if(strcmp(LLVersionInfo::getChannel().c_str(), LL_CHANNEL)) + { + curl_channel = curl_escape(LLVersionInfo::getChannel().c_str(), 0); + } + else //if LL_CHANNEL, direct it to "Second Life Beta Viewer". + { + curl_channel = curl_escape("Second Life Beta Viewer", 0); + } oStr << "&channel=" << curl_channel; oStr << "&version=" << curl_version; - + curl_free(curl_channel); curl_free(curl_version); -- cgit v1.2.3 From 154a465bdaff58023c43bed12b4a049ae72a55df Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Fri, 22 Apr 2011 13:17:44 -0400 Subject: dos2unix line ending fix for llphysicsmotion.cpp --- indra/newview/llphysicsmotion.cpp | 1476 ++++++++++++++++++------------------- 1 file changed, 738 insertions(+), 738 deletions(-) diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp index e6a7212a47..ef0c1a3558 100644 --- a/indra/newview/llphysicsmotion.cpp +++ b/indra/newview/llphysicsmotion.cpp @@ -1,738 +1,738 @@ -/** - * @file llphysicsmotion.cpp - * @brief Implementation of LLPhysicsMotion class. - * - * $LicenseInfo:firstyear=2001&license=viewergpl$ - * - * Copyright (c) 2001-2009, Linden Research, Inc. - * - * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 - * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at - * http://secondlifegrid.net/programs/open_source/licensing/flossexception - * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. - * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. - * $/LicenseInfo$ - */ - -//----------------------------------------------------------------------------- -// Header Files -//----------------------------------------------------------------------------- -#include "llviewerprecompiledheaders.h" -#include "linden_common.h" - -#include "m3math.h" -#include "v3dmath.h" - -#include "llphysicsmotion.h" -#include "llagent.h" -#include "llcharacter.h" -#include "llviewercontrol.h" -#include "llviewervisualparam.h" -#include "llvoavatarself.h" - -typedef std::map controller_map_t; -typedef std::map default_controller_map_t; - -#define MIN_REQUIRED_PIXEL_AREA_AVATAR_PHYSICS_MOTION 0.f -#define TIME_ITERATION_STEP 0.1f - -inline F64 llsgn(const F64 a) -{ - if (a >= 0) - return 1; - return -1; -} - -/* - At a high level, this works by setting temporary parameters that are not stored - in the avatar's list of params, and are not conveyed to other users. We accomplish - this by creating some new temporary driven params inside avatar_lad that are then driven - by the actual params that the user sees and sets. For example, in the old system, - the user sets a param called breast bouyancy, which controls the Z value of the breasts. - In our new system, the user still sets the breast bouyancy, but that param is redefined - as a driver param so that affects a new temporary driven param that the bounce is applied - to. -*/ - -class LLPhysicsMotion -{ -public: - /* - param_driver_name: The param that controls the params that are being affected by the physics. - joint_name: The joint that the body part is attached to. The joint is - used to determine the orientation (rotation) of the body part. - - character: The avatar that this physics affects. - - motion_direction_vec: The direction (in world coordinates) that determines the - motion. For example, (0,0,1) is up-down, and means that up-down motion is what - determines how this joint moves. - - controllers: The various settings (e.g. spring force, mass) that determine how - the body part behaves. - */ - LLPhysicsMotion(const std::string ¶m_driver_name, - const std::string &joint_name, - LLCharacter *character, - const LLVector3 &motion_direction_vec, - const controller_map_t &controllers) : - mParamDriverName(param_driver_name), - mJointName(joint_name), - mMotionDirectionVec(motion_direction_vec), - mParamDriver(NULL), - mParamControllers(controllers), - mCharacter(character), - mLastTime(0), - mPosition_local(0), - mVelocityJoint_local(0), - mPositionLastUpdate_local(0) - { - mJointState = new LLJointState; - } - - BOOL initialize(); - - ~LLPhysicsMotion() {} - - BOOL onUpdate(F32 time); - - LLPointer getJointState() - { - return mJointState; - } -protected: - F32 getParamValue(const std::string& controller_key) - { - const controller_map_t::const_iterator& entry = mParamControllers.find(controller_key); - if (entry == mParamControllers.end()) - { - return sDefaultController[controller_key]; - } - const std::string& param_name = (*entry).second.c_str(); - return mCharacter->getVisualParamWeight(param_name.c_str()); - } - void setParamValue(LLViewerVisualParam *param, - const F32 new_value_local, - F32 behavior_maxeffect); - - F32 toLocal(const LLVector3 &world); - F32 calculateVelocity_local(); - F32 calculateAcceleration_local(F32 velocity_local); -private: - const std::string mParamDriverName; - const std::string mParamControllerName; - const LLVector3 mMotionDirectionVec; - const std::string mJointName; - - F32 mPosition_local; - F32 mVelocityJoint_local; // How fast the joint is moving - F32 mAccelerationJoint_local; // Acceleration on the joint - - F32 mVelocity_local; // How fast the param is moving - F32 mPositionLastUpdate_local; - LLVector3 mPosition_world; - - LLViewerVisualParam *mParamDriver; - const controller_map_t mParamControllers; - - LLPointer mJointState; - LLCharacter *mCharacter; - - F32 mLastTime; - - static default_controller_map_t sDefaultController; -}; - -default_controller_map_t initDefaultController() -{ - default_controller_map_t controller; - controller["Mass"] = 0.2f; - controller["Gravity"] = 0.0f; - controller["Damping"] = .05f; - controller["Drag"] = 0.15f; - controller["MaxEffect"] = 0.1f; - controller["Spring"] = 0.1f; - controller["Gain"] = 10.0f; - return controller; -} - -default_controller_map_t LLPhysicsMotion::sDefaultController = initDefaultController(); - -BOOL LLPhysicsMotion::initialize() -{ - if (!mJointState->setJoint(mCharacter->getJoint(mJointName.c_str()))) - return FALSE; - mJointState->setUsage(LLJointState::ROT); - - mParamDriver = (LLViewerVisualParam*)mCharacter->getVisualParam(mParamDriverName.c_str()); - if (mParamDriver == NULL) - { - llinfos << "Failure reading in [ " << mParamDriverName << " ]" << llendl; - return FALSE; - } - - return TRUE; -} - -LLPhysicsMotionController::LLPhysicsMotionController(const LLUUID &id) : - LLMotion(id), - mCharacter(NULL) -{ - mName = "breast_motion"; -} - -LLPhysicsMotionController::~LLPhysicsMotionController() -{ - for (motion_vec_t::iterator iter = mMotions.begin(); - iter != mMotions.end(); - ++iter) - { - delete (*iter); - } -} - -BOOL LLPhysicsMotionController::onActivate() -{ - return TRUE; -} - -void LLPhysicsMotionController::onDeactivate() -{ -} - -LLMotion::LLMotionInitStatus LLPhysicsMotionController::onInitialize(LLCharacter *character) -{ - mCharacter = character; - - mMotions.clear(); - - // Breast Cleavage - { - controller_map_t controller; - controller["Mass"] = "Breast_Physics_Mass"; - controller["Gravity"] = "Breast_Physics_Gravity"; - controller["Drag"] = "Breast_Physics_Drag"; - controller["Damping"] = "Breast_Physics_InOut_Damping"; - controller["MaxEffect"] = "Breast_Physics_InOut_Max_Effect"; - controller["Spring"] = "Breast_Physics_InOut_Spring"; - controller["Gain"] = "Breast_Physics_InOut_Gain"; - LLPhysicsMotion *motion = new LLPhysicsMotion("Breast_Physics_InOut_Controller", - "mChest", - character, - LLVector3(-1,0,0), - controller); - if (!motion->initialize()) - { - llassert_always(FALSE); - return STATUS_FAILURE; - } - addMotion(motion); - } - - // Breast Bounce - { - controller_map_t controller; - controller["Mass"] = "Breast_Physics_Mass"; - controller["Gravity"] = "Breast_Physics_Gravity"; - controller["Drag"] = "Breast_Physics_Drag"; - controller["Damping"] = "Breast_Physics_UpDown_Damping"; - controller["MaxEffect"] = "Breast_Physics_UpDown_Max_Effect"; - controller["Spring"] = "Breast_Physics_UpDown_Spring"; - controller["Gain"] = "Breast_Physics_UpDown_Gain"; - LLPhysicsMotion *motion = new LLPhysicsMotion("Breast_Physics_UpDown_Controller", - "mChest", - character, - LLVector3(0,0,1), - controller); - if (!motion->initialize()) - { - llassert_always(FALSE); - return STATUS_FAILURE; - } - addMotion(motion); - } - - // Breast Sway - { - controller_map_t controller; - controller["Mass"] = "Breast_Physics_Mass"; - controller["Gravity"] = "Breast_Physics_Gravity"; - controller["Drag"] = "Breast_Physics_Drag"; - controller["Damping"] = "Breast_Physics_LeftRight_Damping"; - controller["MaxEffect"] = "Breast_Physics_LeftRight_Max_Effect"; - controller["Spring"] = "Breast_Physics_LeftRight_Spring"; - controller["Gain"] = "Breast_Physics_LeftRight_Gain"; - LLPhysicsMotion *motion = new LLPhysicsMotion("Breast_Physics_LeftRight_Controller", - "mChest", - character, - LLVector3(0,-1,0), - controller); - if (!motion->initialize()) - { - llassert_always(FALSE); - return STATUS_FAILURE; - } - addMotion(motion); - } - // Butt Bounce - { - controller_map_t controller; - controller["Mass"] = "Butt_Physics_Mass"; - controller["Gravity"] = "Butt_Physics_Gravity"; - controller["Drag"] = "Butt_Physics_Drag"; - controller["Damping"] = "Butt_Physics_UpDown_Damping"; - controller["MaxEffect"] = "Butt_Physics_UpDown_Max_Effect"; - controller["Spring"] = "Butt_Physics_UpDown_Spring"; - controller["Gain"] = "Butt_Physics_UpDown_Gain"; - LLPhysicsMotion *motion = new LLPhysicsMotion("Butt_Physics_UpDown_Controller", - "mPelvis", - character, - LLVector3(0,0,-1), - controller); - if (!motion->initialize()) - { - llassert_always(FALSE); - return STATUS_FAILURE; - } - addMotion(motion); - } - - // Butt LeftRight - { - controller_map_t controller; - controller["Mass"] = "Butt_Physics_Mass"; - controller["Gravity"] = "Butt_Physics_Gravity"; - controller["Drag"] = "Butt_Physics_Drag"; - controller["Damping"] = "Butt_Physics_LeftRight_Damping"; - controller["MaxEffect"] = "Butt_Physics_LeftRight_Max_Effect"; - controller["Spring"] = "Butt_Physics_LeftRight_Spring"; - controller["Gain"] = "Butt_Physics_LeftRight_Gain"; - LLPhysicsMotion *motion = new LLPhysicsMotion("Butt_Physics_LeftRight_Controller", - "mPelvis", - character, - LLVector3(0,-1,0), - controller); - if (!motion->initialize()) - { - llassert_always(FALSE); - return STATUS_FAILURE; - } - addMotion(motion); - } - - // Belly Bounce - { - controller_map_t controller; - controller["Mass"] = "Belly_Physics_Mass"; - controller["Gravity"] = "Belly_Physics_Gravity"; - controller["Drag"] = "Belly_Physics_Drag"; - controller["Damping"] = "Belly_Physics_UpDown_Damping"; - controller["MaxEffect"] = "Belly_Physics_UpDown_Max_Effect"; - controller["Spring"] = "Belly_Physics_UpDown_Spring"; - controller["Gain"] = "Belly_Physics_UpDown_Gain"; - LLPhysicsMotion *motion = new LLPhysicsMotion("Belly_Physics_UpDown_Controller", - "mPelvis", - character, - LLVector3(0,0,-1), - controller); - if (!motion->initialize()) - { - llassert_always(FALSE); - return STATUS_FAILURE; - } - addMotion(motion); - } - - return STATUS_SUCCESS; -} - -void LLPhysicsMotionController::addMotion(LLPhysicsMotion *motion) -{ - addJointState(motion->getJointState()); - mMotions.push_back(motion); -} - -F32 LLPhysicsMotionController::getMinPixelArea() -{ - return MIN_REQUIRED_PIXEL_AREA_AVATAR_PHYSICS_MOTION; -} - -// Local space means "parameter space". -F32 LLPhysicsMotion::toLocal(const LLVector3 &world) -{ - LLJoint *joint = mJointState->getJoint(); - const LLQuaternion rotation_world = joint->getWorldRotation(); - - LLVector3 dir_world = mMotionDirectionVec * rotation_world; - dir_world.normalize(); - return world * dir_world; -} - -F32 LLPhysicsMotion::calculateVelocity_local() -{ - const F32 world_to_model_scale = 100.0f; - LLJoint *joint = mJointState->getJoint(); - const LLVector3 position_world = joint->getWorldPosition(); - const LLQuaternion rotation_world = joint->getWorldRotation(); - const LLVector3 last_position_world = mPosition_world; - const LLVector3 positionchange_world = (position_world-last_position_world) * world_to_model_scale; - const LLVector3 velocity_world = positionchange_world; - const F32 velocity_local = toLocal(velocity_world); - return velocity_local; -} - -F32 LLPhysicsMotion::calculateAcceleration_local(const F32 velocity_local) -{ -// const F32 smoothing = getParamValue("Smoothing"); - static const F32 smoothing = 3.0f; // Removed smoothing param since it's probably not necessary - const F32 acceleration_local = velocity_local - mVelocityJoint_local; - - const F32 smoothed_acceleration_local = - acceleration_local * 1.0/smoothing + - mAccelerationJoint_local * (smoothing-1.0)/smoothing; - - return smoothed_acceleration_local; -} - -BOOL LLPhysicsMotionController::onUpdate(F32 time, U8* joint_mask) -{ - // Skip if disabled globally. - if (!gSavedSettings.getBOOL("AvatarPhysics")) - { - return TRUE; - } - - BOOL update_visuals = FALSE; - for (motion_vec_t::iterator iter = mMotions.begin(); - iter != mMotions.end(); - ++iter) - { - LLPhysicsMotion *motion = (*iter); - update_visuals |= motion->onUpdate(time); - } - - if (update_visuals) - mCharacter->updateVisualParams(); - - return TRUE; -} - - -// Return TRUE if character has to update visual params. -BOOL LLPhysicsMotion::onUpdate(F32 time) -{ - // static FILE *mFileWrite = fopen("c:\\temp\\avatar_data.txt","w"); - - if (!mParamDriver) - return FALSE; - - if (!mLastTime) - { - mLastTime = time; - return FALSE; - } - - //////////////////////////////////////////////////////////////////////////////// - // Get all parameters and settings - // - - const F32 time_delta = time - mLastTime; - - // Don't update too frequently, to avoid precision errors from small time slices. - if (time_delta <= .01) - { - return FALSE; - } - - // If less than 1FPS, we don't want to be spending time updating physics at all. - if (time_delta > 1.0) - { - mLastTime = time; - return FALSE; - } - - // Higher LOD is better. This controls the granularity - // and frequency of updates for the motions. - const F32 lod_factor = LLVOAvatar::sPhysicsLODFactor; - if (lod_factor == 0) - { - return TRUE; - } - - LLJoint *joint = mJointState->getJoint(); - - const F32 behavior_mass = getParamValue("Mass"); - const F32 behavior_gravity = getParamValue("Gravity"); - const F32 behavior_spring = getParamValue("Spring"); - const F32 behavior_gain = getParamValue("Gain"); - const F32 behavior_damping = getParamValue("Damping"); - const F32 behavior_drag = getParamValue("Drag"); - const BOOL physics_test = FALSE; // Enable this to simulate bouncing on all parts. - - F32 behavior_maxeffect = getParamValue("MaxEffect"); - if (physics_test) - behavior_maxeffect = 1.0f; - - // Normalize the param position to be from [0,1]. - // We have to use normalized values because there may be more than one driven param, - // and each of these driven params may have its own range. - // This means we'll do all our calculations in normalized [0,1] local coordinates. - const F32 position_user_local = (mParamDriver->getWeight() - mParamDriver->getMinWeight()) / (mParamDriver->getMaxWeight() - mParamDriver->getMinWeight()); - - // - // End parameters and settings - //////////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////////////////////////////////////////////////// - // Calculate velocity and acceleration in parameter space. - // - - //const F32 velocity_joint_local = calculateVelocity_local(time_iteration_step); - const F32 velocity_joint_local = calculateVelocity_local(); - const F32 acceleration_joint_local = calculateAcceleration_local(velocity_joint_local); - - // - // End velocity and acceleration - //////////////////////////////////////////////////////////////////////////////// - - BOOL update_visuals = FALSE; - - // Break up the physics into a bunch of iterations so that differing framerates will show - // roughly the same behavior. - for (F32 time_iteration = 0; time_iteration <= time_delta; time_iteration += TIME_ITERATION_STEP) - { - F32 time_iteration_step = TIME_ITERATION_STEP; - if (time_iteration + TIME_ITERATION_STEP > time_delta) - { - time_iteration_step = time_delta-time_iteration; - } - - // mPositon_local should be in normalized 0,1 range already. Just making sure... - const F32 position_current_local = llclamp(mPosition_local, - 0.0f, - 1.0f); - // If the effect is turned off then don't process unless we need one more update - // to set the position to the default (i.e. user) position. - if ((behavior_maxeffect == 0) && (position_current_local == position_user_local)) - { - return update_visuals; - } - - //////////////////////////////////////////////////////////////////////////////// - // Calculate the total force - // - - // Spring force is a restoring force towards the original user-set breast position. - // F = kx - const F32 spring_length = position_current_local - position_user_local; - const F32 force_spring = -spring_length * behavior_spring; - - // Acceleration is the force that comes from the change in velocity of the torso. - // F = ma - const F32 force_accel = behavior_gain * (acceleration_joint_local * behavior_mass); - - // Gravity always points downward in world space. - // F = mg - const LLVector3 gravity_world(0,0,1); - const F32 force_gravity = (toLocal(gravity_world) * behavior_gravity * behavior_mass); - - // Damping is a restoring force that opposes the current velocity. - // F = -kv - const F32 force_damping = -behavior_damping * mVelocity_local; - - // Drag is a force imparted by velocity (intuitively it is similar to wind resistance) - // F = .5kv^2 - const F32 force_drag = .5*behavior_drag*velocity_joint_local*velocity_joint_local*llsgn(velocity_joint_local); - - const F32 force_net = (force_accel + - force_gravity + - force_spring + - force_damping + - force_drag); - - // - // End total force - //////////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////////////////////////////////////////////////// - // Calculate new params - // - - // Calculate the new acceleration based on the net force. - // a = F/m - const F32 acceleration_new_local = force_net / behavior_mass; - static const F32 max_velocity = 100.0f; // magic number, used to be customizable. - F32 velocity_new_local = mVelocity_local + acceleration_new_local*time_iteration_step; - velocity_new_local = llclamp(velocity_new_local, - -max_velocity, max_velocity); - - // Temporary debugging setting to cause all avatars to move, for profiling purposes. - if (physics_test) - { - velocity_new_local = sin(time*4.0); - } - // Calculate the new parameters, or remain unchanged if max speed is 0. - F32 position_new_local = position_current_local + velocity_new_local*time_iteration_step; - if (behavior_maxeffect == 0) - position_new_local = position_user_local; - - // Zero out the velocity if the param is being pushed beyond its limits. - if ((position_new_local < 0 && velocity_new_local < 0) || - (position_new_local > 1 && velocity_new_local > 0)) - { - velocity_new_local = 0; - } - - // Check for NaN values. A NaN value is detected if the variables doesn't equal itself. - // If NaN, then reset everything. - if ((mPosition_local != mPosition_local) || - (mVelocity_local != mVelocity_local) || - (position_new_local != position_new_local)) - { - position_new_local = 0; - mVelocity_local = 0; - mVelocityJoint_local = 0; - mAccelerationJoint_local = 0; - mPosition_local = 0; - mPosition_world = LLVector3(0,0,0); - } - - const F32 position_new_local_clamped = llclamp(position_new_local, - 0.0f, - 1.0f); - - LLDriverParam *driver_param = dynamic_cast(mParamDriver); - llassert_always(driver_param); - if (driver_param) - { - // If this is one of our "hidden" driver params, then make sure it's - // the default value. - if ((driver_param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE) && - (driver_param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT)) - { - mCharacter->setVisualParamWeight(driver_param, - 0, - FALSE); - } - for (LLDriverParam::entry_list_t::iterator iter = driver_param->mDriven.begin(); - iter != driver_param->mDriven.end(); - ++iter) - { - LLDrivenEntry &entry = (*iter); - LLViewerVisualParam *driven_param = entry.mParam; - setParamValue(driven_param,position_new_local_clamped, behavior_maxeffect); - } - } - - // - // End calculate new params - //////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// - // Conditionally update the visual params - // - - // Updating the visual params (i.e. what the user sees) is fairly expensive. - // So only update if the params have changed enough, and also take into account - // the graphics LOD settings. - - // For non-self, if the avatar is small enough visually, then don't update. - const F32 area_for_max_settings = 0.0; - const F32 area_for_min_settings = 1400.0; - const F32 area_for_this_setting = area_for_max_settings + (area_for_min_settings-area_for_max_settings)*(1.0-lod_factor); - const F32 pixel_area = fsqrtf(mCharacter->getPixelArea()); - - const BOOL is_self = (dynamic_cast(mCharacter) != NULL); - if ((pixel_area > area_for_this_setting) || is_self) - { - const F32 position_diff_local = llabs(mPositionLastUpdate_local-position_new_local_clamped); - const F32 min_delta = (1.0001f-lod_factor)*0.4f; - if (llabs(position_diff_local) > min_delta) - { - update_visuals = TRUE; - mPositionLastUpdate_local = position_new_local; - } - } - - // - // End update visual params - //////////////////////////////////////////////////////////////////////////////// - - mVelocity_local = velocity_new_local; - mAccelerationJoint_local = acceleration_joint_local; - mPosition_local = position_new_local; - } - mLastTime = time; - mPosition_world = joint->getWorldPosition(); - mVelocityJoint_local = velocity_joint_local; - - - /* - // Write out debugging info into a spreadsheet. - if (mFileWrite != NULL && is_self) - { - fprintf(mFileWrite,"%f\t%f\t%f \t\t%f \t\t%f\t%f\t%f\t \t\t%f\t%f\t%f\t%f\t%f \t\t%f\t%f\t%f\n", - position_new_local, - velocity_new_local, - acceleration_new_local, - - time_delta, - - mPosition_world[0], - mPosition_world[1], - mPosition_world[2], - - force_net, - force_spring, - force_accel, - force_damping, - force_drag, - - spring_length, - velocity_joint_local, - acceleration_joint_local - ); - } - */ - - return update_visuals; -} - -// Range of new_value_local is assumed to be [0 , 1] normalized. -void LLPhysicsMotion::setParamValue(LLViewerVisualParam *param, - F32 new_value_normalized, - F32 behavior_maxeffect) -{ - const F32 value_min_local = param->getMinWeight(); - const F32 value_max_local = param->getMaxWeight(); - const F32 min_val = 0.5f-behavior_maxeffect/2.0; - const F32 max_val = 0.5f+behavior_maxeffect/2.0; - - // Scale from [0,1] to [min_val,max_val] - const F32 new_value_rescaled = min_val + (max_val-min_val) * new_value_normalized; - - // Scale from [0,1] to [value_min_local,value_max_local] - const F32 new_value_local = value_min_local + (value_max_local-value_min_local) * new_value_rescaled; - - mCharacter->setVisualParamWeight(param, - new_value_local, - FALSE); -} +/** + * @file llphysicsmotion.cpp + * @brief Implementation of LLPhysicsMotion class. + * + * $LicenseInfo:firstyear=2001&license=viewergpl$ + * + * Copyright (c) 2001-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +//----------------------------------------------------------------------------- +// Header Files +//----------------------------------------------------------------------------- +#include "llviewerprecompiledheaders.h" +#include "linden_common.h" + +#include "m3math.h" +#include "v3dmath.h" + +#include "llphysicsmotion.h" +#include "llagent.h" +#include "llcharacter.h" +#include "llviewercontrol.h" +#include "llviewervisualparam.h" +#include "llvoavatarself.h" + +typedef std::map controller_map_t; +typedef std::map default_controller_map_t; + +#define MIN_REQUIRED_PIXEL_AREA_AVATAR_PHYSICS_MOTION 0.f +#define TIME_ITERATION_STEP 0.1f + +inline F64 llsgn(const F64 a) +{ + if (a >= 0) + return 1; + return -1; +} + +/* + At a high level, this works by setting temporary parameters that are not stored + in the avatar's list of params, and are not conveyed to other users. We accomplish + this by creating some new temporary driven params inside avatar_lad that are then driven + by the actual params that the user sees and sets. For example, in the old system, + the user sets a param called breast bouyancy, which controls the Z value of the breasts. + In our new system, the user still sets the breast bouyancy, but that param is redefined + as a driver param so that affects a new temporary driven param that the bounce is applied + to. +*/ + +class LLPhysicsMotion +{ +public: + /* + param_driver_name: The param that controls the params that are being affected by the physics. + joint_name: The joint that the body part is attached to. The joint is + used to determine the orientation (rotation) of the body part. + + character: The avatar that this physics affects. + + motion_direction_vec: The direction (in world coordinates) that determines the + motion. For example, (0,0,1) is up-down, and means that up-down motion is what + determines how this joint moves. + + controllers: The various settings (e.g. spring force, mass) that determine how + the body part behaves. + */ + LLPhysicsMotion(const std::string ¶m_driver_name, + const std::string &joint_name, + LLCharacter *character, + const LLVector3 &motion_direction_vec, + const controller_map_t &controllers) : + mParamDriverName(param_driver_name), + mJointName(joint_name), + mMotionDirectionVec(motion_direction_vec), + mParamDriver(NULL), + mParamControllers(controllers), + mCharacter(character), + mLastTime(0), + mPosition_local(0), + mVelocityJoint_local(0), + mPositionLastUpdate_local(0) + { + mJointState = new LLJointState; + } + + BOOL initialize(); + + ~LLPhysicsMotion() {} + + BOOL onUpdate(F32 time); + + LLPointer getJointState() + { + return mJointState; + } +protected: + F32 getParamValue(const std::string& controller_key) + { + const controller_map_t::const_iterator& entry = mParamControllers.find(controller_key); + if (entry == mParamControllers.end()) + { + return sDefaultController[controller_key]; + } + const std::string& param_name = (*entry).second.c_str(); + return mCharacter->getVisualParamWeight(param_name.c_str()); + } + void setParamValue(LLViewerVisualParam *param, + const F32 new_value_local, + F32 behavior_maxeffect); + + F32 toLocal(const LLVector3 &world); + F32 calculateVelocity_local(); + F32 calculateAcceleration_local(F32 velocity_local); +private: + const std::string mParamDriverName; + const std::string mParamControllerName; + const LLVector3 mMotionDirectionVec; + const std::string mJointName; + + F32 mPosition_local; + F32 mVelocityJoint_local; // How fast the joint is moving + F32 mAccelerationJoint_local; // Acceleration on the joint + + F32 mVelocity_local; // How fast the param is moving + F32 mPositionLastUpdate_local; + LLVector3 mPosition_world; + + LLViewerVisualParam *mParamDriver; + const controller_map_t mParamControllers; + + LLPointer mJointState; + LLCharacter *mCharacter; + + F32 mLastTime; + + static default_controller_map_t sDefaultController; +}; + +default_controller_map_t initDefaultController() +{ + default_controller_map_t controller; + controller["Mass"] = 0.2f; + controller["Gravity"] = 0.0f; + controller["Damping"] = .05f; + controller["Drag"] = 0.15f; + controller["MaxEffect"] = 0.1f; + controller["Spring"] = 0.1f; + controller["Gain"] = 10.0f; + return controller; +} + +default_controller_map_t LLPhysicsMotion::sDefaultController = initDefaultController(); + +BOOL LLPhysicsMotion::initialize() +{ + if (!mJointState->setJoint(mCharacter->getJoint(mJointName.c_str()))) + return FALSE; + mJointState->setUsage(LLJointState::ROT); + + mParamDriver = (LLViewerVisualParam*)mCharacter->getVisualParam(mParamDriverName.c_str()); + if (mParamDriver == NULL) + { + llinfos << "Failure reading in [ " << mParamDriverName << " ]" << llendl; + return FALSE; + } + + return TRUE; +} + +LLPhysicsMotionController::LLPhysicsMotionController(const LLUUID &id) : + LLMotion(id), + mCharacter(NULL) +{ + mName = "breast_motion"; +} + +LLPhysicsMotionController::~LLPhysicsMotionController() +{ + for (motion_vec_t::iterator iter = mMotions.begin(); + iter != mMotions.end(); + ++iter) + { + delete (*iter); + } +} + +BOOL LLPhysicsMotionController::onActivate() +{ + return TRUE; +} + +void LLPhysicsMotionController::onDeactivate() +{ +} + +LLMotion::LLMotionInitStatus LLPhysicsMotionController::onInitialize(LLCharacter *character) +{ + mCharacter = character; + + mMotions.clear(); + + // Breast Cleavage + { + controller_map_t controller; + controller["Mass"] = "Breast_Physics_Mass"; + controller["Gravity"] = "Breast_Physics_Gravity"; + controller["Drag"] = "Breast_Physics_Drag"; + controller["Damping"] = "Breast_Physics_InOut_Damping"; + controller["MaxEffect"] = "Breast_Physics_InOut_Max_Effect"; + controller["Spring"] = "Breast_Physics_InOut_Spring"; + controller["Gain"] = "Breast_Physics_InOut_Gain"; + LLPhysicsMotion *motion = new LLPhysicsMotion("Breast_Physics_InOut_Controller", + "mChest", + character, + LLVector3(-1,0,0), + controller); + if (!motion->initialize()) + { + llassert_always(FALSE); + return STATUS_FAILURE; + } + addMotion(motion); + } + + // Breast Bounce + { + controller_map_t controller; + controller["Mass"] = "Breast_Physics_Mass"; + controller["Gravity"] = "Breast_Physics_Gravity"; + controller["Drag"] = "Breast_Physics_Drag"; + controller["Damping"] = "Breast_Physics_UpDown_Damping"; + controller["MaxEffect"] = "Breast_Physics_UpDown_Max_Effect"; + controller["Spring"] = "Breast_Physics_UpDown_Spring"; + controller["Gain"] = "Breast_Physics_UpDown_Gain"; + LLPhysicsMotion *motion = new LLPhysicsMotion("Breast_Physics_UpDown_Controller", + "mChest", + character, + LLVector3(0,0,1), + controller); + if (!motion->initialize()) + { + llassert_always(FALSE); + return STATUS_FAILURE; + } + addMotion(motion); + } + + // Breast Sway + { + controller_map_t controller; + controller["Mass"] = "Breast_Physics_Mass"; + controller["Gravity"] = "Breast_Physics_Gravity"; + controller["Drag"] = "Breast_Physics_Drag"; + controller["Damping"] = "Breast_Physics_LeftRight_Damping"; + controller["MaxEffect"] = "Breast_Physics_LeftRight_Max_Effect"; + controller["Spring"] = "Breast_Physics_LeftRight_Spring"; + controller["Gain"] = "Breast_Physics_LeftRight_Gain"; + LLPhysicsMotion *motion = new LLPhysicsMotion("Breast_Physics_LeftRight_Controller", + "mChest", + character, + LLVector3(0,-1,0), + controller); + if (!motion->initialize()) + { + llassert_always(FALSE); + return STATUS_FAILURE; + } + addMotion(motion); + } + // Butt Bounce + { + controller_map_t controller; + controller["Mass"] = "Butt_Physics_Mass"; + controller["Gravity"] = "Butt_Physics_Gravity"; + controller["Drag"] = "Butt_Physics_Drag"; + controller["Damping"] = "Butt_Physics_UpDown_Damping"; + controller["MaxEffect"] = "Butt_Physics_UpDown_Max_Effect"; + controller["Spring"] = "Butt_Physics_UpDown_Spring"; + controller["Gain"] = "Butt_Physics_UpDown_Gain"; + LLPhysicsMotion *motion = new LLPhysicsMotion("Butt_Physics_UpDown_Controller", + "mPelvis", + character, + LLVector3(0,0,-1), + controller); + if (!motion->initialize()) + { + llassert_always(FALSE); + return STATUS_FAILURE; + } + addMotion(motion); + } + + // Butt LeftRight + { + controller_map_t controller; + controller["Mass"] = "Butt_Physics_Mass"; + controller["Gravity"] = "Butt_Physics_Gravity"; + controller["Drag"] = "Butt_Physics_Drag"; + controller["Damping"] = "Butt_Physics_LeftRight_Damping"; + controller["MaxEffect"] = "Butt_Physics_LeftRight_Max_Effect"; + controller["Spring"] = "Butt_Physics_LeftRight_Spring"; + controller["Gain"] = "Butt_Physics_LeftRight_Gain"; + LLPhysicsMotion *motion = new LLPhysicsMotion("Butt_Physics_LeftRight_Controller", + "mPelvis", + character, + LLVector3(0,-1,0), + controller); + if (!motion->initialize()) + { + llassert_always(FALSE); + return STATUS_FAILURE; + } + addMotion(motion); + } + + // Belly Bounce + { + controller_map_t controller; + controller["Mass"] = "Belly_Physics_Mass"; + controller["Gravity"] = "Belly_Physics_Gravity"; + controller["Drag"] = "Belly_Physics_Drag"; + controller["Damping"] = "Belly_Physics_UpDown_Damping"; + controller["MaxEffect"] = "Belly_Physics_UpDown_Max_Effect"; + controller["Spring"] = "Belly_Physics_UpDown_Spring"; + controller["Gain"] = "Belly_Physics_UpDown_Gain"; + LLPhysicsMotion *motion = new LLPhysicsMotion("Belly_Physics_UpDown_Controller", + "mPelvis", + character, + LLVector3(0,0,-1), + controller); + if (!motion->initialize()) + { + llassert_always(FALSE); + return STATUS_FAILURE; + } + addMotion(motion); + } + + return STATUS_SUCCESS; +} + +void LLPhysicsMotionController::addMotion(LLPhysicsMotion *motion) +{ + addJointState(motion->getJointState()); + mMotions.push_back(motion); +} + +F32 LLPhysicsMotionController::getMinPixelArea() +{ + return MIN_REQUIRED_PIXEL_AREA_AVATAR_PHYSICS_MOTION; +} + +// Local space means "parameter space". +F32 LLPhysicsMotion::toLocal(const LLVector3 &world) +{ + LLJoint *joint = mJointState->getJoint(); + const LLQuaternion rotation_world = joint->getWorldRotation(); + + LLVector3 dir_world = mMotionDirectionVec * rotation_world; + dir_world.normalize(); + return world * dir_world; +} + +F32 LLPhysicsMotion::calculateVelocity_local() +{ + const F32 world_to_model_scale = 100.0f; + LLJoint *joint = mJointState->getJoint(); + const LLVector3 position_world = joint->getWorldPosition(); + const LLQuaternion rotation_world = joint->getWorldRotation(); + const LLVector3 last_position_world = mPosition_world; + const LLVector3 positionchange_world = (position_world-last_position_world) * world_to_model_scale; + const LLVector3 velocity_world = positionchange_world; + const F32 velocity_local = toLocal(velocity_world); + return velocity_local; +} + +F32 LLPhysicsMotion::calculateAcceleration_local(const F32 velocity_local) +{ +// const F32 smoothing = getParamValue("Smoothing"); + static const F32 smoothing = 3.0f; // Removed smoothing param since it's probably not necessary + const F32 acceleration_local = velocity_local - mVelocityJoint_local; + + const F32 smoothed_acceleration_local = + acceleration_local * 1.0/smoothing + + mAccelerationJoint_local * (smoothing-1.0)/smoothing; + + return smoothed_acceleration_local; +} + +BOOL LLPhysicsMotionController::onUpdate(F32 time, U8* joint_mask) +{ + // Skip if disabled globally. + if (!gSavedSettings.getBOOL("AvatarPhysics")) + { + return TRUE; + } + + BOOL update_visuals = FALSE; + for (motion_vec_t::iterator iter = mMotions.begin(); + iter != mMotions.end(); + ++iter) + { + LLPhysicsMotion *motion = (*iter); + update_visuals |= motion->onUpdate(time); + } + + if (update_visuals) + mCharacter->updateVisualParams(); + + return TRUE; +} + + +// Return TRUE if character has to update visual params. +BOOL LLPhysicsMotion::onUpdate(F32 time) +{ + // static FILE *mFileWrite = fopen("c:\\temp\\avatar_data.txt","w"); + + if (!mParamDriver) + return FALSE; + + if (!mLastTime) + { + mLastTime = time; + return FALSE; + } + + //////////////////////////////////////////////////////////////////////////////// + // Get all parameters and settings + // + + const F32 time_delta = time - mLastTime; + + // Don't update too frequently, to avoid precision errors from small time slices. + if (time_delta <= .01) + { + return FALSE; + } + + // If less than 1FPS, we don't want to be spending time updating physics at all. + if (time_delta > 1.0) + { + mLastTime = time; + return FALSE; + } + + // Higher LOD is better. This controls the granularity + // and frequency of updates for the motions. + const F32 lod_factor = LLVOAvatar::sPhysicsLODFactor; + if (lod_factor == 0) + { + return TRUE; + } + + LLJoint *joint = mJointState->getJoint(); + + const F32 behavior_mass = getParamValue("Mass"); + const F32 behavior_gravity = getParamValue("Gravity"); + const F32 behavior_spring = getParamValue("Spring"); + const F32 behavior_gain = getParamValue("Gain"); + const F32 behavior_damping = getParamValue("Damping"); + const F32 behavior_drag = getParamValue("Drag"); + const BOOL physics_test = FALSE; // Enable this to simulate bouncing on all parts. + + F32 behavior_maxeffect = getParamValue("MaxEffect"); + if (physics_test) + behavior_maxeffect = 1.0f; + + // Normalize the param position to be from [0,1]. + // We have to use normalized values because there may be more than one driven param, + // and each of these driven params may have its own range. + // This means we'll do all our calculations in normalized [0,1] local coordinates. + const F32 position_user_local = (mParamDriver->getWeight() - mParamDriver->getMinWeight()) / (mParamDriver->getMaxWeight() - mParamDriver->getMinWeight()); + + // + // End parameters and settings + //////////////////////////////////////////////////////////////////////////////// + + + //////////////////////////////////////////////////////////////////////////////// + // Calculate velocity and acceleration in parameter space. + // + + //const F32 velocity_joint_local = calculateVelocity_local(time_iteration_step); + const F32 velocity_joint_local = calculateVelocity_local(); + const F32 acceleration_joint_local = calculateAcceleration_local(velocity_joint_local); + + // + // End velocity and acceleration + //////////////////////////////////////////////////////////////////////////////// + + BOOL update_visuals = FALSE; + + // Break up the physics into a bunch of iterations so that differing framerates will show + // roughly the same behavior. + for (F32 time_iteration = 0; time_iteration <= time_delta; time_iteration += TIME_ITERATION_STEP) + { + F32 time_iteration_step = TIME_ITERATION_STEP; + if (time_iteration + TIME_ITERATION_STEP > time_delta) + { + time_iteration_step = time_delta-time_iteration; + } + + // mPositon_local should be in normalized 0,1 range already. Just making sure... + const F32 position_current_local = llclamp(mPosition_local, + 0.0f, + 1.0f); + // If the effect is turned off then don't process unless we need one more update + // to set the position to the default (i.e. user) position. + if ((behavior_maxeffect == 0) && (position_current_local == position_user_local)) + { + return update_visuals; + } + + //////////////////////////////////////////////////////////////////////////////// + // Calculate the total force + // + + // Spring force is a restoring force towards the original user-set breast position. + // F = kx + const F32 spring_length = position_current_local - position_user_local; + const F32 force_spring = -spring_length * behavior_spring; + + // Acceleration is the force that comes from the change in velocity of the torso. + // F = ma + const F32 force_accel = behavior_gain * (acceleration_joint_local * behavior_mass); + + // Gravity always points downward in world space. + // F = mg + const LLVector3 gravity_world(0,0,1); + const F32 force_gravity = (toLocal(gravity_world) * behavior_gravity * behavior_mass); + + // Damping is a restoring force that opposes the current velocity. + // F = -kv + const F32 force_damping = -behavior_damping * mVelocity_local; + + // Drag is a force imparted by velocity (intuitively it is similar to wind resistance) + // F = .5kv^2 + const F32 force_drag = .5*behavior_drag*velocity_joint_local*velocity_joint_local*llsgn(velocity_joint_local); + + const F32 force_net = (force_accel + + force_gravity + + force_spring + + force_damping + + force_drag); + + // + // End total force + //////////////////////////////////////////////////////////////////////////////// + + + //////////////////////////////////////////////////////////////////////////////// + // Calculate new params + // + + // Calculate the new acceleration based on the net force. + // a = F/m + const F32 acceleration_new_local = force_net / behavior_mass; + static const F32 max_velocity = 100.0f; // magic number, used to be customizable. + F32 velocity_new_local = mVelocity_local + acceleration_new_local*time_iteration_step; + velocity_new_local = llclamp(velocity_new_local, + -max_velocity, max_velocity); + + // Temporary debugging setting to cause all avatars to move, for profiling purposes. + if (physics_test) + { + velocity_new_local = sin(time*4.0); + } + // Calculate the new parameters, or remain unchanged if max speed is 0. + F32 position_new_local = position_current_local + velocity_new_local*time_iteration_step; + if (behavior_maxeffect == 0) + position_new_local = position_user_local; + + // Zero out the velocity if the param is being pushed beyond its limits. + if ((position_new_local < 0 && velocity_new_local < 0) || + (position_new_local > 1 && velocity_new_local > 0)) + { + velocity_new_local = 0; + } + + // Check for NaN values. A NaN value is detected if the variables doesn't equal itself. + // If NaN, then reset everything. + if ((mPosition_local != mPosition_local) || + (mVelocity_local != mVelocity_local) || + (position_new_local != position_new_local)) + { + position_new_local = 0; + mVelocity_local = 0; + mVelocityJoint_local = 0; + mAccelerationJoint_local = 0; + mPosition_local = 0; + mPosition_world = LLVector3(0,0,0); + } + + const F32 position_new_local_clamped = llclamp(position_new_local, + 0.0f, + 1.0f); + + LLDriverParam *driver_param = dynamic_cast(mParamDriver); + llassert_always(driver_param); + if (driver_param) + { + // If this is one of our "hidden" driver params, then make sure it's + // the default value. + if ((driver_param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE) && + (driver_param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT)) + { + mCharacter->setVisualParamWeight(driver_param, + 0, + FALSE); + } + for (LLDriverParam::entry_list_t::iterator iter = driver_param->mDriven.begin(); + iter != driver_param->mDriven.end(); + ++iter) + { + LLDrivenEntry &entry = (*iter); + LLViewerVisualParam *driven_param = entry.mParam; + setParamValue(driven_param,position_new_local_clamped, behavior_maxeffect); + } + } + + // + // End calculate new params + //////////////////////////////////////////////////////////////////////////////// + + //////////////////////////////////////////////////////////////////////////////// + // Conditionally update the visual params + // + + // Updating the visual params (i.e. what the user sees) is fairly expensive. + // So only update if the params have changed enough, and also take into account + // the graphics LOD settings. + + // For non-self, if the avatar is small enough visually, then don't update. + const F32 area_for_max_settings = 0.0; + const F32 area_for_min_settings = 1400.0; + const F32 area_for_this_setting = area_for_max_settings + (area_for_min_settings-area_for_max_settings)*(1.0-lod_factor); + const F32 pixel_area = fsqrtf(mCharacter->getPixelArea()); + + const BOOL is_self = (dynamic_cast(mCharacter) != NULL); + if ((pixel_area > area_for_this_setting) || is_self) + { + const F32 position_diff_local = llabs(mPositionLastUpdate_local-position_new_local_clamped); + const F32 min_delta = (1.0001f-lod_factor)*0.4f; + if (llabs(position_diff_local) > min_delta) + { + update_visuals = TRUE; + mPositionLastUpdate_local = position_new_local; + } + } + + // + // End update visual params + //////////////////////////////////////////////////////////////////////////////// + + mVelocity_local = velocity_new_local; + mAccelerationJoint_local = acceleration_joint_local; + mPosition_local = position_new_local; + } + mLastTime = time; + mPosition_world = joint->getWorldPosition(); + mVelocityJoint_local = velocity_joint_local; + + + /* + // Write out debugging info into a spreadsheet. + if (mFileWrite != NULL && is_self) + { + fprintf(mFileWrite,"%f\t%f\t%f \t\t%f \t\t%f\t%f\t%f\t \t\t%f\t%f\t%f\t%f\t%f \t\t%f\t%f\t%f\n", + position_new_local, + velocity_new_local, + acceleration_new_local, + + time_delta, + + mPosition_world[0], + mPosition_world[1], + mPosition_world[2], + + force_net, + force_spring, + force_accel, + force_damping, + force_drag, + + spring_length, + velocity_joint_local, + acceleration_joint_local + ); + } + */ + + return update_visuals; +} + +// Range of new_value_local is assumed to be [0 , 1] normalized. +void LLPhysicsMotion::setParamValue(LLViewerVisualParam *param, + F32 new_value_normalized, + F32 behavior_maxeffect) +{ + const F32 value_min_local = param->getMinWeight(); + const F32 value_max_local = param->getMaxWeight(); + const F32 min_val = 0.5f-behavior_maxeffect/2.0; + const F32 max_val = 0.5f+behavior_maxeffect/2.0; + + // Scale from [0,1] to [min_val,max_val] + const F32 new_value_rescaled = min_val + (max_val-min_val) * new_value_normalized; + + // Scale from [0,1] to [value_min_local,value_max_local] + const F32 new_value_local = value_min_local + (value_max_local-value_min_local) * new_value_rescaled; + + mCharacter->setVisualParamWeight(param, + new_value_local, + FALSE); +} -- cgit v1.2.3 From a53043e8e2535dbb82c5672259a878664f5036ce Mon Sep 17 00:00:00 2001 From: callum Date: Fri, 22 Apr 2011 12:05:30 -0700 Subject: EXP-738 FIX Login screen background image takes too long to load Misc improvements to make the login page load properly. --- indra/newview/llmediactrl.cpp | 20 ++--- indra/newview/llpanellogin.cpp | 170 +++-------------------------------------- indra/newview/llpanellogin.h | 2 - 3 files changed, 15 insertions(+), 177 deletions(-) diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp index 5007f1c17a..b3ad9efeb2 100644 --- a/indra/newview/llmediactrl.cpp +++ b/indra/newview/llmediactrl.cpp @@ -68,7 +68,6 @@ LLMediaCtrl::Params::Params() : start_url("start_url"), border_visible("border_visible", true), ignore_ui_scale("ignore_ui_scale", true), - hide_loading("hide_loading", false), decouple_texture_size("decouple_texture_size", false), texture_width("texture_width", 1024), texture_height("texture_height", 1024), @@ -97,8 +96,6 @@ LLMediaCtrl::LLMediaCtrl( const Params& p) : mCurrentNavUrl( "" ), mStretchToFill( true ), mMaintainAspectRatio ( true ), - mHideLoading (false), - mHidingInitialLoad (false), mDecoupleTextureSize ( false ), mTextureWidth ( 1024 ), mTextureHeight ( 1024 ), @@ -121,8 +118,6 @@ LLMediaCtrl::LLMediaCtrl( const Params& p) : setBorderVisible(p.border_visible); - mHideLoading = p.hide_loading; - setDecoupleTextureSize(p.decouple_texture_size); setTextureSize(p.texture_width, p.texture_height); @@ -684,11 +679,6 @@ bool LLMediaCtrl::ensureMediaSourceExists() mMediaSource->clearCache(); mClearCache = false; } - - if(mHideLoading) - { - mHidingInitialLoad = true; - } } else { @@ -756,11 +746,11 @@ void LLMediaCtrl::draw() } } - if(mHidingInitialLoad) - { - // If we're hiding loading, don't draw at all. - draw_media = false; - } +// if(mHidingInitialLoad) +// { +// // If we're hiding loading, don't draw at all. +// draw_media = false; +// } bool background_visible = isBackgroundVisible(); bool background_opaque = isBackgroundOpaque(); diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 7820ac3ecd..a5385b0b1c 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -81,7 +81,6 @@ const S32 MAX_PASSWORD = 16; LLPanelLogin *LLPanelLogin::sInstance = NULL; BOOL LLPanelLogin::sCapslockDidNotification = FALSE; - class LLLoginRefreshHandler : public LLCommandHandler { public: @@ -97,58 +96,6 @@ public: } }; -LLLoginRefreshHandler gLoginRefreshHandler; - - -// helper class that trys to download a URL from a web site and calls a method -// on parent class indicating if the web server is working or not -class LLIamHereLogin : public LLHTTPClient::Responder -{ - private: - LLIamHereLogin( LLPanelLogin* parent ) : - mParent( parent ) - {} - - LLPanelLogin* mParent; - - public: - static boost::intrusive_ptr< LLIamHereLogin > build( LLPanelLogin* parent ) - { - return boost::intrusive_ptr< LLIamHereLogin >( new LLIamHereLogin( parent ) ); - }; - - virtual void setParent( LLPanelLogin* parentIn ) - { - mParent = parentIn; - }; - - // We don't actually expect LLSD back, so need to override completedRaw - virtual void completedRaw(U32 status, const std::string& reason, - const LLChannelDescriptors& channels, - const LLIOPipe::buffer_ptr_t& buffer) - { - completed(status, reason, LLSD()); // will call result() or error() - } - - virtual void result( const LLSD& content ) - { - if ( mParent ) - mParent->setSiteIsAlive( true ); - }; - - virtual void error( U32 status, const std::string& reason ) - { - if ( mParent ) - mParent->setSiteIsAlive( false ); - }; -}; - -// this is global and not a class member to keep crud out of the header file -namespace { - boost::intrusive_ptr< LLIamHereLogin > gResponsePtr = 0; -}; - - //--------------------------------------------------------------------------- // Public methods //--------------------------------------------------------------------------- @@ -160,7 +107,6 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, mLogoImage(), mCallback(callback), mCallbackData(cb_data), - mHtmlAvailable( TRUE ), mListener(new LLPanelLoginListener(this)) { setBackgroundVisible(FALSE); @@ -190,21 +136,11 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, buildFromFile( "panel_login.xml"); - // Legacy login web page is hidden under the menu bar. - // Adjust reg-in-client web browser widget to not be hidden. - if (gSavedSettings.getBOOL("RegInClient")) - { - reshape(rect.getWidth(), rect.getHeight() - MENU_BAR_HEIGHT); - } - else - { - reshape(rect.getWidth(), rect.getHeight()); - } + reshape(rect.getWidth(), rect.getHeight()); getChild("password_edit")->setKeystrokeCallback(onPassKey, this); // change z sort of clickable text to be behind buttons - //sendChildToBack(getChildView("channel_text")); sendChildToBack(getChildView("forgot_password_text")); if(LLStartUp::getStartSLURL().getType() != LLSLURL::LOCATION) @@ -249,16 +185,10 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, LLMediaCtrl* web_browser = getChild("login_html"); web_browser->addObserver(this); - // Clear the browser's cache to avoid any potential for the cache messing up the login screen. - web_browser->clearCache(); - reshapeBrowser(); - // kick off a request to grab the url manually - gResponsePtr = LLIamHereLogin::build( this ); - - LLHTTPClient::head( LLGridManager::getInstance()->getLoginPage(), gResponsePtr ); - + loadLoginPage(); + // Show last logged in user favorites in "Start at" combo. addUsersWithFavoritesToUsername(); getChild("username_combo")->setTextChangedCallback(boost::bind(&LLPanelLogin::addFavoritesToStartLocation, this)); @@ -334,46 +264,10 @@ void LLPanelLogin::reshapeBrowser() reshape( rect.getWidth(), rect.getHeight(), 1 ); } -void LLPanelLogin::setSiteIsAlive( bool alive ) -{ - LLMediaCtrl* web_browser = getChild("login_html"); - // if the contents of the site was retrieved - if ( alive ) - { - if ( web_browser ) - { - loadLoginPage(); - - // mark as available - mHtmlAvailable = TRUE; - } - } - else - // the site is not available (missing page, server down, other badness) - { - if ( web_browser ) - { - // hide browser control (revealing default one) - web_browser->setVisible( FALSE ); - - // mark as unavailable - mHtmlAvailable = FALSE; - } - } -} - - LLPanelLogin::~LLPanelLogin() { LLPanelLogin::sInstance = NULL; - // tell the responder we're not here anymore - if ( gResponsePtr ) - gResponsePtr->setParent( 0 ); - - //// We know we're done with the image, so be rid of it. - //gTextureList.deleteImage( mLogoImage ); - // Controls having keyboard focus by default // must reset it on destroy. (EXT-2748) gFocusMgr.setDefaultKeyboardFocus(NULL); @@ -396,22 +290,13 @@ void LLPanelLogin::draw() S32 width = getRect().getWidth(); S32 height = getRect().getHeight(); - if ( mHtmlAvailable ) - { - if (getChild("login_widgets")->getVisible()) - { - // draw a background box in black - gl_rect_2d( 0, height - 264, width, 264, LLColor4::black ); - // draw the bottom part of the background image - // just the blue background to the native client UI - mLogoImage->draw(0, -264, width + 8, mLogoImage->getHeight()); - } - } - else + if (getChild("login_widgets")->getVisible()) { - // the HTML login page is not available so default to the original screen - S32 offscreen_part = height / 3; - mLogoImage->draw(0, -offscreen_part, width, height+offscreen_part); + // draw a background box in black + gl_rect_2d( 0, height - 264, width, 264, LLColor4::black ); + // draw the bottom part of the background image + // just the blue background to the native client UI + mLogoImage->draw(0, -264, width + 8, mLogoImage->getHeight()); }; } glPopMatrix(); @@ -870,23 +755,10 @@ void LLPanelLogin::loadLoginPage() oStr << "&os=" << os_info; curl_free(os_info); - gViewerWindow->setMenuBackgroundColor(false, !LLGridManager::getInstance()->isInProductionGrid()); - gLoginMenuBarView->setBackgroundColor(gMenuBarView->getBackgroundColor()); LLMediaCtrl* web_browser = sInstance->getChild("login_html"); - - // navigate to the "real" page - if (gSavedSettings.getBOOL("RegInClient")) - { - web_browser->setFocus(TRUE); - login_page = sInstance->getString("reg_in_client_url"); - web_browser->navigateTo(login_page, "text/html"); - } - else - { - web_browser->navigateTo( oStr.str(), "text/html" ); - } + web_browser->navigateTo( oStr.str(), "text/html" ); } void LLPanelLogin::handleMediaEvent(LLPluginClassMedia* /*self*/, EMediaEvent event) @@ -917,10 +789,6 @@ void LLPanelLogin::onClickConnect(void *) { if (sInstance && sInstance->mCallback) { - // tell the responder we're not here anymore - if ( gResponsePtr ) - gResponsePtr->setParent( 0 ); - // JC - Make sure the fields all get committed. sInstance->setFocus(FALSE); @@ -988,24 +856,6 @@ void LLPanelLogin::onClickConnect(void *) } } -/* -// static -bool LLPanelLogin::newAccountAlertCallback(const LLSD& notification, const LLSD& response) -{ - S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - if (0 == option) - { - llinfos << "Going to account creation URL" << llendl; - LLWeb::loadURLExternal( LLNotifications::instance().getGlobalString("CREATE_ACCOUNT_URL")); - } - else - { - sInstance->setFocus(TRUE); - } - return false; -} -*/ - // static void LLPanelLogin::onClickNewAccount(void*) { diff --git a/indra/newview/llpanellogin.h b/indra/newview/llpanellogin.h index 9cc5e3456a..11273453ba 100644 --- a/indra/newview/llpanellogin.h +++ b/indra/newview/llpanellogin.h @@ -89,7 +89,6 @@ private: void addUsersWithFavoritesToUsername(); static void onClickConnect(void*); static void onClickNewAccount(void*); -// static bool newAccountAlertCallback(const LLSD& notification, const LLSD& response); static void onClickVersion(void*); static void onClickForgotPassword(void*); static void onClickHelp(void*); @@ -114,7 +113,6 @@ private: static LLPanelLogin* sInstance; static BOOL sCapslockDidNotification; - BOOL mHtmlAvailable; }; std::string load_password_from_disk(void); -- cgit v1.2.3 From 368173b7d602aa1d790a4510c4bf9e6d9e102d1d Mon Sep 17 00:00:00 2001 From: Leyla Farazha Date: Fri, 22 Apr 2011 18:52:22 -0700 Subject: EXP-749 [REGRESSION] Voice status indicator shown in IM session instead of profile pic in Basic and Advanced modes --- indra/newview/llchiclet.cpp | 3 ++- indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp index 885d553524..277fc9d7b9 100644 --- a/indra/newview/llchiclet.cpp +++ b/indra/newview/llchiclet.cpp @@ -483,8 +483,9 @@ void LLIMChiclet::setShowSpeaker(bool show) if(needs_resize) { mShowSpeaker = show; - toggleSpeakerControl(); } + + toggleSpeakerControl(); } void LLIMChiclet::enableCounterControl(bool enable) diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml index 99807d4717..d27c14f4e7 100644 --- a/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml +++ b/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml @@ -21,6 +21,7 @@ width="20" /> Date: Mon, 25 Apr 2011 11:56:17 -0400 Subject: Added tag DRTVWR-50_2.6.5-beta1, 2.6.5-beta1 for changeset 7db558aaa7c1 --- .hgtags | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgtags b/.hgtags index ec1576c43c..74e1eb4e68 100644 --- a/.hgtags +++ b/.hgtags @@ -106,3 +106,5 @@ d7fcefabdf32bb61a9ea6d6037c1bb26190a85bc 2.6.3-beta1 74cd32a06837b0c2cb793b2e8d4d82f5d49462b2 2.6.4-start 74cd32a06837b0c2cb793b2e8d4d82f5d49462b2 2.6.4-start f632f87bb71b0f13d21f2f64b0c42cedb008c749 2.6.4-start +7db558aaa7c176f2022b3e9cfe38ac72f6d1fccd DRTVWR-50_2.6.5-beta1 +7db558aaa7c176f2022b3e9cfe38ac72f6d1fccd 2.6.5-beta1 -- cgit v1.2.3 From 36f8899861b4f6ad75485cc26e7493689aa53acc Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Mon, 25 Apr 2011 17:31:04 -0700 Subject: EXP-637 FIX -- As a new user, I would like Second Life to start up with a maximized window to fully immerse myself in the experience Mac viewer now properly supports the calls to maximize and unmaximize the screen. Reviewed by Callum --- indra/llwindow/llwindowmacosx.cpp | 101 +++++++++++++++++++++++++------------- indra/llwindow/llwindowmacosx.h | 3 +- 2 files changed, 69 insertions(+), 35 deletions(-) diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp index affd7276cc..447e3661db 100644 --- a/indra/llwindow/llwindowmacosx.cpp +++ b/indra/llwindow/llwindowmacosx.cpp @@ -108,9 +108,6 @@ static long getDictLong (CFDictionaryRef refDict, CFStringRef key); static EventTypeSpec WindowHandlerEventList[] = { // Window-related events - // { kEventClassWindow, kEventWindowCollapsing }, - // { kEventClassWindow, kEventWindowCollapsed }, - // { kEventClassWindow, kEventWindowShown }, { kEventClassWindow, kEventWindowActivated }, { kEventClassWindow, kEventWindowDeactivated }, { kEventClassWindow, kEventWindowShown }, @@ -121,8 +118,7 @@ static EventTypeSpec WindowHandlerEventList[] = { kEventClassWindow, kEventWindowClose }, { kEventClassWindow, kEventWindowBoundsChanging }, { kEventClassWindow, kEventWindowBoundsChanged }, - // { kEventClassWindow, kEventWindowZoomed }, - // { kEventClassWindow, kEventWindowDrawContent }, + { kEventClassWindow, kEventWindowGetIdealSize }, // Mouse events { kEventClassMouse, kEventMouseDown }, @@ -248,6 +244,7 @@ LLWindowMacOSX::LLWindowMacOSX(LLWindowCallbacks* callbacks, mCursorIgnoreNextDelta = FALSE; mNeedsResize = FALSE; mOverrideAspectRatio = 0.f; + mMaximized = FALSE; mMinimized = FALSE; mTSMDocument = NULL; // Just in case. mLanguageTextInputAllowed = FALSE; @@ -455,24 +452,23 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits if(!mFullscreen && (mWindow == NULL)) { - Rect window_rect; //int displayWidth = CGDisplayPixelsWide(mDisplay); //int displayHeight = CGDisplayPixelsHigh(mDisplay); //const int menuBarPlusTitleBar = 44; // Ugly magic number. LL_DEBUGS("Window") << "createContext: creating window" << LL_ENDL; - window_rect.left = (long) x; - window_rect.right = (long) x + width; - window_rect.top = (long) y; - window_rect.bottom = (long) y + height; + mPreviousWindowRect.left = (long) x; + mPreviousWindowRect.right = (long) x + width; + mPreviousWindowRect.top = (long) y; + mPreviousWindowRect.bottom = (long) y + height; //----------------------------------------------------------------------- // Create the window //----------------------------------------------------------------------- mWindow = NewCWindow( NULL, - &window_rect, + &mPreviousWindowRect, mWindowTitle, false, // Create the window invisible. Whoever calls createContext() should show it after any moving/resizing. // noGrowDocProc, // Window with no grow box and no zoom box @@ -481,8 +477,7 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits kFirstWindowOfClass, true, (long)this); - - + if (!mWindow) { setupFailure("Window creation error", "Error", OSMB_OK); @@ -1093,31 +1088,22 @@ BOOL LLWindowMacOSX::getVisible() BOOL LLWindowMacOSX::getMinimized() { - BOOL result = FALSE; - - // Since the set of states where we want to act "minimized" is non-trivial, it's easier to - // track things locally than to try and retrieve the state from the window manager. - result = mMinimized; - - return(result); + return mMinimized; } BOOL LLWindowMacOSX::getMaximized() { - BOOL result = FALSE; - - if (mWindow) - { - // TODO - } - - return(result); + return mMaximized; } BOOL LLWindowMacOSX::maximize() { - // TODO - return FALSE; + if (mWindow && !mMaximized) + { + ZoomWindow(mWindow, inContent, true); + } + + return mMaximized; } BOOL LLWindowMacOSX::getFullscreen() @@ -2559,7 +2545,24 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e GetEventParameter(event, kEventParamCurrentBounds, typeQDRectangle, NULL, sizeof(Rect), NULL, ¤tBounds); GetEventParameter(event, kEventParamPreviousBounds, typeQDRectangle, NULL, sizeof(Rect), NULL, &previousBounds); - + + // Put an offset into window un-maximize operation since the kEventWindowGetIdealSize + // event only allows the specification of size and not position. + if (mMaximized) + { + short leftOffset = mPreviousWindowRect.left - currentBounds.left; + currentBounds.left += leftOffset; + currentBounds.right += leftOffset; + + short topOffset = mPreviousWindowRect.top - currentBounds.top; + currentBounds.top += topOffset; + currentBounds.bottom += topOffset; + } + else + { + // Store off the size for future un-maximize operations + mPreviousWindowRect = previousBounds; + } if ((currentBounds.right - currentBounds.left) < MIN_WIDTH) { @@ -2578,13 +2581,43 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e case kEventWindowBoundsChanged: { + // Get new window bounds Rect newBounds; - GetEventParameter(event, kEventParamCurrentBounds, typeQDRectangle, NULL, sizeof(Rect), NULL, &newBounds); + + // Get previous window bounds + Rect oldBounds; + GetEventParameter(event, kEventParamPreviousBounds, typeQDRectangle, NULL, sizeof(Rect), NULL, &oldBounds); + + // Determine if the new size is larger than the old + bool newBoundsLarger = ((newBounds.right - newBounds.left) >= (oldBounds.right - oldBounds.left)); + newBoundsLarger &= ((newBounds.bottom - newBounds.top) >= (oldBounds.bottom - oldBounds.top)); + + // Check to see if this is a zoom event (+ button on window pane) + unsigned int eventParams; + GetEventParameter(event, kEventParamAttributes, typeUInt32, NULL, sizeof(int), NULL, &eventParams); + bool isZoomEvent = ((eventParams & kWindowBoundsChangeZoom) != 0); + + // Maximized flag is if zoom event and increasing window size + mMaximized = (isZoomEvent && newBoundsLarger); + aglUpdateContext(mContext); + mCallbacks->handleResize(this, newBounds.right - newBounds.left, newBounds.bottom - newBounds.top); - - + } + break; + + case kEventWindowGetIdealSize: + // Only recommend a new ideal size when un-maximizing + if (mMaximized == TRUE) + { + Point nonMaximizedSize; + + nonMaximizedSize.v = mPreviousWindowRect.bottom - mPreviousWindowRect.top; + nonMaximizedSize.h = mPreviousWindowRect.right - mPreviousWindowRect.left; + + SetEventParameter(event, kEventParamDimensions, typeQDPoint, sizeof(Point), &nonMaximizedSize); + result = noErr; } break; diff --git a/indra/llwindow/llwindowmacosx.h b/indra/llwindow/llwindowmacosx.h index 6dc093b4be..6c9e075a21 100644 --- a/indra/llwindow/llwindowmacosx.h +++ b/indra/llwindow/llwindowmacosx.h @@ -156,7 +156,6 @@ protected: static pascal Boolean staticMoveEventComparator( EventRef event, void* data); OSStatus eventHandler (EventHandlerCallRef myHandler, EventRef event); void adjustCursorDecouple(bool warpingMouse = false); - void fixWindowSize(void); void stopDockTileBounce(); static MASK modifiersToMask(SInt16 modifiers); @@ -182,6 +181,7 @@ protected: EventComparatorUPP mMoveEventCampartorUPP; Rect mOldMouseClip; // Screen rect to which the mouse cursor was globally constrained before we changed it in clipMouse() + Rect mPreviousWindowRect; // Save previous window for un-maximize event Str255 mWindowTitle; double mOriginalAspectRatio; BOOL mSimulatedRightClick; @@ -195,6 +195,7 @@ protected: BOOL mNeedsResize; // Constructor figured out the window is too big, it needs a resize. LLCoordScreen mNeedsResizeSize; F32 mOverrideAspectRatio; + BOOL mMaximized; BOOL mMinimized; U32 mFSAASamples; BOOL mForceRebuild; -- cgit v1.2.3 From 1ef083244ad8cc603b50c1d737d8efb4ed14bb17 Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Mon, 25 Apr 2011 22:37:15 -0700 Subject: EXP-664 : Add JPEG2000 compression settings for test, fix one crash on compression, enhanced error handling on image upload --- indra/newview/app_settings/settings.xml | 33 +++++++++++++++++++++++++++++++++ indra/newview/llviewertexturelist.cpp | 31 ++++++++++++++++++++++++++++++- 2 files changed, 63 insertions(+), 1 deletion(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index f2a0e5ac19..24c495a0ef 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -4295,6 +4295,39 @@ Value 0.25 + Jpeg2000AdvancedCompression + + Comment + Use advanced Jpeg2000 compression options (precincts, blocks, ordering, markers) + Persist + 1 + Type + Boolean + Value + 0 + + Jpeg2000PrecinctsSize + + Comment + Size of image precincts. Assumed square and same for all levels. Must be power of 2. + Persist + 1 + Type + S32 + Value + 256 + + Jpeg2000BlocksSize + + Comment + Size of encoding blocks. Assumed square and same for all levels. Must be power of 2. Max 64, Min 4. + Persist + 1 + Type + S32 + Value + 64 + KeepAspectForSnapshot Comment diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index 5afed721ac..182cba0e8c 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -932,16 +932,19 @@ BOOL LLViewerTextureList::createUploadFile(const std::string& filename, LLPointer image = LLImageFormatted::createFromType(codec); if (image.isNull()) { + image->setLastError("Couldn't open the image to be uploaded."); return FALSE; } if (!image->load(filename)) { + image->setLastError("Couldn't load the image to be uploaded."); return FALSE; } // Decompress or expand it in a raw image structure LLPointer raw_image = new LLImageRaw; if (!image->decode(raw_image, 0.0f)) { + image->setLastError("Couldn't decode the image to be uploaded."); return FALSE; } // Check the image constraints @@ -952,8 +955,15 @@ BOOL LLViewerTextureList::createUploadFile(const std::string& filename, } // Convert to j2c (JPEG2000) and save the file locally LLPointer compressedImage = convertToUploadFile(raw_image); + if (compressedImage.isNull()) + { + image->setLastError("Couldn't convert the image to jpeg2000."); + llinfos << "Couldn't convert to j2c, file : " << filename << llendl; + return FALSE; + } if (!compressedImage->save(out_filename)) { + image->setLastError("Couldn't create the jpeg2000 image for upload."); llinfos << "Couldn't create output file : " << out_filename << llendl; return FALSE; } @@ -961,6 +971,7 @@ BOOL LLViewerTextureList::createUploadFile(const std::string& filename, LLPointer integrity_test = new LLImageJ2C; if (!integrity_test->loadAndValidate( out_filename )) { + image->setLastError("The created jpeg2000 image is corrupt."); llinfos << "Image file : " << out_filename << " is corrupt" << llendl; return FALSE; } @@ -978,7 +989,25 @@ LLPointer LLViewerTextureList::convertToUploadFile(LLPointergetWidth() * raw_image->getHeight() <= LL_IMAGE_REZ_LOSSLESS_CUTOFF * LL_IMAGE_REZ_LOSSLESS_CUTOFF)) compressedImage->setReversible(TRUE); - compressedImage->encode(raw_image, 0.0f); + + if (gSavedSettings.getBOOL("Jpeg2000AdvancedCompression")) + { + // This test option will create jpeg2000 images with precincts for each level, RPCL ordering + // and PLT markers. The block size is also optionally modifiable. + // Note: the images hence created are compatible with older versions of the viewer. + // Read the blocks and precincts size settings + S32 block_size = gSavedSettings.getS32("Jpeg2000BlocksSize"); + S32 precinct_size = gSavedSettings.getS32("Jpeg2000PrecinctsSize"); + llinfos << "Advanced JPEG2000 Compression: precinct = " << precinct_size << ", block = " << block_size << llendl; + compressedImage->initEncode(*raw_image, block_size, precinct_size); + } + + if (!compressedImage->encode(raw_image, 0.0f)) + { + llinfos << "convertToUploadFile : encode returns with error!!" << llendl; + // Clear up the pointer so we don't leak that one + compressedImage = NULL; + } return compressedImage; } -- cgit v1.2.3 From d952f97459a04d64b698380b777406f1644f9bb2 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Tue, 26 Apr 2011 14:02:41 -0700 Subject: EXP-752 FIX -- When "View Display Names" is disabled, only my own profile loads, when I click others profiles Avatar username is now looked up in the name cache when it is blank, which happens when display names are turned off apparently. Reviewed by Fredrik. --- indra/newview/llavataractions.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index ca7ec7cc30..cbbdcb2983 100644 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -302,8 +302,14 @@ void LLAvatarActions::startConference(const uuid_vec_t& ids) static void on_avatar_name_show_profile(const LLUUID& agent_id, const LLAvatarName& av_name) { - llinfos << "opening web profile for " << av_name.mUsername << llendl; - std::string url = getProfileURL(av_name.mUsername); + std::string username = av_name.mUsername; + if (username.empty()) + { + username = LLCacheName::buildUsername(av_name.mDisplayName); + } + + llinfos << "opening web profile for " << username << llendl; + std::string url = getProfileURL(username); // PROFILES: open in webkit window LLWeb::loadWebURLInternal(url, "", agent_id.asString()); -- cgit v1.2.3 From f7bd5b98949fc72ac1fd4b97ecd4907e14c04315 Mon Sep 17 00:00:00 2001 From: Leslie Linden Date: Tue, 26 Apr 2011 14:02:41 -0700 Subject: EXP-752 FIX -- When "View Display Names" is disabled, only my own profile loads, when I click others profiles Avatar username is now looked up in the name cache when it is blank, which happens when display names are turned off apparently. Reviewed by Fredrik. --- indra/newview/llavataractions.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index ca7ec7cc30..cbbdcb2983 100644 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -302,8 +302,14 @@ void LLAvatarActions::startConference(const uuid_vec_t& ids) static void on_avatar_name_show_profile(const LLUUID& agent_id, const LLAvatarName& av_name) { - llinfos << "opening web profile for " << av_name.mUsername << llendl; - std::string url = getProfileURL(av_name.mUsername); + std::string username = av_name.mUsername; + if (username.empty()) + { + username = LLCacheName::buildUsername(av_name.mDisplayName); + } + + llinfos << "opening web profile for " << username << llendl; + std::string url = getProfileURL(username); // PROFILES: open in webkit window LLWeb::loadWebURLInternal(url, "", agent_id.asString()); -- cgit v1.2.3 From 4bc90f24b3ced350ed44ca782f876af19af83c41 Mon Sep 17 00:00:00 2001 From: brad kittenbrink Date: Tue, 26 Apr 2011 14:58:58 -0700 Subject: FIX VWR-25608 error on shutdow due to buffer overflow in LLVFS::audit --- indra/llvfs/llvfs.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/indra/llvfs/llvfs.cpp b/indra/llvfs/llvfs.cpp index c1fe21c57d..82166d3e56 100644 --- a/indra/llvfs/llvfs.cpp +++ b/indra/llvfs/llvfs.cpp @@ -26,6 +26,8 @@ #include "linden_common.h" +#include "llvfs.h" + #include #include #include @@ -39,8 +41,6 @@ #include #endif -#include "llvfs.h" - #include "llstl.h" #include "lltimer.h" @@ -1711,7 +1711,8 @@ void LLVFS::audit() BOOL vfs_corrupt = FALSE; - std::vector buffer(index_size); + // since we take the address of element 0, we need to have at least one element. + std::vector buffer(llmax(index_size,1U)); if (fread(&buffer[0], 1, index_size, mIndexFP) != index_size) { -- cgit v1.2.3 From d4b9db012e2b5195759f694792c392770112b42d Mon Sep 17 00:00:00 2001 From: brad kittenbrink Date: Tue, 26 Apr 2011 15:04:22 -0700 Subject: FIX VWR-25609: crash on shutdown in LLGLNamePool::sInstances destructor --- indra/llrender/llgl.cpp | 29 ++++++++--------------------- indra/llrender/llgl.h | 7 ++++--- indra/llrender/llvertexbuffer.cpp | 4 ---- indra/newview/llspatialpartition.cpp | 2 -- 4 files changed, 12 insertions(+), 30 deletions(-) diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp index c86c89fa9b..b1a4051e96 100644 --- a/indra/llrender/llgl.cpp +++ b/indra/llrender/llgl.cpp @@ -105,7 +105,6 @@ LLMatrix4 gGLObliqueProjectionInverse; #define LL_GL_NAME_POOLING 0 -LLGLNamePool::pool_list_t LLGLNamePool::sInstances; std::list LLGLUpdate::sGLQ; #if (LL_WINDOWS || LL_LINUX || LL_SOLARIS) && !LL_MESA_HEADLESS @@ -1920,22 +1919,8 @@ LLGLNamePool::LLGLNamePool() { } -void LLGLNamePool::registerPool(LLGLNamePool* pool) -{ - pool_list_t::iterator iter = std::find(sInstances.begin(), sInstances.end(), pool); - if (iter == sInstances.end()) - { - sInstances.push_back(pool); - } -} - LLGLNamePool::~LLGLNamePool() { - pool_list_t::iterator iter = std::find(sInstances.begin(), sInstances.end(), this); - if (iter != sInstances.end()) - { - sInstances.erase(iter); - } } void LLGLNamePool::upkeep() @@ -2004,20 +1989,22 @@ void LLGLNamePool::release(GLuint name) void LLGLNamePool::upkeepPools() { LLMemType mt(LLMemType::MTYPE_UPKEEP_POOLS); - for (pool_list_t::iterator iter = sInstances.begin(); iter != sInstances.end(); ++iter) + tracker_t::LLInstanceTrackerScopedGuard guard; + for (tracker_t::instance_iter iter = guard.beginInstances(); iter != guard.endInstances(); ++iter) { - LLGLNamePool* pool = *iter; - pool->upkeep(); + LLGLNamePool & pool = *iter; + pool.upkeep(); } } //static void LLGLNamePool::cleanupPools() { - for (pool_list_t::iterator iter = sInstances.begin(); iter != sInstances.end(); ++iter) + tracker_t::LLInstanceTrackerScopedGuard guard; + for (tracker_t::instance_iter iter = guard.beginInstances(); iter != guard.endInstances(); ++iter) { - LLGLNamePool* pool = *iter; - pool->cleanup(); + LLGLNamePool & pool = *iter; + pool.cleanup(); } } diff --git a/indra/llrender/llgl.h b/indra/llrender/llgl.h index 684fd50883..51b0a1e45f 100644 --- a/indra/llrender/llgl.h +++ b/indra/llrender/llgl.h @@ -40,6 +40,7 @@ #include "v4math.h" #include "llplane.h" #include "llgltypes.h" +#include "llinstancetracker.h" #include "llglheaders.h" #include "glh/glh_linear.h" @@ -328,9 +329,11 @@ public: Generic pooling scheme for things which use GL names (used for occlusion queries and vertex buffer objects). Prevents thrashing of GL name caches by avoiding calls to glGenFoo and glDeleteFoo. */ -class LLGLNamePool +class LLGLNamePool : public LLInstanceTracker { public: + typedef LLInstanceTracker tracker_t; + struct NameEntry { GLuint name; @@ -357,13 +360,11 @@ public: GLuint allocate(); void release(GLuint name); - static void registerPool(LLGLNamePool* pool); static void upkeepPools(); static void cleanupPools(); protected: typedef std::vector pool_list_t; - static pool_list_t sInstances; virtual GLuint allocateName() = 0; virtual void releaseName(GLuint name) = 0; diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp index 1beb74eca6..1a5a4f734d 100644 --- a/indra/llrender/llvertexbuffer.cpp +++ b/indra/llrender/llvertexbuffer.cpp @@ -323,10 +323,6 @@ void LLVertexBuffer::initClass(bool use_vbo, bool no_vbo_mapping) } sDisableVBOMapping = sEnableVBOs && no_vbo_mapping ; - LLGLNamePool::registerPool(&sDynamicVBOPool); - LLGLNamePool::registerPool(&sDynamicIBOPool); - LLGLNamePool::registerPool(&sStreamVBOPool); - LLGLNamePool::registerPool(&sStreamIBOPool); } //static diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp index 8adb8c30e0..94784f3f49 100644 --- a/indra/newview/llspatialpartition.cpp +++ b/indra/newview/llspatialpartition.cpp @@ -1635,8 +1635,6 @@ LLSpatialPartition::LLSpatialPartition(U32 data_mask, BOOL render_by_group, U32 mSlopRatio = 0.25f; mInfiniteFarClip = FALSE; - LLGLNamePool::registerPool(&sQueryPool); - mOctree = new LLSpatialGroup::OctreeRoot(LLVector3d(0,0,0), LLVector3d(1,1,1), NULL); -- cgit v1.2.3 From 2840bff7734fc7888da804d7aad4e9f252f33872 Mon Sep 17 00:00:00 2001 From: brad kittenbrink Date: Tue, 26 Apr 2011 15:10:39 -0700 Subject: FIX VWR-25610: LLControlCroup::loadFromFile makes unnecessary copies of large LLSD objects. --- indra/llxml/llcontrol.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/indra/llxml/llcontrol.cpp b/indra/llxml/llcontrol.cpp index 6e4364a20d..a604c1e631 100644 --- a/indra/llxml/llcontrol.cpp +++ b/indra/llxml/llcontrol.cpp @@ -839,7 +839,6 @@ U32 LLControlGroup::loadFromFile(const std::string& filename, bool set_default_v { std::string name; LLSD settings; - LLSD control_map; llifstream infile; infile.open(filename); if(!infile.is_open()) @@ -864,7 +863,7 @@ U32 LLControlGroup::loadFromFile(const std::string& filename, bool set_default_v { bool persist = true; name = (*itr).first; - control_map = (*itr).second; + LLSD const & control_map = (*itr).second; if(control_map.has("Persist")) { -- cgit v1.2.3 From f4540fab4887f6fe54ed6472c4b2458e3ac745d5 Mon Sep 17 00:00:00 2001 From: brad kittenbrink Date: Tue, 26 Apr 2011 17:06:04 -0700 Subject: FIX CHOP-629: Enabled debugging info for llcommon.dll --- indra/llcommon/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index 22e0705036..800bf8eba9 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -268,6 +268,10 @@ if(LLCOMMON_LINK_SHARED) add_definitions(-fPIC) endif(WINDOWS) endif(NOT WORD_SIZE EQUAL 32) + if(WINDOWS) + # always generate llcommon.pdb, even for "Release" builds + set_target_properties(llcommon PROPERTIES LINK_FLAGS "/DEBUG") + endif(WINDOWS) ll_stage_sharedlib(llcommon) else(LLCOMMON_LINK_SHARED) add_library (llcommon ${llcommon_SOURCE_FILES}) -- cgit v1.2.3 From 1143f2c1bdb464dd54e7b10e90763af9b8254b6c Mon Sep 17 00:00:00 2001 From: "Debi King (Dessie)" Date: Wed, 27 Apr 2011 12:28:40 -0400 Subject: Added tag DRTVWR-46_2.6.3-release, 2.6.3-release for changeset 8f2da1701c81 --- .hgtags | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgtags b/.hgtags index 629783d37f..e3f34d6041 100644 --- a/.hgtags +++ b/.hgtags @@ -97,3 +97,5 @@ d1203046bb653b763f835b04d184646949d8dd5c 2.6.2-beta1 ec32f1045e7c2644015245df3a9933620aa194b8 2.6.3-start d7fcefabdf32bb61a9ea6d6037c1bb26190a85bc DRTVWR-47_2.6.3-beta1 d7fcefabdf32bb61a9ea6d6037c1bb26190a85bc 2.6.3-beta1 +8f2da1701c81a62352df2b8d413d27fb2cade9a6 DRTVWR-46_2.6.3-release +8f2da1701c81a62352df2b8d413d27fb2cade9a6 2.6.3-release -- cgit v1.2.3 From adf7a568948fc0915d10f35291b573688aad8947 Mon Sep 17 00:00:00 2001 From: "Debi King (Dessie)" Date: Wed, 27 Apr 2011 16:11:07 -0400 Subject: Added tag DRTVWR-44_2.6.2-release, 2.6.2-release for changeset 214180ad5714 --- .hgtags | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgtags b/.hgtags index e3f34d6041..635d1bece0 100644 --- a/.hgtags +++ b/.hgtags @@ -99,3 +99,5 @@ d7fcefabdf32bb61a9ea6d6037c1bb26190a85bc DRTVWR-47_2.6.3-beta1 d7fcefabdf32bb61a9ea6d6037c1bb26190a85bc 2.6.3-beta1 8f2da1701c81a62352df2b8d413d27fb2cade9a6 DRTVWR-46_2.6.3-release 8f2da1701c81a62352df2b8d413d27fb2cade9a6 2.6.3-release +214180ad5714ce8392b82bbebcc92f4babd98300 DRTVWR-44_2.6.2-release +214180ad5714ce8392b82bbebcc92f4babd98300 2.6.2-release -- cgit v1.2.3 From 36986de1fc1437f509d120b79430c87575e755b1 Mon Sep 17 00:00:00 2001 From: brad kittenbrink Date: Wed, 27 Apr 2011 16:02:16 -0700 Subject: Fix for mac compile error in VWR-25608 fix. --- indra/llvfs/llvfs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llvfs/llvfs.cpp b/indra/llvfs/llvfs.cpp index 82166d3e56..78b67e9b68 100644 --- a/indra/llvfs/llvfs.cpp +++ b/indra/llvfs/llvfs.cpp @@ -1712,7 +1712,7 @@ void LLVFS::audit() BOOL vfs_corrupt = FALSE; // since we take the address of element 0, we need to have at least one element. - std::vector buffer(llmax(index_size,1U)); + std::vector buffer(llmax(index_size,1U)); if (fread(&buffer[0], 1, index_size, mIndexFP) != index_size) { -- cgit v1.2.3 From 37ef2c4f0f7958106ea09abcd486cb9c305316e4 Mon Sep 17 00:00:00 2001 From: Leyla Farazha Date: Wed, 27 Apr 2011 16:45:33 -0700 Subject: EXP-670 Voice for basic mode reviewed by Merov http://codereview.lindenlab.com/6231263/ --- indra/newview/llpanelvoicedevicesettings.cpp | 2 +- indra/newview/llviewerfloaterreg.cpp | 2 + indra/newview/llviewermenu.cpp | 9 + .../default/xui/en/panel_preferences_sound.xml | 171 +--------------- indra/newview/skins/minimal/textures/textures.xml | 4 +- .../skins/minimal/xui/en/panel_bottomtray.xml | 220 ++++++++++++--------- 6 files changed, 152 insertions(+), 256 deletions(-) diff --git a/indra/newview/llpanelvoicedevicesettings.cpp b/indra/newview/llpanelvoicedevicesettings.cpp index aef870d352..d13f57bd6a 100644 --- a/indra/newview/llpanelvoicedevicesettings.cpp +++ b/indra/newview/llpanelvoicedevicesettings.cpp @@ -316,6 +316,6 @@ void LLPanelVoiceDeviceSettings::onCommitOutputDevice() if(LLVoiceClient::getInstance()) { LLVoiceClient::getInstance()->setRenderDevice( - getChild("voice_input_device")->getValue().asString()); + getChild("voice_output_device")->getValue().asString()); } } diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index dca1e33e60..6dc85799ce 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -91,6 +91,7 @@ #include "llfloatersettingsdebug.h" #include "llfloatersidetraytab.h" #include "llfloatersnapshot.h" +#include "llfloatersounddevices.h" #include "llfloatertelehub.h" #include "llfloatertestinspectors.h" #include "llfloatertestlistview.h" @@ -239,6 +240,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("sell_land", "floater_sell_land.xml", &LLFloaterSellLand::buildFloater); LLFloaterReg::add("settings_debug", "floater_settings_debug.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("side_bar_tab", "floater_side_bar_tab.xml", &LLFloaterReg::build); + LLFloaterReg::add("sound_devices", "floater_sound_devices.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("stats", "floater_stats.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("start_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("stop_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 3665b7d91f..c568c8eedb 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -5591,6 +5591,14 @@ class LLToggleHelp : public view_listener_t } }; +class LLToggleSpeak : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + LLVoiceClient::getInstance()->toggleUserPTTState(); + return true; + } +}; class LLShowSidetrayPanel : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -8187,6 +8195,7 @@ void initialize_menus() commit.add("BuyCurrency", boost::bind(&handle_buy_currency)); view_listener_t::addMenu(new LLShowHelp(), "ShowHelp"); view_listener_t::addMenu(new LLToggleHelp(), "ToggleHelp"); + view_listener_t::addMenu(new LLToggleSpeak(), "ToggleSpeak"); view_listener_t::addMenu(new LLPromptShowURL(), "PromptShowURL"); view_listener_t::addMenu(new LLShowAgentProfile(), "ShowAgentProfile"); view_listener_t::addMenu(new LLToggleAgentProfile(), "ToggleAgentProfile"); diff --git a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml index 26af8dc29d..a314e0d85e 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml @@ -466,164 +466,13 @@ name="device_settings_btn" width="190"> - - - Default - - - Default system device - - - No device - - - - Input - - - - My volume: - - - - Please wait - - - - - - - - - Output - - - - + + diff --git a/indra/newview/skins/minimal/textures/textures.xml b/indra/newview/skins/minimal/textures/textures.xml index b4848a0619..e3ed01721a 100644 --- a/indra/newview/skins/minimal/textures/textures.xml +++ b/indra/newview/skins/minimal/textures/textures.xml @@ -6,4 +6,6 @@ - + + + diff --git a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml index 95f2010e44..70a59cea43 100644 --- a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml @@ -12,16 +12,16 @@ focus_root="true" top="28" width="1310"> - - - - - - - - + - + + + + + + width="88"> - - - - - + + - - - - - + + - - - + - - - - - + + - - - - - + + - - - + - - - - - + + - - - - - + + - - - - - + + - - - - - - + + + - - @@ -517,5 +551,5 @@ image_pressed_selected "Lit" + "Selected" - there are new messages and the Well min_width="4" name="DUMMY2" width="8" /> - + -- cgit v1.2.3 From 892c5109e8679ca28a53799289732efcbebd9d48 Mon Sep 17 00:00:00 2001 From: Leyla Farazha Date: Wed, 27 Apr 2011 16:45:57 -0700 Subject: EXP-670 Voice for basic mode new files reviewed by merov --- indra/newview/llfloatersounddevices.cpp | 85 +++++++++++ indra/newview/llfloatersounddevices.h | 49 +++++++ .../skins/default/xui/en/floater_sound_devices.xml | 28 ++++ .../skins/default/xui/en/panel_sound_devices.xml | 163 +++++++++++++++++++++ .../minimal/textures/bottomtray/Speak_Btn_Off.png | Bin 0 -> 993 bytes .../bottomtray/Speak_Btn_Selected_Press.png | Bin 0 -> 1217 bytes 6 files changed, 325 insertions(+) create mode 100644 indra/newview/llfloatersounddevices.cpp create mode 100644 indra/newview/llfloatersounddevices.h create mode 100644 indra/newview/skins/default/xui/en/floater_sound_devices.xml create mode 100644 indra/newview/skins/default/xui/en/panel_sound_devices.xml create mode 100644 indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Off.png create mode 100644 indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Selected_Press.png diff --git a/indra/newview/llfloatersounddevices.cpp b/indra/newview/llfloatersounddevices.cpp new file mode 100644 index 0000000000..1f6a992fc5 --- /dev/null +++ b/indra/newview/llfloatersounddevices.cpp @@ -0,0 +1,85 @@ +/** + * @file llfloatersounddevices.cpp + * @author Leyla Farazha + * @brief Sound Preferences used for minimal skin + * +* $LicenseInfo:firstyear=2011&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 "llfloatersounddevices.h" + +#include "llbottomtray.h" +#include "lldraghandle.h" + +#include "llpanelvoicedevicesettings.h" + +// Library includes +#include "indra_constants.h" + +// protected +LLFloaterSoundDevices::LLFloaterSoundDevices(const LLSD& key) +: LLTransientDockableFloater(NULL, false, key) +{ + LLTransientFloaterMgr::getInstance()->addControlView(this); + + // force docked state since this floater doesn't save it between recreations + setDocked(true); +} + +LLFloaterSoundDevices::~LLFloaterSoundDevices() +{ + LLTransientFloaterMgr::getInstance()->removeControlView(this); +} + +// virtual +BOOL LLFloaterSoundDevices::postBuild() +{ + LLTransientDockableFloater::postBuild(); + + LLView *anchor_panel = LLBottomTray::getInstance()->getChild("speak_flyout_btn"); + setDockControl(new LLDockControl(anchor_panel, this, getDockTongue(), LLDockControl::TOP)); + + setIsChrome(TRUE); + if (mDragHandle) + mDragHandle->setTitleVisible(TRUE); + updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730) + + return TRUE; +} + +//virtual +void LLFloaterSoundDevices::setDocked(bool docked, bool pop_on_undock/* = true*/) +{ + LLTransientDockableFloater::setDocked(docked, pop_on_undock); +} + +// virtual +void LLFloaterSoundDevices::setFocus( BOOL b ) +{ + LLTransientDockableFloater::setFocus(b); + + // Force using active floater transparency + // We have to override setFocus() for because selecting an item of the + // combobox causes the floater to lose focus and thus become transparent. + updateTransparency(TT_ACTIVE); +} \ No newline at end of file diff --git a/indra/newview/llfloatersounddevices.h b/indra/newview/llfloatersounddevices.h new file mode 100644 index 0000000000..f09ee3b069 --- /dev/null +++ b/indra/newview/llfloatersounddevices.h @@ -0,0 +1,49 @@ +/** + * @file llfloatersounddevices.h + * @author Leyla Farazha + * @brief Sound Preferences used for minimal skin + * +* $LicenseInfo:firstyear=2011&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_LLFLOATERSOUNDDEVICES_H +#define LL_LLFLOATERSOUNDDEVICES_H + +#include "lltransientdockablefloater.h" + +class LLFloaterSoundDevices : public LLTransientDockableFloater +{ +public: + + LOG_CLASS(LLFloaterSoundDevices); + + LLFloaterSoundDevices(const LLSD& key); + ~LLFloaterSoundDevices(); + + /*virtual*/ BOOL postBuild(); + /*virtual*/ void setDocked(bool docked, bool pop_on_undock = true); + /*virtual*/ void setFocus( BOOL b ); +}; + + +#endif //LL_LLFLOATERSOUNDDEVICES_H + diff --git a/indra/newview/skins/default/xui/en/floater_sound_devices.xml b/indra/newview/skins/default/xui/en/floater_sound_devices.xml new file mode 100644 index 0000000000..3c9e5aeff3 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_sound_devices.xml @@ -0,0 +1,28 @@ + + + + diff --git a/indra/newview/skins/default/xui/en/panel_sound_devices.xml b/indra/newview/skins/default/xui/en/panel_sound_devices.xml new file mode 100644 index 0000000000..9812281323 --- /dev/null +++ b/indra/newview/skins/default/xui/en/panel_sound_devices.xml @@ -0,0 +1,163 @@ + + + Default + + + Default system device + + + No device + + + + Input + + + + My volume: + + + + Please wait + + + + + + + + + Output + + + diff --git a/indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Off.png b/indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Off.png new file mode 100644 index 0000000000..b6e9eef891 Binary files /dev/null and b/indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Off.png differ diff --git a/indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Selected_Press.png b/indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Selected_Press.png new file mode 100644 index 0000000000..687cb7fb53 Binary files /dev/null and b/indra/newview/skins/minimal/textures/bottomtray/Speak_Btn_Selected_Press.png differ -- cgit v1.2.3 From a59de335c5bfa7b730977f0061a046654e2b964c Mon Sep 17 00:00:00 2001 From: Leyla Farazha Date: Wed, 27 Apr 2011 17:41:34 -0700 Subject: EXP-626 New bottomtray tooltips for basic mode --- indra/newview/skins/minimal/xui/en/panel_bottomtray.xml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml index 70a59cea43..aff22c7e45 100644 --- a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml @@ -78,7 +78,7 @@ label="Speak" left="0" name="speak_btn" - + tool_tip="Turn your microphone on and off" pad_right="30" halign="center" use_ellipses="true" @@ -118,6 +118,7 @@ name="speak_flyout_btn" label="" tab_stop="false" + tool_tip="Change your sound preferences" is_toggle="true" image_disabled="ComboButton_UpOff" image_unselected="ComboButton_UpOff" @@ -152,7 +153,7 @@ view_all="false" left="3" name="Gesture" - tool_tip="Shows/hides gestures" + tool_tip="Make your avatar do things" top="5" width="82"> @@ -235,7 +236,7 @@ layout="topleft" left="0" name="destination_btn" - tool_tip="Shows destinations window" + tool_tip="Travel through Second Life" top="5" is_toggle="true" use_ellipses="true" @@ -268,6 +269,7 @@ name="avatar_btn" top="5" is_toggle="true" + tool_tip="Change your appearance" use_ellipses="true" width="100"> Date: Wed, 27 Apr 2011 17:41:49 -0700 Subject: Fixed floater sound devices title --- indra/newview/skins/default/xui/en/floater_sound_devices.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/floater_sound_devices.xml b/indra/newview/skins/default/xui/en/floater_sound_devices.xml index 3c9e5aeff3..584413c030 100644 --- a/indra/newview/skins/default/xui/en/floater_sound_devices.xml +++ b/indra/newview/skins/default/xui/en/floater_sound_devices.xml @@ -14,7 +14,7 @@ height="140" layout="topleft" name="floater_sound_devices" - title="Sound Devicess" + title="Sound Devices" width="315"> Date: Wed, 27 Apr 2011 17:59:15 -0700 Subject: adding llfloatersounddevices.cpp/.h to the cmake file --- indra/newview/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index b1cb10665b..95cfc23ede 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -214,6 +214,7 @@ set(viewer_SOURCE_FILES llfloatersettingsdebug.cpp llfloatersidetraytab.cpp llfloatersnapshot.cpp + llfloatersounddevices.cpp llfloatertelehub.cpp llfloatertestinspectors.cpp llfloatertestlistview.cpp @@ -758,6 +759,7 @@ set(viewer_HEADER_FILES llfloatersettingsdebug.h llfloatersidetraytab.h llfloatersnapshot.h + llfloatersounddevices.h llfloatertelehub.h llfloatertestinspectors.h llfloatertestlistview.h -- cgit v1.2.3 From f56a2e55ccd86e3739f69c3d8dcc007c337bdaa1 Mon Sep 17 00:00:00 2001 From: Leyla Farazha Date: Wed, 27 Apr 2011 18:17:09 -0700 Subject: adding newline at end of llfloatersounddevices.cpp --- indra/newview/llfloatersounddevices.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llfloatersounddevices.cpp b/indra/newview/llfloatersounddevices.cpp index 1f6a992fc5..4f3945c95f 100644 --- a/indra/newview/llfloatersounddevices.cpp +++ b/indra/newview/llfloatersounddevices.cpp @@ -82,4 +82,4 @@ void LLFloaterSoundDevices::setFocus( BOOL b ) // We have to override setFocus() for because selecting an item of the // combobox causes the floater to lose focus and thus become transparent. updateTransparency(TT_ACTIVE); -} \ No newline at end of file +} -- cgit v1.2.3 From 42fe138cbb1af4acbb6851711f8c7f86c65795c0 Mon Sep 17 00:00:00 2001 From: brad kittenbrink Date: Wed, 27 Apr 2011 19:13:17 -0700 Subject: Incorporated some suggestions from code review for VWR-25610 --- indra/llxml/llcontrol.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/indra/llxml/llcontrol.cpp b/indra/llxml/llcontrol.cpp index a604c1e631..0809d95628 100644 --- a/indra/llxml/llcontrol.cpp +++ b/indra/llxml/llcontrol.cpp @@ -837,7 +837,6 @@ U32 LLControlGroup::saveToFile(const std::string& filename, BOOL nondefault_only U32 LLControlGroup::loadFromFile(const std::string& filename, bool set_default_values, bool save_values) { - std::string name; LLSD settings; llifstream infile; infile.open(filename); @@ -862,8 +861,8 @@ U32 LLControlGroup::loadFromFile(const std::string& filename, bool set_default_v for(LLSD::map_const_iterator itr = settings.beginMap(); itr != settings.endMap(); ++itr) { bool persist = true; - name = (*itr).first; - LLSD const & control_map = (*itr).second; + std::string const & name = itr->first; + LLSD const & control_map = itr->second; if(control_map.has("Persist")) { -- cgit v1.2.3 From 873bd8ce26798fbea625b2323e7a84229ed92343 Mon Sep 17 00:00:00 2001 From: prep Date: Thu, 28 Apr 2011 14:22:11 -0400 Subject: Fix for SH-718 --- indra/newview/llfloatermodelpreview.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/newview/llfloatermodelpreview.h b/indra/newview/llfloatermodelpreview.h index 186bf114d1..837484adb6 100644 --- a/indra/newview/llfloatermodelpreview.h +++ b/indra/newview/llfloatermodelpreview.h @@ -331,8 +331,8 @@ public: void setLoadState( U32 state ) { mLoadState = state; } U32 getLoadState() { return mLoadState; } - - void setResetJointFlag( bool state ) { mResetJoints = state; } + //setRestJointFlag: If an asset comes through that changes the joints, we want the reset to persist + void setResetJointFlag( bool state ) { if ( !mResetJoints ) mResetJoints = state; } bool getResetJointFlag( void ) { return mResetJoints; } LLVector3 getTranslationForJointOffset( std::string joint ); -- cgit v1.2.3 From d7954ba38f81172f0062ae55479aff0709615bdd Mon Sep 17 00:00:00 2001 From: Xiaohong Bao Date: Fri, 29 Apr 2011 15:23:03 -0600 Subject: fix for SH-688: Viewer crash when uploading a large .dae file and clicking the X button in upper right hand corner of the upload model floater on Mac Build --- indra/llprimitive/llmodel.cpp | 19 ++++-------------- indra/newview/llfloatermodelpreview.cpp | 34 ++++++++++++++++++++++++++++++++- indra/newview/llfloatermodelpreview.h | 8 +++++++- 3 files changed, 44 insertions(+), 17 deletions(-) diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp index 5af1122451..794cdb83d5 100644 --- a/indra/llprimitive/llmodel.cpp +++ b/indra/llprimitive/llmodel.cpp @@ -232,27 +232,16 @@ LLModel::EModelStatus load_face_from_dom_triangles(std::vector& fa domPRef p = tri->getP(); domListOfUInts& idx = p->getValue(); - domListOfFloats v; - domListOfFloats tc; - domListOfFloats n; + domListOfFloats dummy ; + domListOfFloats& v = pos_source ? pos_source->getFloat_array()->getValue() : dummy ; + domListOfFloats& tc = tc_source ? tc_source->getFloat_array()->getValue() : dummy ; + domListOfFloats& n = norm_source ? norm_source->getFloat_array()->getValue() : dummy ; if (pos_source) { - v = pos_source->getFloat_array()->getValue(); face.mExtents[0].set(v[0], v[1], v[2]); face.mExtents[1].set(v[0], v[1], v[2]); } - - if (tc_source) - { - tc = tc_source->getFloat_array()->getValue(); - } - - if (norm_source) - { - n = norm_source->getFloat_array()->getValue(); - } - LLVolumeFace::VertexMapData::PointMap point_map; diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index c66b2255eb..ae0e1b7d46 100644 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -104,6 +104,7 @@ //static S32 LLFloaterModelPreview::sUploadAmount = 10; LLFloaterModelPreview* LLFloaterModelPreview::sInstance = NULL; +std::list LLModelLoader::sActiveLoaderList; const S32 PREVIEW_BORDER_WIDTH = 2; const S32 PREVIEW_RESIZE_HANDLE_SIZE = S32(RESIZE_HANDLE_WIDTH * OO_SQRT2) + PREVIEW_BORDER_WIDTH; @@ -1087,6 +1088,15 @@ LLModelLoader::LLModelLoader( std::string filename, S32 lod, LLModelPreview* pre { mTrySLM = false; } + + assert_main_thread(); + sActiveLoaderList.push_back(this) ; +} + +LLModelLoader::~LLModelLoader() +{ + assert_main_thread(); + sActiveLoaderList.remove(this); } void stretch_extents(LLModel* model, LLMatrix4a& mat, LLVector4a& min, LLVector4a& max, BOOL& first_transform) @@ -1872,8 +1882,24 @@ bool LLModelLoader::loadFromSLM(const std::string& filename) return true; } +//static +bool LLModelLoader::isAlive(LLModelLoader* loader) +{ + if(!loader) + { + return false ; + } + + std::list::iterator iter = sActiveLoaderList.begin() ; + for(; iter != sActiveLoaderList.end() && (*iter) != loader; ++iter) ; + + return *iter == loader ; +} + void LLModelLoader::loadModelCallback() { + assert_main_thread(); + if (mPreview) { mPreview->loadModelCallback(mLod); @@ -1884,6 +1910,12 @@ void LLModelLoader::loadModelCallback() apr_sleep(100); } + //doubel check if "this" is valid before deleting it, in case it is aborted during running. + if(!isAlive(this)) + { + return ; + } + //cleanup model loader if (mPreview) { @@ -2693,7 +2725,7 @@ LLModelPreview::~LLModelPreview() if (mModelLoader) { delete mModelLoader; - mModelLoader->mPreview = NULL; + mModelLoader = NULL; } //*HACK : *TODO : turn this back on when we understand why this crashes //glodShutdown(); diff --git a/indra/newview/llfloatermodelpreview.h b/indra/newview/llfloatermodelpreview.h index 186bf114d1..192f84c221 100644 --- a/indra/newview/llfloatermodelpreview.h +++ b/indra/newview/llfloatermodelpreview.h @@ -80,7 +80,7 @@ public: BOOL mFirstTransform; LLVector3 mExtents[2]; bool mTrySLM; - + std::map > mModel; typedef std::vector > model_list; @@ -99,6 +99,8 @@ public: LLModelLoader( std::string filename, S32 lod, LLModelPreview* preview, JointTransformMap& jointMap, std::deque& jointsFromNodes ); + ~LLModelLoader() ; + virtual void run(); bool doLoadModel(); bool loadFromSLM(const std::string& filename); @@ -131,6 +133,10 @@ public: std::map mJointMap; JointTransformMap& mJointList; std::deque& mJointsFromNode; + +private: + static std::list sActiveLoaderList; + static bool isAlive(LLModelLoader* loader) ; }; class LLFloaterModelPreview : public LLFloater -- cgit v1.2.3 From 367823ced0cc885474850b4400c7936d667a7d7a Mon Sep 17 00:00:00 2001 From: callum Date: Fri, 29 Apr 2011 15:35:22 -0700 Subject: EXP-623 FIX Selecting fly option while on click to walk path flys avatar to end point but avatar spins and shakes when arriving at click point --- indra/newview/llagent.cpp | 3 +++ indra/newview/lltoolpie.cpp | 9 +++++++++ indra/newview/lltoolpie.h | 1 + 3 files changed, 13 insertions(+) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 7d491a7774..a6d2c96d52 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -62,6 +62,7 @@ #include "llstatusbar.h" #include "llteleportflags.h" #include "lltool.h" +#include "lltoolpie.h" #include "lltoolmgr.h" #include "lltrans.h" #include "llurlentry.h" @@ -559,6 +560,8 @@ void LLAgent::setFlying(BOOL fly) // static void LLAgent::toggleFlying() { + LLToolPie::instance().stopClickToWalk(); + BOOL fly = !gAgent.getFlying(); gAgent.mMoveTimer.reset(); diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index 06e0d17b8c..9ec4d33036 100644 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -688,6 +688,15 @@ BOOL LLToolPie::handleMouseUp(S32 x, S32 y, MASK mask) return LLTool::handleMouseUp(x, y, mask); } +void LLToolPie::stopClickToWalk() +{ + mPick.mPosGlobal = gAgent.getPositionGlobal(); + handle_go_to(); + if(mAutoPilotDestination) + { + mAutoPilotDestination->markDead(); + } +} BOOL LLToolPie::handleDoubleClick(S32 x, S32 y, MASK mask) { diff --git a/indra/newview/lltoolpie.h b/indra/newview/lltoolpie.h index 22359a6db8..d7c79ee223 100644 --- a/indra/newview/lltoolpie.h +++ b/indra/newview/lltoolpie.h @@ -67,6 +67,7 @@ public: LLObjectSelection* getLeftClickSelection() { return (LLObjectSelection*)mLeftClickSelection; } void resetSelection(); void blockClickToWalk() { mBlockClickToWalk = true; } + void stopClickToWalk(); static void selectionPropertiesReceived(); -- cgit v1.2.3 From 314961674a508c7d13cc889d914b0ded99376f9b Mon Sep 17 00:00:00 2001 From: Leyla Farazha Date: Fri, 29 Apr 2011 15:52:48 -0700 Subject: EXP-769 Group call requests received in Basic mode --- indra/newview/app_settings/settings.xml | 6 +++--- indra/newview/app_settings/settings_minimal.xml | 6 +++--- indra/newview/llimview.cpp | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index f2a0e5ac19..b95c83e1ac 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -11662,10 +11662,10 @@ Value 0 - VoiceCallsRejectAll + VoiceCallsRejectGroup Comment - Silently reject all incoming voice calls. + Silently reject all incoming group voice calls. Persist 1 Type @@ -11673,7 +11673,7 @@ Value 0 - VoiceDisableMic + VoiceDisableMic Comment Completely disable the ability to open the mic. diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml index 60aecb279c..3d470b27c1 100644 --- a/indra/newview/app_settings/settings_minimal.xml +++ b/indra/newview/app_settings/settings_minimal.xml @@ -117,14 +117,14 @@ Value 0 - VoiceCallsRejectAll + VoiceCallsRejectGroup Comment - Silently reject all incoming voice calls. + Silently reject all incoming group voice calls. Type Boolean Value - 0 + 1 VoiceDisableMic diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index ec3fe48151..38c5ba71bd 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -2696,10 +2696,10 @@ void LLIMMgr::inviteToSession( if (voice_invite) { - if ( // if we're rejecting all incoming call requests - gSavedSettings.getBOOL("VoiceCallsRejectAll") + if ( // if we are rejecting group calls + (gSavedSettings.getBOOL("VoiceCallsRejectGroup") && notify_box_type == "VoiceInviteGroup") || // or we're rejecting non-friend voice calls and this isn't a friend - || (gSavedSettings.getBOOL("VoiceCallsFriendsOnly") && (LLAvatarTracker::instance().getBuddyInfo(caller_id) == NULL)) + (gSavedSettings.getBOOL("VoiceCallsFriendsOnly") && (LLAvatarTracker::instance().getBuddyInfo(caller_id) == NULL)) ) { // silently decline the call -- cgit v1.2.3 From 5fe3675564f1c7d8cf13e94f43d32be5ea45940b Mon Sep 17 00:00:00 2001 From: Leyla Farazha Date: Fri, 29 Apr 2011 15:53:14 -0700 Subject: EXP-761, EXP-758 --- indra/newview/llbottomtray.cpp | 42 +++++++++++++++------- indra/newview/llspeakbutton.cpp | 20 ----------- indra/newview/llspeakbutton.h | 5 --- .../skins/minimal/xui/en/panel_bottomtray.xml | 2 +- 4 files changed, 30 insertions(+), 39 deletions(-) diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp index 0371b7be71..6d40786b08 100644 --- a/indra/newview/llbottomtray.cpp +++ b/indra/newview/llbottomtray.cpp @@ -378,12 +378,13 @@ void LLBottomTray::onChange(EStatusType status, const std::string &channelURI, b } // We have to enable/disable right and left parts of speak button separately (EXT-4648) - mSpeakBtn->setSpeakBtnEnabled(enable); + getChild("speak_btn")->setEnabled(enable); + // skipped to avoid button blinking if (status != STATUS_JOINING && status!= STATUS_LEFT_CHANNEL) { bool voice_status = LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking(); - mSpeakBtn->setFlyoutBtnEnabled(voice_status); + getChild("speak_flyout_btn")->setEnabled(voice_status); if (voice_status) { LLFirstUse::speak(true); @@ -566,17 +567,21 @@ BOOL LLBottomTray::postBuild() setRightMouseDownCallback(boost::bind(&LLBottomTray::showBottomTrayContextMenu,this, _2, _3,_4)); mSpeakPanel = getChild("speak_panel"); - mSpeakBtn = getChild("talk"); - LLHints::registerHintTarget("speak_btn", mSpeakBtn->getHandle()); + mSpeakBtn = findChild("talk"); + if (mSpeakBtn) + { + LLHints::registerHintTarget("speak_btn", mSpeakBtn->getHandle()); + + // Localization tool doesn't understand custom buttons like + mSpeakBtn->setSpeakToolTip( getString("SpeakBtnToolTip") ); + mSpeakBtn->setShowToolTip( getString("VoiceControlBtnToolTip") ); + } // Both parts of speak button should be initially disabled because // it takes some time between logging in to world and connecting to voice channel. - mSpeakBtn->setSpeakBtnEnabled(false); - mSpeakBtn->setFlyoutBtnEnabled(false); + getChild("speak_btn")->setEnabled(false); + getChild("speak_flyout_btn")->setEnabled(false); - // Localization tool doesn't understand custom buttons like - mSpeakBtn->setSpeakToolTip( getString("SpeakBtnToolTip") ); - mSpeakBtn->setShowToolTip( getString("VoiceControlBtnToolTip") ); // Registering Chat Bar to receive Voice client status change notifications. LLVoiceClient::getInstance()->addObserver(this); @@ -872,6 +877,10 @@ void LLBottomTray::draw() getChild("show_help_btn")->setToggleState(help_floater_visible); + bool openmic = LLVoiceClient::getInstance()->getUserPTTState(); + bool voiceenabled = LLVoiceClient::getInstance()->voiceEnabled(); + getChild("speak_btn")->setToggleState(openmic && voiceenabled); + getChild("chat_zone_indicator")->setIsMuted(!voiceenabled); } @@ -1345,7 +1354,11 @@ void LLBottomTray::processShrinkButtons(S32& required_width, S32& buttons_freed_ if (possible_shrink_width > 0) { - mSpeakBtn->setLabelVisible(false); + if (mSpeakBtn) + { + mSpeakBtn->setLabelVisible(false); + } + mSpeakPanel->reshape(panel_width - possible_shrink_width, mSpeakPanel->getRect().getHeight()); required_width += possible_shrink_width; @@ -1442,10 +1455,13 @@ void LLBottomTray::processExtendButtons(S32& available_width) S32 possible_extend_width = panel_max_width - panel_width; if (possible_extend_width >= 0 && possible_extend_width <= available_width + available_width_chiclet) // HACK: this button doesn't change size so possible_extend_width will be 0 - { - mSpeakBtn->setLabelVisible(true); + { + if (mSpeakBtn) + { + mSpeakBtn->setLabelVisible(true); + } + mSpeakPanel->reshape(panel_max_width, mSpeakPanel->getRect().getHeight()); - log(mSpeakBtn, "speak button is extended"); if( available_width > possible_extend_width) { diff --git a/indra/newview/llspeakbutton.cpp b/indra/newview/llspeakbutton.cpp index d52e0a6c86..d3e96f8dfb 100644 --- a/indra/newview/llspeakbutton.cpp +++ b/indra/newview/llspeakbutton.cpp @@ -54,26 +54,6 @@ LLSpeakButton::Params::Params() // See widgets/talk_button.xml } -void LLSpeakButton::draw() -{ - // LLVoiceClient::getInstance() is the authoritative global source of info regarding our open-mic state, we merely reflect that state. - bool openmic = LLVoiceClient::getInstance()->getUserPTTState(); - bool voiceenabled = LLVoiceClient::getInstance()->voiceEnabled(); - mSpeakBtn->setToggleState(openmic && voiceenabled); - mOutputMonitor->setIsMuted(!voiceenabled); - LLUICtrl::draw(); -} -void LLSpeakButton::setSpeakBtnEnabled(bool enabled) -{ - LLButton* speak_btn = getChild("speak_btn"); - speak_btn->setEnabled(enabled); -} -void LLSpeakButton::setFlyoutBtnEnabled(bool enabled) -{ - LLButton* show_btn = getChild("speak_flyout_btn"); - show_btn->setEnabled(enabled); -} - LLSpeakButton::LLSpeakButton(const Params& p) : LLUICtrl(p) , mOutputMonitor(NULL) diff --git a/indra/newview/llspeakbutton.h b/indra/newview/llspeakbutton.h index 2fdf80c1f2..7db01112ef 100644 --- a/indra/newview/llspeakbutton.h +++ b/indra/newview/llspeakbutton.h @@ -53,12 +53,7 @@ public: }; /*virtual*/ ~LLSpeakButton(); - /*virtual*/ void draw(); - // methods for enabling/disabling right and left parts of speak button separately(EXT-4648) - void setSpeakBtnEnabled(bool enabled); - void setFlyoutBtnEnabled(bool enabled); - // *HACK: Need to put tooltips in a translatable location, // the panel that contains this button. void setSpeakToolTip(const std::string& msg); diff --git a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml index aff22c7e45..49eead5079 100644 --- a/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/minimal/xui/en/panel_bottomtray.xml @@ -105,7 +105,7 @@ min_height="28" min_width="20" mouse_opaque="false" - name="flyout_panel" + name="speak_flyout_panel" top_delta="0" user_resize="false" width="20"> -- cgit v1.2.3 From af41eb0d2c9f45c545c0470d44b91147e74c82a4 Mon Sep 17 00:00:00 2001 From: callum Date: Fri, 29 Apr 2011 15:54:45 -0700 Subject: EXP-742 FIX [PUBLIC] CTRL-ALT-w doesn't "spin_over" --- indra/newview/skins/default/xui/en/menu_viewer.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 51610c0ae0..81b7d35253 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -2696,7 +2696,7 @@ + shortcut="control|shift|Z"> -- cgit v1.2.3 From 50caebbad7f2e8f743b6a08831df2e525e8e6baa Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" Date: Mon, 2 May 2011 10:39:18 -0400 Subject: Added handler for final mesh object upload --- indra/newview/llmeshrepository.cpp | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) mode change 100644 => 100755 indra/newview/llmeshrepository.cpp diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp old mode 100644 new mode 100755 index e20e918a2a..dd2ffdf7f1 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -454,6 +454,29 @@ public: }; +class LLModelObjectUploadResponder: public LLCurl::Responder +{ + LLSD mObjectAsset; + LLMeshUploadThread* mThread; + +public: + LLModelObjectUploadResponder(LLMeshUploadThread* thread, const LLSD& object_asset): + mThread(thread), + mObjectAsset(object_asset) + { + } + + virtual void completedRaw(U32 status, const std::string& reason, + const LLChannelDescriptors& channels, + const LLIOPipe::buffer_ptr_t& buffer) + { + assert_main_thread(); + + llinfos << "completed" << llendl; + mThread->mPendingUploads--; + mThread->mFinished = true; + } +}; LLMeshRepoThread::LLMeshRepoThread() : LLThread("mesh repo", NULL) @@ -1467,10 +1490,13 @@ void LLMeshUploadThread::run() if(!isDiscarded()) { - LLHTTPClient::post(url, object_asset, new LLHTTPClient::Responder()); + mPendingUploads++; + LLHTTPClient::post(url, object_asset, new LLModelObjectUploadResponder(this,object_asset)); + } + else + { + mFinished = true; } - - mFinished = true; } void LLMeshUploadThread::uploadModel(LLMeshUploadData& data) -- cgit v1.2.3 From 814e540e85d0f8dc3b50ade6b1b3194e7cbb57fb Mon Sep 17 00:00:00 2001 From: callum Date: Mon, 2 May 2011 13:40:41 -0700 Subject: EXP-743 FIX Side bar panel is visible on login screen after getting 'We're having trouble connecting' message --- indra/newview/skins/default/xui/en/main_view.xml | 16 +++++++++------- indra/newview/skins/minimal/xui/en/main_view.xml | 15 ++++++++------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index e5ae0b950a..3ead67ca57 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -8,12 +8,6 @@ tab_stop="false" name="main_view" width="1024"> - - + + + + - - + + + Date: Mon, 2 May 2011 16:11:46 -0700 Subject: Backed out changeset: d38e4f4982a0 --- indra/newview/app_settings/settings_minimal.xml | 8 +- .../skins/default/xui/en/panel_bottomtray.xml | 676 ++++++++++----------- .../minimal/xui/en/panel_adhoc_control_panel.xml | 35 ++ .../skins/minimal/xui/en/panel_bottomtray.xml | 38 ++ .../minimal/xui/en/panel_im_control_panel.xml | 33 + 5 files changed, 448 insertions(+), 342 deletions(-) diff --git a/indra/newview/app_settings/settings_minimal.xml b/indra/newview/app_settings/settings_minimal.xml index bc97ec00e9..60aecb279c 100644 --- a/indra/newview/app_settings/settings_minimal.xml +++ b/indra/newview/app_settings/settings_minimal.xml @@ -52,7 +52,7 @@ Type Boolean Value - 0 + 1 HelpURLFormat @@ -124,7 +124,7 @@ Type Boolean Value - 1 + 0 VoiceDisableMic @@ -133,7 +133,7 @@ Type Boolean Value - 1 + 0 ScriptsCanShowUI @@ -290,7 +290,7 @@ Type Boolean Value - 0 + 1 EnableAvatarShare diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray.xml b/indra/newview/skins/default/xui/en/panel_bottomtray.xml index a6e5e7a219..57a22037cd 100644 --- a/indra/newview/skins/default/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/default/xui/en/panel_bottomtray.xml @@ -13,31 +13,31 @@ top="28" width="1310"> + name="DragIndicationImageName" + value="Accordion_ArrowOpened_Off" /> + name="SpeakBtnToolTip" + value="Turns microphone on/off" /> + name="VoiceControlBtnToolTip" + value="Shows/hides voice control panel" /> + mouse_opaque="false" + name="toolbar_stack" + orientation="horizontal" + top="0" + width="1310"> + auto_resize="false" + user_resize="false" + min_width="2" + width="2" /> - + - - - - - - - - - - - - - - - - + chiclet_padding="4" + follows="left|right" + height="24" + layout="topleft" + left="1" + min_width="95" + mouse_opaque="false" + name="chiclet_list" + top="7" + width="189"> + auto_resize="false" + follows="right" + height="28" + layout="topleft" + min_height="28" + min_width="37" + name="notification_well_panel" + top="0" + user_resize="false" + width="37"> + follows="right" + height="23" + layout="topleft" + left="0" + max_displayed_count="99" + name="notification_well" + top="5" + width="35"> + auto_resize="false" + user_resize="false" + min_width="4" + name="DUMMY2" + width="8" /> diff --git a/indra/newview/skins/minimal/xui/en/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/en/panel_adhoc_control_panel.xml index 5730adab8a..39d1a90850 100644 --- a/indra/newview/skins/minimal/xui/en/panel_adhoc_control_panel.xml +++ b/indra/newview/skins/minimal/xui/en/panel_adhoc_control_panel.xml @@ -42,5 +42,40 @@ show_speaking_indicator="false" width="147" /> + + - - Default - - - Default system device - - - No device - - - - Input - - - - My volume: - - - - Please wait - - - - - - - - - Output - - - + top="314" + width="345" + left="18" + class="panel_voice_device_settings"/> diff --git a/indra/newview/skins/default/xui/en/panel_sound_devices.xml b/indra/newview/skins/default/xui/en/panel_sound_devices.xml new file mode 100644 index 0000000000..9812281323 --- /dev/null +++ b/indra/newview/skins/default/xui/en/panel_sound_devices.xml @@ -0,0 +1,163 @@ + + + Default + + + Default system device + + + No device + + + + Input + + + + My volume: + + + + Please wait + + + + + + + + + Output + + + diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml index 99807d4717..d27c14f4e7 100644 --- a/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml +++ b/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml @@ -21,6 +21,7 @@ width="20" /> Date: Thu, 12 May 2011 18:17:35 -0700 Subject: WIP VWR-23688 adding es and pt missing translation; add 1 zh file for testing Traditional Chinese as a new language --- indra/newview/skins/default/xui/es/strings.xml | 3 ++ indra/newview/skins/default/xui/pt/strings.xml | 3 ++ indra/newview/skins/default/xui/zh/panel_login.xml | 41 ++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 indra/newview/skins/default/xui/zh/panel_login.xml diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml index 75126e74c5..5a913c4c9d 100644 --- a/indra/newview/skins/default/xui/es/strings.xml +++ b/indra/newview/skins/default/xui/es/strings.xml @@ -3588,6 +3588,9 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE]. Conferencia con [AGENT_NAME] + + Ofrecido el item del inventario + (La sesión de MI no existe) diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml index 6466f42c75..1dbbcafb0e 100644 --- a/indra/newview/skins/default/xui/pt/strings.xml +++ b/indra/newview/skins/default/xui/pt/strings.xml @@ -3587,6 +3587,9 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Conversa com [AGENT_NAME] + + Oferta de item de inventário + (Sessão de MI inexistente) diff --git a/indra/newview/skins/default/xui/zh/panel_login.xml b/indra/newview/skins/default/xui/zh/panel_login.xml new file mode 100644 index 0000000000..9d094ff731 --- /dev/null +++ b/indra/newview/skins/default/xui/zh/panel_login.xml @@ -0,0 +1,41 @@ + + + + + + 使用者å稱: + + + 密碼: + + +