diff options
-rw-r--r-- | indra/newview/app_settings/settings.xml | 11 | ||||
-rw-r--r-- | indra/newview/llfeaturemanager.cpp | 9 |
2 files changed, 16 insertions, 4 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 54246da92b..cda71dd9b0 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -8828,6 +8828,17 @@ <key>Value</key> <integer>0</integer> </map> + <key>RenderClass1MemoryBandwidth</key> + <map> + <key>Comment</key> + <string>Memory bandwidth at which to default to Class 1 in gigabytes per second. Used as basis for higher classes.</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <real>32.0</real> + </map> <key>RenderCloudShadowAmbianceFactor</key> <map> <key>Comment</key> diff --git a/indra/newview/llfeaturemanager.cpp b/indra/newview/llfeaturemanager.cpp index b8143eb545..a2aae91ae1 100644 --- a/indra/newview/llfeaturemanager.cpp +++ b/indra/newview/llfeaturemanager.cpp @@ -408,6 +408,7 @@ bool LLFeatureManager::loadGPUClass() { if (!gSavedSettings.getBOOL("SkipBenchmark")) { + F32 class1_gbps = gSavedSettings.getF32("RenderClass1MemoryBandwidth"); //get memory bandwidth from benchmark F32 gbps; try @@ -442,19 +443,19 @@ bool LLFeatureManager::loadGPUClass() mGPUClass = GPU_CLASS_0; #endif } - else if (gbps <= 32.0f) + else if (gbps <= class1_gbps) { mGPUClass = GPU_CLASS_1; } - else if (gbps <= 64.0f) + else if (gbps <= class1_gbps *2.f) { mGPUClass = GPU_CLASS_2; } - else if (gbps <= 128.0f) + else if (gbps <= class1_gbps*4.f) { mGPUClass = GPU_CLASS_3; } - else if (gbps <= 256.0f) + else if (gbps <= class1_gbps*8.f) { mGPUClass = GPU_CLASS_4; } |