diff -r 6fc2f1ac8acb -r db8e4e2408a0 indra/newview/app_settings/settings.xml --- a/indra/newview/app_settings/settings.xml Wed Oct 05 09:03:24 2011 -0400 +++ b/indra/newview/app_settings/settings.xml Fri Oct 07 14:38:00 2011 -0400 @@ -4589,21 +4589,21 @@ Value 1 - LastGPUClass - - Comment - [DO NOT MODIFY] previous GPU class for tracking hardware changes - Persist - 1 - Type - S32 - Value - -1 + LastGPUString + + Comment + [DO NOT MODIFY] previous GPU id string for tracking hardware changes + Persist + 1 + Type + String + Value + LastFeatureVersion Comment - [DO NOT MODIFY] Version number for tracking hardware changes + [DO NOT MODIFY] Feature Table Version number for tracking rendering system changes Persist 1 Type diff -r 6fc2f1ac8acb -r db8e4e2408a0 indra/newview/featuretable.txt --- a/indra/newview/featuretable.txt Wed Oct 05 09:03:24 2011 -0400 +++ b/indra/newview/featuretable.txt Fri Oct 07 14:38:00 2011 -0400 @@ -1,4 +1,8 @@ version 32 +// The version number above should be implemented IF AND ONLY IF some +// change has been made that is sufficiently important to justify +// resetting the graphics preferences of all users to the recommended +// defaults. This should be as rare an event as we can manage. // NOTE: This is mostly identical to featuretable_mac.txt with a few differences // Should be combined into one table diff -r 6fc2f1ac8acb -r db8e4e2408a0 indra/newview/featuretable_linux.txt --- a/indra/newview/featuretable_linux.txt Wed Oct 05 09:03:24 2011 -0400 +++ b/indra/newview/featuretable_linux.txt Fri Oct 07 14:38:00 2011 -0400 @@ -1,4 +1,8 @@ version 27 +// The version number above should be implemented IF AND ONLY IF some +// change has been made that is sufficiently important to justify +// resetting the graphics preferences of all users to the recommended +// defaults. This should be as rare an event as we can manage. // NOTE: This is mostly identical to featuretable_mac.txt with a few differences // Should be combined into one table diff -r 6fc2f1ac8acb -r db8e4e2408a0 indra/newview/featuretable_mac.txt --- a/indra/newview/featuretable_mac.txt Wed Oct 05 09:03:24 2011 -0400 +++ b/indra/newview/featuretable_mac.txt Fri Oct 07 14:38:00 2011 -0400 @@ -1,4 +1,8 @@ version 30 +// The version number above should be implemented IF AND ONLY IF some +// change has been made that is sufficiently important to justify +// resetting the graphics preferences of all users to the recommended +// defaults. This should be as rare an event as we can manage. // NOTE: This is mostly identical to featuretable_mac.txt with a few differences // Should be combined into one table diff -r 6fc2f1ac8acb -r db8e4e2408a0 indra/newview/featuretable_solaris.txt --- a/indra/newview/featuretable_solaris.txt Wed Oct 05 09:03:24 2011 -0400 +++ b/indra/newview/featuretable_solaris.txt Fri Oct 07 14:38:00 2011 -0400 @@ -1,4 +1,8 @@ version 15 +// The version number above should be implemented IF AND ONLY IF some +// change has been made that is sufficiently important to justify +// resetting the graphics preferences of all users to the recommended +// defaults. This should be as rare an event as we can manage. // NOTE: This is mostly identical to featuretable.txt with a few differences // Should be combined into one table diff -r 6fc2f1ac8acb -r db8e4e2408a0 indra/newview/featuretable_xp.txt --- a/indra/newview/featuretable_xp.txt Wed Oct 05 09:03:24 2011 -0400 +++ b/indra/newview/featuretable_xp.txt Fri Oct 07 14:38:00 2011 -0400 @@ -1,4 +1,8 @@ version 31 +// The version number above should be implemented IF AND ONLY IF some +// change has been made that is sufficiently important to justify +// resetting the graphics preferences of all users to the recommended +// defaults. This should be as rare an event as we can manage. // NOTE: This is mostly identical to featuretable_mac.txt with a few differences // Should be combined into one table diff -r 6fc2f1ac8acb -r db8e4e2408a0 indra/newview/llstartup.cpp --- a/indra/newview/llstartup.cpp Wed Oct 05 09:03:24 2011 -0400 +++ b/indra/newview/llstartup.cpp Fri Oct 07 14:38:00 2011 -0400 @@ -367,7 +367,9 @@ // // Initialize stuff that doesn't need data from simulators // - + std::string lastGPU = gSavedSettings.getString("LastGPUString"); + std::string thisGPU = LLFeatureManager::getInstance()->getGPUString(); + if (LLFeatureManager::getInstance()->isSafe()) { LLNotificationsUtil::add("DisplaySetToSafe"); @@ -375,12 +377,14 @@ else if ((gSavedSettings.getS32("LastFeatureVersion") < LLFeatureManager::getInstance()->getVersion()) && (gSavedSettings.getS32("LastFeatureVersion") != 0)) { - LLNotificationsUtil::add("DisplaySetToRecommended"); + LLNotificationsUtil::add("DisplaySetToRecommendedFeatureChange"); } - else if ((gSavedSettings.getS32("LastGPUClass") != LLFeatureManager::getInstance()->getGPUClass()) && - (gSavedSettings.getS32("LastGPUClass") != -1)) + else if ( ! lastGPU.empty() && (lastGPU != thisGPU)) { - LLNotificationsUtil::add("DisplaySetToRecommended"); + LLSD subs; + subs["LAST_GPU"] = lastGPU; + subs["THIS_GPU"] = thisGPU; + LLNotificationsUtil::add("DisplaySetToRecommendedGPUChange", subs); } else if (!gViewerWindow->getInitAlert().empty()) { @@ -396,7 +400,7 @@ LLStartUp::startLLProxy(); gSavedSettings.setS32("LastFeatureVersion", LLFeatureManager::getInstance()->getVersion()); - gSavedSettings.setS32("LastGPUClass", LLFeatureManager::getInstance()->getGPUClass()); + gSavedSettings.setString("LastGPUString", thisGPU); // load dynamic GPU/feature tables from website (S3) LLFeatureManager::getInstance()->fetchHTTPTables(); diff -r 6fc2f1ac8acb -r db8e4e2408a0 indra/newview/llviewerwindow.cpp --- a/indra/newview/llviewerwindow.cpp Wed Oct 05 09:03:24 2011 -0400 +++ b/indra/newview/llviewerwindow.cpp Fri Oct 07 14:38:00 2011 -0400 @@ -1644,7 +1644,7 @@ if (LLFeatureManager::getInstance()->isSafe() || (gSavedSettings.getS32("LastFeatureVersion") != LLFeatureManager::getInstance()->getVersion()) - || (gSavedSettings.getS32("LastGPUClass") != LLFeatureManager::getInstance()->getGPUClass()) + || (gSavedSettings.getString("LastGPUString") != LLFeatureManager::getInstance()->getGPUString()) || (gSavedSettings.getBOOL("ProbeHardwareOnStartup"))) { LLFeatureManager::getInstance()->applyRecommendedSettings(); diff -r 6fc2f1ac8acb -r db8e4e2408a0 indra/newview/skins/default/xui/en/notifications.xml --- a/indra/newview/skins/default/xui/en/notifications.xml Wed Oct 05 09:03:24 2011 -0400 +++ b/indra/newview/skins/default/xui/en/notifications.xml Fri Oct 07 14:38:00 2011 -0400 @@ -2665,9 +2665,18 @@ -Display settings have been set to recommended levels based on your system configuration. + name="DisplaySetToRecommendedGPUChange" + type="alertmodal"> +Display settings have been set to recommended levels because your graphics card changed +from '[LAST_GPU]' +to '[THIS_GPU]' + + + +Display settings have been set to recommended levels because of a change to the rendering subsystem.