diff options
| -rw-r--r-- | indra/llrender/llgl.cpp | 8 | ||||
| -rw-r--r-- | indra/llrender/llgl.h | 1 | ||||
| -rw-r--r-- | indra/llui/llspinctrl.h | 3 | ||||
| -rw-r--r-- | indra/newview/lldrawpoolavatar.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/llfloaterhardwaresettings.cpp | 38 | ||||
| -rw-r--r-- | indra/newview/pipeline.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_hardware_settings.xml | 2 | 
7 files changed, 38 insertions, 19 deletions
| diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp index 20ca189e7f..946e602fee 100644 --- a/indra/llrender/llgl.cpp +++ b/indra/llrender/llgl.cpp @@ -835,14 +835,6 @@ std::string LLGLManager::getRawGLString()  	return gl_string;  } -U32 LLGLManager::getNumFBOFSAASamples(U32 samples) -{ -	samples = llmin(samples, (U32) mMaxColorTextureSamples); -	samples = llmin(samples, (U32) mMaxDepthTextureSamples); -	samples = llmin(samples, (U32) 4); -	return samples; -} -  void LLGLManager::shutdownGL()  {  	if (mInited) diff --git a/indra/llrender/llgl.h b/indra/llrender/llgl.h index dee7ec0739..6a147b8e19 100644 --- a/indra/llrender/llgl.h +++ b/indra/llrender/llgl.h @@ -150,7 +150,6 @@ public:  	void printGLInfoString();  	void getGLInfo(LLSD& info); -	U32 getNumFBOFSAASamples(U32 desired_samples = 32);  	// In ALL CAPS  	std::string mGLVendor;  	std::string mGLVendorShort; diff --git a/indra/llui/llspinctrl.h b/indra/llui/llspinctrl.h index d197084e38..87814f838e 100644 --- a/indra/llui/llspinctrl.h +++ b/indra/llui/llspinctrl.h @@ -96,6 +96,9 @@ public:  	void			onUpBtn(const LLSD& data);  	void			onDownBtn(const LLSD& data); +	 +	const LLColor4&	getEnabledTextColor() const	{ return mTextEnabledColor.get(); } +	const LLColor4&	getDisabledTextColor() const { return mTextDisabledColor.get(); }  private:  	void			updateLabelColor(); diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 60313b25a0..55b314fbb1 100644 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -657,7 +657,7 @@ void LLDrawPoolAvatar::endDeferredImpostor()  void LLDrawPoolAvatar::beginDeferredRigid()  {  	sVertexProgram = &gDeferredNonIndexedDiffuseAlphaMaskNoColorProgram; -				 +	sDiffuseChannel = sVertexProgram->enableTexture(LLViewerShaderMgr::DIFFUSE_MAP);  	sVertexProgram->bind();  	sVertexProgram->setMinimumAlpha(0.2f);  } @@ -665,6 +665,7 @@ void LLDrawPoolAvatar::beginDeferredRigid()  void LLDrawPoolAvatar::endDeferredRigid()  {  	sShaderLevel = mVertexShaderLevel; +	sVertexProgram->disableTexture(LLViewerShaderMgr::DIFFUSE_MAP);  	sVertexProgram->unbind();  	gGL.getTexUnit(0)->activate();  } diff --git a/indra/newview/llfloaterhardwaresettings.cpp b/indra/newview/llfloaterhardwaresettings.cpp index 42ec7d765b..f9a403cf9f 100644 --- a/indra/newview/llfloaterhardwaresettings.cpp +++ b/indra/newview/llfloaterhardwaresettings.cpp @@ -34,7 +34,9 @@  #include "llviewercontrol.h"  #include "llviewertexturelist.h"  #include "llfeaturemanager.h" +#include "llspinctrl.h"  #include "llstartup.h" +#include "lltextbox.h"  #include "pipeline.h"  // Linden library includes @@ -98,18 +100,40 @@ void LLFloaterHardwareSettings::refreshEnabledState()  	}  	// if no windlight shaders, turn off nighttime brightness, gamma, and fog distance -	getChildView("gamma")->setEnabled(!gPipeline.canUseWindLightShaders()); +	LLSpinCtrl* gamma_ctrl = getChild<LLSpinCtrl>("gamma"); +	gamma_ctrl->setEnabled(!gPipeline.canUseWindLightShaders());  	getChildView("(brightness, lower is brighter)")->setEnabled(!gPipeline.canUseWindLightShaders());  	getChildView("fog")->setEnabled(!gPipeline.canUseWindLightShaders()); -	getChildView("fsaa")->setEnabled(gPipeline.canUseAntiAliasing()); -	getChildView("antialiasing restart")->setVisible(!gSavedSettings.getBOOL("RenderDeferred")); -	/* Enable to reset fsaa value to disabled when feature is not available. -	if (!gPipeline.canUseAntiAliasing()) +	// anti-aliasing  	{ -		getChild<LLUICtrl>("fsaa")->setValue((LLSD::Integer) 0); +		LLUICtrl* fsaa_ctrl = getChild<LLUICtrl>("fsaa"); +		LLTextBox* fsaa_text = getChild<LLTextBox>("antialiasing label"); +		LLView* fsaa_restart = getChildView("antialiasing restart"); +		 +		// Enable or disable the control, the "Antialiasing:" label and the restart warning +		// based on code support for the feature on the current hardware. + +		if (gPipeline.canUseAntiAliasing()) +		{ +			fsaa_ctrl->setEnabled(TRUE); +			 +			// borrow the text color from the gamma control for consistency +			fsaa_text->setColor(gamma_ctrl->getEnabledTextColor()); + +			fsaa_restart->setVisible(!gSavedSettings.getBOOL("RenderDeferred")); +		} +		else +		{ +			fsaa_ctrl->setEnabled(FALSE); +			fsaa_ctrl->setValue((LLSD::Integer) 0); +			 +			// borrow the text color from the gamma control for consistency +			fsaa_text->setColor(gamma_ctrl->getDisabledTextColor()); +			 +			fsaa_restart->setVisible(FALSE); +		}  	} -	*/  }  //============================================================================ diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index c9e1b44b3f..5e9f0e3efe 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -658,7 +658,7 @@ void LLPipeline::allocatePhysicsBuffer()  void LLPipeline::allocateScreenBuffer(U32 resX, U32 resY)  {  	refreshCachedSettings(); -	U32 samples = gGLManager.getNumFBOFSAASamples(RenderFSAASamples); +	U32 samples = RenderFSAASamples;  	//try to allocate screen buffers at requested resolution and samples  	// - on failure, shrink number of samples and try again diff --git a/indra/newview/skins/default/xui/en/floater_hardware_settings.xml b/indra/newview/skins/default/xui/en/floater_hardware_settings.xml index 05f4c52b95..66bb9d3cea 100644 --- a/indra/newview/skins/default/xui/en/floater_hardware_settings.xml +++ b/indra/newview/skins/default/xui/en/floater_hardware_settings.xml @@ -35,7 +35,7 @@       height="12"       layout="topleft"       left="10" -     name="Antialiasing:" +     name="antialiasing label"       top_pad="7"       width="188">          Antialiasing: | 
