summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoren Shih <seraph@lindenlab.com>2010-10-11 17:37:59 -0400
committerLoren Shih <seraph@lindenlab.com>2010-10-11 17:37:59 -0400
commit3a4e38efa6547a989b19f3fb1195901571884f87 (patch)
treef8eecb083ad296fcc0e8ceabc60e4ab3639625d3
parentac6149314e8b8c1f924504969c8a3f7617c7c6a9 (diff)
SH-280 FIXED Anti-aliasing broken
SH-287 FIXED Anti-aliasing setting does not take effect until relog Added logic to control RenderUseFBO setting based on graphics quality. RenderUseFBO controls whether anti-aliasing is enabled.
-rw-r--r--indra/newview/featuretable.txt11
-rw-r--r--indra/newview/featuretable_linux.txt10
-rw-r--r--indra/newview/featuretable_mac.txt6
-rw-r--r--indra/newview/featuretable_solaris.txt6
-rw-r--r--indra/newview/featuretable_xp.txt9
-rw-r--r--indra/newview/llfloaterhardwaresettings.cpp8
-rw-r--r--indra/newview/pipeline.cpp5
-rw-r--r--indra/newview/pipeline.h1
8 files changed, 44 insertions, 12 deletions
diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt
index e3fc9d4949..f8adc15edc 100644
--- a/indra/newview/featuretable.txt
+++ b/indra/newview/featuretable.txt
@@ -61,6 +61,7 @@ RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
WatchdogDisabled 1 1
RenderUseStreamVBO 1 1
+RenderUseFBO 1 1
//
// Low Graphics Settings
@@ -89,7 +90,7 @@ SkyUseClassicClouds 1 0
RenderDeferred 1 0
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
-
+RenderUseFBO 1 0
//
// Mid Graphics Settings
@@ -116,7 +117,7 @@ WLSkyDetail 1 48
RenderDeferred 1 0
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
-
+RenderUseFBO 1 0
//
// High Graphics Settings (purty)
@@ -143,7 +144,7 @@ WLSkyDetail 1 48
RenderDeferred 1 0
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
-
+RenderUseFBO 1 1
//
// Ultra graphics (REALLY PURTY!)
@@ -170,6 +171,7 @@ WLSkyDetail 1 128
RenderDeferred 1 0
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
+RenderUseFBO 1 1
//
// Class Unknown Hardware (unknown)
@@ -244,7 +246,8 @@ WindLightUseAtmosShaders 0 0
RenderDeferred 0 0
RenderDeferredSSAO 0 0
RenderShadowDetail 0 0
-
+RenderUseFBO 1 0
+
//
// CPU based feature masks
//
diff --git a/indra/newview/featuretable_linux.txt b/indra/newview/featuretable_linux.txt
index 1bad7e5260..4a99280b06 100644
--- a/indra/newview/featuretable_linux.txt
+++ b/indra/newview/featuretable_linux.txt
@@ -60,6 +60,7 @@ RenderDeferred 1 0
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
WatchdogDisabled 1 1
+RenderUseFBO 1 1
//
// Low Graphics Settings
@@ -88,7 +89,7 @@ SkyUseClassicClouds 1 0
RenderDeferred 1 0
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
-
+RenderUseFBO 1 0
//
// Mid Graphics Settings
@@ -115,7 +116,7 @@ WLSkyDetail 1 48
RenderDeferred 1 0
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
-
+RenderUseFBO 1 0
//
// High Graphics Settings (purty)
@@ -142,7 +143,7 @@ WLSkyDetail 1 48
RenderDeferred 1 0
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
-
+RenderUseFBO 1 1
//
// Ultra graphics (REALLY PURTY!)
@@ -169,7 +170,7 @@ WLSkyDetail 1 128
RenderDeferred 1 0
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
-
+RenderUseFBO 1 1
//
// Class Unknown Hardware (unknown)
@@ -244,6 +245,7 @@ WindLightUseAtmosShaders 0 0
RenderDeferred 0 0
RenderDeferredSSAO 0 0
RenderShadowDetail 0 0
+RenderUseFBO 1 0
//
diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt
index 4fba47e3df..67cace7268 100644
--- a/indra/newview/featuretable_mac.txt
+++ b/indra/newview/featuretable_mac.txt
@@ -60,6 +60,7 @@ Disregard128DefaultDrawDistance 1 1
Disregard96DefaultDrawDistance 1 1
SkyUseClassicClouds 1 1
WatchdogDisabled 1 1
+RenderUseFBO 1 1
//
// Low Graphics Settings
@@ -87,6 +88,7 @@ VertexShaderEnable 1 0
WindLightUseAtmosShaders 1 0
WLSkyDetail 1 48
SkyUseClassicClouds 1 0
+RenderUseFBO 1 0
//
// Mid Graphics Settings
@@ -112,6 +114,7 @@ RenderWaterReflections 1 0
VertexShaderEnable 1 1
WindLightUseAtmosShaders 1 0
WLSkyDetail 1 48
+RenderUseFBO 1 0
//
// High Graphics Settings (purty)
@@ -137,6 +140,7 @@ RenderWaterReflections 1 0
VertexShaderEnable 1 1
WindLightUseAtmosShaders 1 1
WLSkyDetail 1 48
+RenderUseFBO 1 1
//
// Ultra graphics (REALLY PURTY!)
@@ -162,6 +166,7 @@ RenderWaterReflections 1 1
VertexShaderEnable 1 1
WindLightUseAtmosShaders 1 1
WLSkyDetail 1 128
+RenderUseFBO 1 1
//
// Class Unknown Hardware (unknown)
@@ -227,6 +232,7 @@ RenderUseImpostors 0 0
RenderVBOEnable 1 0
RenderWaterReflections 0 0
WindLightUseAtmosShaders 0 0
+RenderUseFBO 1 0
//
// CPU based feature masks
diff --git a/indra/newview/featuretable_solaris.txt b/indra/newview/featuretable_solaris.txt
index 0ae463332c..7df75687f2 100644
--- a/indra/newview/featuretable_solaris.txt
+++ b/indra/newview/featuretable_solaris.txt
@@ -38,6 +38,7 @@ RenderTextureMemoryMultiple 1 1.0
UseOcclusion 1 1
RenderCubeMap 1 1
WatchdogDisabled 1 1
+RenderUseFBO 1 1
//
@@ -52,6 +53,7 @@ RenderAvatarMode 1 0
RenderLighting 1 0
RenderObjectBump 1 0
RenderRippleWater 1 0
+RenderUseFBO 1 0
//
// Class 1 Hardware
@@ -65,6 +67,7 @@ RenderAvatarMode 1 0
RenderLighting 1 0
RenderObjectBump 1 0
RenderRippleWater 1 0
+RenderUseFBO 1 0
//
// Class 2 Hardware (make it purty)
@@ -76,6 +79,7 @@ RenderAvatarMode 1 1
RenderLighting 1 1
RenderObjectBump 1 1
RenderRippleWater 1 1
+RenderUseFBO 1 1
//
// Class 3 Hardware (make it purty)
@@ -87,6 +91,7 @@ RenderAvatarMode 1 1
RenderLighting 1 1
RenderObjectBump 1 1
RenderRippleWater 1 1
+RenderUseFBO 1 1
//
// No Pixel Shaders available
@@ -114,6 +119,7 @@ RenderParticleCount 1 1024
RenderTerrainDetail 1 0
RenderCubeMap 0 0
UseOcclusion 0 0
+RenderUseFBO 1 0
list low
diff --git a/indra/newview/featuretable_xp.txt b/indra/newview/featuretable_xp.txt
index 9b901022c4..1e83bc73a5 100644
--- a/indra/newview/featuretable_xp.txt
+++ b/indra/newview/featuretable_xp.txt
@@ -59,6 +59,7 @@ SkyUseClassicClouds 1 1
RenderDeferred 1 0
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
+RenderUseFBO 1 1
WatchdogDisabled 1 1
RenderUseStreamVBO 1 1
@@ -89,7 +90,7 @@ SkyUseClassicClouds 1 0
RenderDeferred 1 0
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
-
+RenderUseFBO 1 0
//
// Mid Graphics Settings
@@ -116,7 +117,7 @@ WLSkyDetail 1 48
RenderDeferred 1 0
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
-
+RenderUseFBO 1 0
//
// High Graphics Settings (purty)
@@ -143,7 +144,7 @@ WLSkyDetail 1 48
RenderDeferred 1 0
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
-
+RenderUseFBO 1 1
//
// Ultra graphics (REALLY PURTY!)
@@ -170,6 +171,7 @@ WLSkyDetail 1 128
RenderDeferred 1 0
RenderDeferredSSAO 1 0
RenderShadowDetail 1 0
+RenderUseFBO 1 1
//
// Class Unknown Hardware (unknown)
@@ -244,6 +246,7 @@ WindLightUseAtmosShaders 0 0
RenderDeferred 0 0
RenderDeferredSSAO 0 0
RenderShadowDetail 0 0
+RenderUseFBO 1 0
//
// CPU based feature masks
diff --git a/indra/newview/llfloaterhardwaresettings.cpp b/indra/newview/llfloaterhardwaresettings.cpp
index 2985626bd7..0e89ca966a 100644
--- a/indra/newview/llfloaterhardwaresettings.cpp
+++ b/indra/newview/llfloaterhardwaresettings.cpp
@@ -102,7 +102,13 @@ void LLFloaterHardwareSettings::refreshEnabledState()
getChildView("gamma")->setEnabled(!gPipeline.canUseWindLightShaders());
getChildView("(brightness, lower is brighter)")->setEnabled(!gPipeline.canUseWindLightShaders());
getChildView("fog")->setEnabled(!gPipeline.canUseWindLightShaders());
-
+ getChildView("fsaa")->setEnabled(gPipeline.canUseAntiAliasing());
+ /* Enable to reset fsaa value to disabled when feature is not available.
+ if (!gPipeline.canUseAntiAliasing())
+ {
+ getChild<LLUICtrl>("fsaa")->setValue((LLSD::Integer) 0);
+ }
+ */
}
//============================================================================
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index e69b0a2996..cb24720e7b 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -870,6 +870,11 @@ BOOL LLPipeline::canUseWindLightShadersOnObjects() const
&& LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 0);
}
+BOOL LLPipeline::canUseAntiAliasing() const
+{
+ return (gSavedSettings.getBOOL("RenderUseFBO"));
+}
+
void LLPipeline::unloadShaders()
{
LLMemType mt_us(LLMemType::MTYPE_PIPELINE_UNLOAD_SHADERS);
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index fe0683d29f..b80765dac6 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -188,6 +188,7 @@ public:
BOOL canUseVertexShaders();
BOOL canUseWindLightShaders() const;
BOOL canUseWindLightShadersOnObjects() const;
+ BOOL canUseAntiAliasing() const;
// phases
void resetFrameStats();