diff options
Diffstat (limited to 'indra/newview/llfloaterpreference.cpp')
-rw-r--r--[-rwxr-xr-x] | indra/newview/llfloaterpreference.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 724096b443..3673a28163 100755..100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -656,6 +656,13 @@ void LLFloaterPreference::onOpen(const LLSD& key) getChildView("maturity_desired_combobox")->setVisible( false); } + bool enable_mesh = gSavedSettings.getBOOL("MeshEnabled"); + + getChildView("UseLightShaders")->setVisible(enable_mesh); + getChildView("UseSSAO")->setVisible(enable_mesh); + getChildView("shadows_label")->setVisible(enable_mesh); + getChildView("ShadowDetail")->setVisible(enable_mesh); + if (LLStartUp::getStartupState() == STATE_STARTED) { mFavoritesRecordMayExist = gSavedPerAccountSettings.getBOOL("ShowFavoritesOnLogin"); @@ -1036,9 +1043,10 @@ void LLFloaterPreference::refreshEnabledState() //Deferred/SSAO/Shadows LLCheckBoxCtrl* ctrl_deferred = getChild<LLCheckBoxCtrl>("UseLightShaders"); - if (LLFeatureManager::getInstance()->isFeatureAvailable("RenderUseFBO") && - LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") && - shaders) + + if (LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") && + shaders && + gGLManager.mHasFramebufferObject) { BOOL enabled = (ctrl_wind_light->get()) ? TRUE : FALSE; @@ -1121,7 +1129,8 @@ void LLFloaterPreference::disableUnavailableSettings() } // disabled deferred - if(!LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred")) + if (!LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") || + !gGLManager.mHasFramebufferObject) { ctrl_shadows->setEnabled(FALSE); ctrl_shadows->setValue(0); |