CHOP-959: Honor --graphicslevel switch even on first viewer run.
Previous CHOP-959 logic set a flag to remember that settings variable RenderQualityPerformance was set (by --graphicslevel), so it could be applied once LLViewerWindow is constructed. But on first viewer run, LLViewerWindow constructor calls LLFeatureManager::applyRecommendedSettings(), which resets that settings variable! So don't just set a flag, actually capture the requested RenderQualityPerformance value for later.meow-7.2.2
parent
d8565b05a5
commit
32a953f65e
|
|
@ -668,7 +668,6 @@ LLAppViewer::LLAppViewer() :
|
|||
mSecondInstance(false),
|
||||
mSavedFinalSnapshot(false),
|
||||
mSavePerAccountSettings(false), // don't save settings on logout unless login succeeded.
|
||||
mForceGraphicsDetail(false),
|
||||
mQuitRequested(false),
|
||||
mLogoutRequestSent(false),
|
||||
mYieldTime(-1),
|
||||
|
|
@ -2563,11 +2562,19 @@ bool LLAppViewer::initConfiguration()
|
|||
|
||||
if (clp.hasOption("graphicslevel"))
|
||||
{
|
||||
// User explicitly requested --graphicslevel on the command line.
|
||||
// We expect this switch has already set RenderQualityPerformance.
|
||||
// Check that value for validity; if valid, we'll engage it later.
|
||||
mForceGraphicsDetail =
|
||||
LLFeatureManager::instance().isValidGraphicsLevel(gSavedSettings.getU32("RenderQualityPerformance"));
|
||||
// User explicitly requested --graphicslevel on the command line. We
|
||||
// expect this switch has already set RenderQualityPerformance. Check
|
||||
// that value for validity.
|
||||
U32 graphicslevel = gSavedSettings.getU32("RenderQualityPerformance");
|
||||
if (LLFeatureManager::instance().isValidGraphicsLevel(graphicslevel))
|
||||
{
|
||||
// graphicslevel is valid: save it and engage it later. Capture
|
||||
// the requested value separately from the settings variable
|
||||
// because, if this is the first run, LLViewerWindow's constructor
|
||||
// will call LLFeatureManager::applyRecommendedSettings(), which
|
||||
// overwrites this settings variable!
|
||||
mForceGraphicsLevel = graphicslevel;
|
||||
}
|
||||
}
|
||||
|
||||
LLFastTimerView::sAnalyzePerformance = gSavedSettings.getBOOL("AnalyzePerformance");
|
||||
|
|
@ -3125,11 +3132,12 @@ bool LLAppViewer::initWindow()
|
|||
// Initialize GL stuff
|
||||
//
|
||||
|
||||
if (mForceGraphicsDetail)
|
||||
if (mForceGraphicsLevel)
|
||||
{
|
||||
LLFeatureManager::getInstance()->setGraphicsLevel(gSavedSettings.getU32("RenderQualityPerformance"), false);
|
||||
LLFeatureManager::getInstance()->setGraphicsLevel(*mForceGraphicsLevel, false);
|
||||
gSavedSettings.setU32("RenderQualityPerformance", *mForceGraphicsLevel);
|
||||
}
|
||||
|
||||
|
||||
// Set this flag in case we crash while initializing GL
|
||||
gSavedSettings.setBOOL("RenderInitError", TRUE);
|
||||
gSavedSettings.saveToFile( gSavedSettings.getString("ClientSettingsFile"), TRUE );
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@
|
|||
#include "llsys.h" // for LLOSInfo
|
||||
#include "lltimer.h"
|
||||
#include "llappcorehttp.h"
|
||||
#include <boost/optional.hpp>
|
||||
|
||||
class LLCommandLineParser;
|
||||
class LLFrameTimer;
|
||||
|
|
@ -258,7 +259,7 @@ private:
|
|||
bool mSavedFinalSnapshot;
|
||||
bool mSavePerAccountSettings; // only save per account settings if login succeeded
|
||||
|
||||
bool mForceGraphicsDetail;
|
||||
boost::optional<U32> mForceGraphicsLevel;
|
||||
|
||||
bool mQuitRequested; // User wants to quit, may have modified documents open.
|
||||
bool mLogoutRequestSent; // Disconnect message sent to simulator, no longer safe to send messages to the sim.
|
||||
|
|
|
|||
Loading…
Reference in New Issue