summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2016-03-04 16:42:41 -0500
committerOz Linden <oz@lindenlab.com>2016-03-04 16:42:41 -0500
commit09f43945d598b50a31bdbe4a3f86c73d909ec9bc (patch)
treed18397fce58dc681ff86a9b7d9e9e7b9df1a2b9a /indra/newview
parent2ed1fd432ae40df91343f8c21dc6ed80abca9f0e (diff)
MAINT-5721: set new (much lower) limits for RenderAutoMuteSurfaceAreaLimit, but also disable if RenderAvatarMaxComplexity is unlimited (zero)
Diffstat (limited to 'indra/newview')
-rwxr-xr-xindra/newview/app_settings/high_graphics.xml2
-rwxr-xr-xindra/newview/app_settings/low_graphics.xml2
-rwxr-xr-xindra/newview/app_settings/mid_graphics.xml2
-rwxr-xr-xindra/newview/app_settings/settings.xml6
-rwxr-xr-xindra/newview/app_settings/ultra_graphics.xml2
-rwxr-xr-xindra/newview/featuretable.txt3
-rwxr-xr-xindra/newview/featuretable_mac.txt3
-rwxr-xr-xindra/newview/llvoavatar.cpp16
8 files changed, 20 insertions, 16 deletions
diff --git a/indra/newview/app_settings/high_graphics.xml b/indra/newview/app_settings/high_graphics.xml
index f66ba3c4df..c38b3fcda4 100755
--- a/indra/newview/app_settings/high_graphics.xml
+++ b/indra/newview/app_settings/high_graphics.xml
@@ -29,7 +29,7 @@
<!--Avater Impostors and Visual Muting Limits-->
<RenderAvatarMaxNonImpostors value="20"/>
<RenderAvatarMaxComplexity value="350000"/>
- <RenderAutoMuteSurfaceAreaLimit value="10.0E6"/>
+ <RenderAutoMuteSurfaceAreaLimit value="1250.0"/>
<!--Default for now-->
<RenderVolumeLODFactor value="1.125"/>
<!--NO SHADERS-->
diff --git a/indra/newview/app_settings/low_graphics.xml b/indra/newview/app_settings/low_graphics.xml
index 304e7c7347..b0ddb5bd56 100755
--- a/indra/newview/app_settings/low_graphics.xml
+++ b/indra/newview/app_settings/low_graphics.xml
@@ -29,7 +29,7 @@
<!--Avater Impostors and Visual Muting Limits-->
<RenderAvatarMaxNonImpostors value="12"/>
<RenderAvatarMaxComplexity value="75000"/>
- <RenderAutoMuteSurfaceAreaLimit value="10.0E6"/>
+ <RenderAutoMuteSurfaceAreaLimit value="750.0"/>
<!--Default for now-->
<RenderVolumeLODFactor value="1.125"/>
<!--NO SHADERS-->
diff --git a/indra/newview/app_settings/mid_graphics.xml b/indra/newview/app_settings/mid_graphics.xml
index 68f193a15f..41344f935d 100755
--- a/indra/newview/app_settings/mid_graphics.xml
+++ b/indra/newview/app_settings/mid_graphics.xml
@@ -29,7 +29,7 @@
<!--Avater Impostors and Visual Muting Limits-->
<RenderAvatarMaxNonImpostors value="18"/>
<RenderAvatarMaxComplexity value="100000"/>
- <RenderAutoMuteSurfaceAreaLimit value="10.0E6"/>
+ <RenderAutoMuteSurfaceAreaLimit value="1000.0"/>
<!--Default for now-->
<RenderVolumeLODFactor value="1.125"/>
<!--NO SHADERS-->
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index bb8b810b93..ef6107b1d5 100755
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -10030,13 +10030,15 @@
<key>RenderAutoMuteSurfaceAreaLimit</key>
<map>
<key>Comment</key>
- <string>Maximum surface area of attachments before an avatar is rendered as a simple impostor (0 to not use this limit).</string>
+ <string>Maximum surface area of attachments before an avatar is
+ rendered as a simple impostor (to not use this limit, set to zero
+ or set RenderAvatarMaxComplexity to zero).</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
- <real>10.0E6</real>
+ <real>1000.0</real>
</map>
<key>RenderAutoMuteLogging</key>
<map>
diff --git a/indra/newview/app_settings/ultra_graphics.xml b/indra/newview/app_settings/ultra_graphics.xml
index a333634fea..6b8956bf79 100755
--- a/indra/newview/app_settings/ultra_graphics.xml
+++ b/indra/newview/app_settings/ultra_graphics.xml
@@ -30,7 +30,7 @@
based on default graphics setting -->
<RenderAvatarMaxNonImpostors value="0"/>
<RenderAvatarMaxComplexity value="0"/>
- <RenderAutoMuteSurfaceAreaLimit value="10.0E6"/>
+ <RenderAutoMuteSurfaceAreaLimit value="1500.0"/>
<!--Default for now-->
<RenderVolumeLODFactor value="2.0"/>
<!--NO SHADERS-->
diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt
index 3b58b943cf..222a992f03 100755
--- a/indra/newview/featuretable.txt
+++ b/indra/newview/featuretable.txt
@@ -34,8 +34,7 @@ RenderAvatarPhysicsLODFactor 1 1.0
RenderAvatarMaxNonImpostors 1 16
RenderAvatarMaxComplexity 1 80000
RenderAvatarVP 1 1
-RenderAutoMuteByteLimit 1 10000000
-RenderAutoMuteSurfaceAreaLimit 1 1.0E6
+RenderAutoMuteSurfaceAreaLimit 1 1000.0
RenderCubeMap 1 1
RenderDelayVBUpdate 1 0
RenderFarClip 1 256
diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt
index 024aab83dd..f46de50ef6 100755
--- a/indra/newview/featuretable_mac.txt
+++ b/indra/newview/featuretable_mac.txt
@@ -34,8 +34,7 @@ RenderAvatarPhysicsLODFactor 1 1.0
RenderAvatarMaxNonImpostors 1 12
RenderAvatarMaxComplexity 1 60000
RenderAvatarVP 1 1
-RenderAutoMuteByteLimit 1 10000000
-RenderAutoMuteSurfaceAreaLimit 1 1.0E6
+RenderAutoMuteSurfaceAreaLimit 1 1000.0
RenderCubeMap 1 1
RenderDelayVBUpdate 1 0
RenderFarClip 1 256
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index c88f5d1fce..e5d440fa3e 100755
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -6522,10 +6522,14 @@ bool LLVOAvatar::isTooComplex() const
{
// Determine if visually muted or not
static LLCachedControl<U32> max_render_cost(gSavedSettings, "RenderAvatarMaxComplexity", 0U);
- static LLCachedControl<F32> max_attachment_area(gSavedSettings, "RenderAutoMuteSurfaceAreaLimit", 10.0E6f);
- too_complex = ((max_render_cost > 0 && mVisualComplexity > max_render_cost)
- || (max_attachment_area > 0.0f && mAttachmentSurfaceArea > max_attachment_area)
- );
+ static LLCachedControl<F32> max_attachment_area(gSavedSettings, "RenderAutoMuteSurfaceAreaLimit", 1000.0f);
+ // If the user has chosen unlimited max complexity, we also disregard max attachment area
+ // so that unlimited will completely disable the overly complex impostor rendering
+ // yes, this leaves them vulnerable to griefing objects... their choice
+ too_complex = ( max_render_cost > 0
+ && ( mVisualComplexity > max_render_cost
+ || (max_attachment_area > 0.0f && mAttachmentSurfaceArea > max_attachment_area)
+ ));
}
return too_complex;
@@ -8282,10 +8286,10 @@ void LLVOAvatar::idleUpdateRenderComplexity()
mText->addLine(info_line, info_color, info_style);
// Attachment Surface Area
- static LLCachedControl<F32> max_attachment_area(gSavedSettings, "RenderAutoMuteSurfaceAreaLimit", 10.0E6f);
+ static LLCachedControl<F32> max_attachment_area(gSavedSettings, "RenderAutoMuteSurfaceAreaLimit", 1000.0f);
info_line = llformat("%.2f m^2", mAttachmentSurfaceArea);
- if (max_attachment_area != 0) // zero means don't care, so don't bother coloring based on this
+ if (max_render_cost != 0 && max_attachment_area != 0) // zero means don't care, so don't bother coloring based on this
{
green_level = 1.f-llclamp((mAttachmentSurfaceArea-max_attachment_area)/max_attachment_area, 0.f, 1.f);
red_level = llmin(mAttachmentSurfaceArea/max_attachment_area, 1.f);