storm-1581 (partial): reset graphics only when GPU id changes, not class, and provide better explanation in the alert message

meow-7.2.2
Oz Linden 2011-10-05 15:15:49 -04:00
parent a15701de33
commit f31cb4c790
4 changed files with 22 additions and 9 deletions

View File

@ -4589,16 +4589,16 @@
<key>Value</key>
<integer>1</integer>
</map>
<key>LastGPUClass</key>
<key>LastGPUString</key>
<map>
<key>Comment</key>
<string>[DO NOT MODIFY] previous GPU class for tracking hardware changes</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<string>String</string>
<key>Value</key>
<integer>-1</integer>
<string></string>
</map>
<key>LastFeatureVersion</key>
<map>

View File

@ -367,7 +367,9 @@ bool idle_startup()
//
// 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");
@ -377,10 +379,12 @@ bool idle_startup()
{
LLNotificationsUtil::add("DisplaySetToRecommended");
}
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 @@ bool idle_startup()
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();

View File

@ -1651,7 +1651,7 @@ LLViewerWindow::LLViewerWindow(
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();

View File

@ -2663,6 +2663,15 @@ Deed this [AREA] m² of land to the group &apos;[GROUP_NAME]&apos;?
Display settings have been set to safe levels because you have specified the -safe option.
</notification>
<notification
icon="alertmodal.tga"
name="DisplaySetToRecommendedGPUChange"
type="alertmodal">
Display settings have been set to recommended levels because your graphics card changed
from &apos;[LAST_GPU]&apos;
to &apos;[THIS_GPU]&apos;
</notification>
<notification
icon="alertmodal.tga"
name="DisplaySetToRecommended"