summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorGlenn Glazer <coyot@lindenlab.com>2017-07-06 15:44:13 -0700
committerGlenn Glazer <coyot@lindenlab.com>2017-07-06 15:44:13 -0700
commit42a8dbbd1629881089d77d23af4b32f2f5e1e658 (patch)
tree76efa60ba37fbe55310cf0e823c35b7bd948ce36 /indra/newview
parent61f3366eecb98229ef27e3b9ab51cbefea2195a7 (diff)
upgrade to VMP package 507104
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llfeaturemanager.cpp99
1 files changed, 54 insertions, 45 deletions
diff --git a/indra/newview/llfeaturemanager.cpp b/indra/newview/llfeaturemanager.cpp
index ad048f6668..8aa4505e57 100644
--- a/indra/newview/llfeaturemanager.cpp
+++ b/indra/newview/llfeaturemanager.cpp
@@ -403,70 +403,79 @@ F32 gpu_benchmark();
bool LLFeatureManager::loadGPUClass()
{
- //get memory bandwidth from benchmark
- F32 gbps = gpu_benchmark();
-
- if (gbps < 0.f)
- { //couldn't bench, use GLVersion
-#if LL_DARWIN
- //GLVersion is misleading on OSX, just default to class 3 if we can't bench
+ benchmark_flag = gSavedSettings.getBOOL("SkipBenchmark")
+ if (!benchmark_flag)
+ {
+ //get memory bandwidth from benchmark
+ F32 gbps = gpu_benchmark();
+
+ if (gbps < 0.f)
+ { //couldn't bench, use GLVersion
+ #if LL_DARWIN
+ //GLVersion is misleading on OSX, just default to class 3 if we can't bench
LL_WARNS() << "Unable to get an accurate benchmark; defaulting to class 3" << LL_ENDL;
- mGPUClass = GPU_CLASS_3;
-#else
- if (gGLManager.mGLVersion < 2.f)
+ mGPUClass = GPU_CLASS_3;
+ #else
+ if (gGLManager.mGLVersion < 2.f)
+ {
+ mGPUClass = GPU_CLASS_0;
+ }
+ else if (gGLManager.mGLVersion < 3.f)
+ {
+ mGPUClass = GPU_CLASS_1;
+ }
+ else if (gGLManager.mGLVersion < 3.3f)
+ {
+ mGPUClass = GPU_CLASS_2;
+ }
+ else if (gGLManager.mGLVersion < 4.f)
+ {
+ mGPUClass = GPU_CLASS_3;
+ }
+ else
+ {
+ mGPUClass = GPU_CLASS_4;
+ }
+ #endif
+ }
+ else if (gGLManager.mGLVersion <= 2.f)
+ {
+ mGPUClass = GPU_CLASS_0;
+ }
+ else if (gGLManager.mGLVersion <= 3.f)
+ {
+ mGPUClass = GPU_CLASS_1;
+ }
+ else if (gbps <= 5.f)
{
mGPUClass = GPU_CLASS_0;
}
- else if (gGLManager.mGLVersion < 3.f)
+ else if (gbps <= 8.f)
{
mGPUClass = GPU_CLASS_1;
}
- else if (gGLManager.mGLVersion < 3.3f)
+ else if (gbps <= 16.f)
{
mGPUClass = GPU_CLASS_2;
}
- else if (gGLManager.mGLVersion < 4.f)
+ else if (gbps <= 40.f)
{
mGPUClass = GPU_CLASS_3;
}
- else
+ else if (gbps <= 80.f)
{
mGPUClass = GPU_CLASS_4;
}
-#endif
- }
- else if (gGLManager.mGLVersion <= 2.f)
- {
- mGPUClass = GPU_CLASS_0;
- }
- else if (gGLManager.mGLVersion <= 3.f)
- {
- mGPUClass = GPU_CLASS_1;
- }
- else if (gbps <= 5.f)
- {
- mGPUClass = GPU_CLASS_0;
- }
- else if (gbps <= 8.f)
+ else
+ {
+ mGPUClass = GPU_CLASS_5;
+ }
+ } //end if benchmark
+ else
{
+ //setting says don't benchmark MAINT-7558
mGPUClass = GPU_CLASS_1;
}
- else if (gbps <= 16.f)
- {
- mGPUClass = GPU_CLASS_2;
- }
- else if (gbps <= 40.f)
- {
- mGPUClass = GPU_CLASS_3;
- }
- else if (gbps <= 80.f)
- {
- mGPUClass = GPU_CLASS_4;
- }
- else
- {
- mGPUClass = GPU_CLASS_5;
- }
// defaults
mGPUString = gGLManager.getRawGLString();