diff options
| -rw-r--r-- | indra/newview/app_settings/settings.xml | 22 | ||||
| -rw-r--r-- | indra/newview/featuretable.txt | 14 | ||||
| -rw-r--r-- | indra/newview/featuretable_mac.txt | 14 | ||||
| -rw-r--r-- | indra/newview/llfeaturemanager.cpp | 17 | ||||
| -rw-r--r-- | indra/newview/llglsandbox.cpp | 1 | 
5 files changed, 55 insertions, 13 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 442ac8895c..8712aa7b6e 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -8770,6 +8770,28 @@        <key>Value</key>        <integer>1</integer>      </map> +  <key>RenderClass0MemoryBandwidth</key> +  <map> +    <key>Comment</key> +    <string>Memory bandwidth at which to default to Class 0 in gigabytes per second.  Used as basis for other classes.</string> +    <key>Persist</key> +    <integer>1</integer> +    <key>Type</key> +    <string>F32</string> +    <key>Value</key> +    <real>16.0</real> +  </map> +  <key>RenderCPUBasis</key> +  <map> +    <key>Comment</key> +    <string>Reference CPU clockspeed to use to bias GPU class (in MHz).</string> +    <key>Persist</key> +    <integer>1</integer> +    <key>Type</key> +    <string>F32</string> +    <key>Value</key> +    <real>3000.0</real> +  </map>    <key>RenderComplexityColorMin</key>      <map>        <key>Comment</key> diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt index 4e56141fde..a5e0e395de 100644 --- a/indra/newview/featuretable.txt +++ b/indra/newview/featuretable.txt @@ -113,6 +113,7 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	0.5  RenderAvatarMaxComplexity   1	100000  RenderAvatarPhysicsLODFactor 1	0.75 +RenderAvatarMaxNonImpostors 1   5  RenderFarClip				1	96  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	8 @@ -142,6 +143,7 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0  RenderAvatarMaxComplexity   1	200000  RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarMaxNonImpostors 1   7  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -153,7 +155,7 @@ RenderTerrainDetail			1	1  RenderTerrainLODFactor		1	2.0  RenderTransparentWater		1	1  RenderTreeLODFactor			1	0.5 -RenderVolumeLODFactor		1	1.125 +RenderVolumeLODFactor		1	1.25  WindLightUseAtmosShaders	1	1  RenderDeferred				1	0  RenderDeferredSSAO			1	0 @@ -171,6 +173,7 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0  RenderAvatarMaxComplexity   1	250000  RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarMaxNonImpostors 1   9  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -182,7 +185,7 @@ RenderTerrainDetail			1	1  RenderTerrainLODFactor		1	2.0  RenderTransparentWater		1	1  RenderTreeLODFactor			1	0.5 -RenderVolumeLODFactor		1	1.125 +RenderVolumeLODFactor		1	1.375  WindLightUseAtmosShaders	1	1  RenderDeferred				1	1  RenderDeferredSSAO			1	0 @@ -200,6 +203,7 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0  RenderAvatarMaxComplexity   1	300000  RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarMaxNonImpostors 1   11  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -211,7 +215,7 @@ RenderTerrainDetail			1	1  RenderTerrainLODFactor		1	2.0  RenderTransparentWater		1	1  RenderTreeLODFactor			1	0.5 -RenderVolumeLODFactor		1	1.125 +RenderVolumeLODFactor		1	1.5  WindLightUseAtmosShaders	1	1  RenderDeferred				1	1  RenderDeferredSSAO			1	1 @@ -229,6 +233,7 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0  RenderAvatarMaxComplexity   1	350000  RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarMaxNonImpostors 1   16  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -240,7 +245,7 @@ RenderTerrainDetail			1	1  RenderTerrainLODFactor		1	2.0  RenderTransparentWater		1	1  RenderTreeLODFactor			1	0.5 -RenderVolumeLODFactor		1	1.125 +RenderVolumeLODFactor		1	1.75  WindLightUseAtmosShaders	1	1  RenderDeferred				1	1  RenderDeferredSSAO			1	1 @@ -256,6 +261,7 @@ list Ultra  RenderAnisotropic			1	1  RenderAvatarCloth			1	1  RenderAvatarLODFactor		1	1.0 +RenderAvatarMaxNonImpostors 1   16  RenderAvatarPhysicsLODFactor 1	1.0  RenderFarClip				1	256  RenderFlexTimeFactor		1	1.0 diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt index 13ede23a91..5140614bab 100644 --- a/indra/newview/featuretable_mac.txt +++ b/indra/newview/featuretable_mac.txt @@ -112,6 +112,7 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	0.5  RenderAvatarMaxComplexity   1	100000  RenderAvatarPhysicsLODFactor 1	0.75 +RenderAvatarMaxNonImpostors 1   5  RenderFarClip				1	96  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	8 @@ -141,6 +142,7 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0  RenderAvatarMaxComplexity   1	200000  RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarMaxNonImpostors 1   7  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -152,7 +154,7 @@ RenderTerrainDetail			1	1  RenderTerrainLODFactor		1	2.0  RenderTransparentWater		1	1  RenderTreeLODFactor			1	0.5 -RenderVolumeLODFactor		1	1.125 +RenderVolumeLODFactor		1	1.25  WindLightUseAtmosShaders	1	1  RenderDeferred				1	0  RenderDeferredSSAO			1	0 @@ -170,6 +172,7 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0  RenderAvatarMaxComplexity   1	250000  RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarMaxNonImpostors 1   9  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -181,7 +184,7 @@ RenderTerrainDetail			1	1  RenderTerrainLODFactor		1	2.0  RenderTransparentWater		1	1  RenderTreeLODFactor			1	0.5 -RenderVolumeLODFactor		1	1.125 +RenderVolumeLODFactor		1	1.375  WindLightUseAtmosShaders	1	1  RenderDeferred				1	1  RenderDeferredSSAO			1	0 @@ -199,6 +202,7 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0  RenderAvatarMaxComplexity   1	300000  RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarMaxNonImpostors 1   11  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -210,7 +214,7 @@ RenderTerrainDetail			1	1  RenderTerrainLODFactor		1	2.0  RenderTransparentWater		1	1  RenderTreeLODFactor			1	0.5 -RenderVolumeLODFactor		1	1.125 +RenderVolumeLODFactor		1	1.5  WindLightUseAtmosShaders	1	1  RenderDeferred				1	1  RenderDeferredSSAO			1	1 @@ -226,6 +230,7 @@ list HighUltra  RenderAnisotropic			1	1  RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0 +RenderAvatarMaxNonImpostors 1   16  RenderAvatarMaxComplexity   1	350000  RenderAvatarPhysicsLODFactor 1	1.0  RenderFarClip				1	128 @@ -239,7 +244,7 @@ RenderTerrainDetail			1	1  RenderTerrainLODFactor		1	2.0  RenderTransparentWater		1	1  RenderTreeLODFactor			1	0.5 -RenderVolumeLODFactor		1	1.125 +RenderVolumeLODFactor		1	1.75  WindLightUseAtmosShaders	1	1  RenderDeferred				1	1  RenderDeferredSSAO			1	1 @@ -256,6 +261,7 @@ RenderAnisotropic			1	1  RenderAvatarCloth			1	1  RenderAvatarLODFactor		1	1.0  RenderAvatarPhysicsLODFactor 1	1.0 +RenderAvatarMaxNonImpostors 1   16  RenderFarClip				1	256  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 diff --git a/indra/newview/llfeaturemanager.cpp b/indra/newview/llfeaturemanager.cpp index 3240f169b3..c3780e42c6 100644 --- a/indra/newview/llfeaturemanager.cpp +++ b/indra/newview/llfeaturemanager.cpp @@ -402,6 +402,7 @@ bool LLFeatureManager::loadGPUClass()  {  	if (!gSavedSettings.getBOOL("SkipBenchmark"))  	{ +        F32 class0_gbps = gSavedSettings.getF32("RenderClass0MemoryBandwidth");  		//get memory bandwidth from benchmark  		F32 gbps;  		try @@ -418,6 +419,12 @@ bool LLFeatureManager::loadGPUClass()  			LL_WARNS("RenderInit") << "GPU benchmark failed: " << e.what() << LL_ENDL;  		} +        // bias by CPU speed +        F32 cpu_basis_mhz = gSavedSettings.getF32("RenderCPUBasis"); +        F32 cpu_mhz = (F32) gSysCPU.getMHz(); +        F32 cpu_bias = llclamp(cpu_mhz / cpu_basis_mhz, 0.5f, 1.f); +        gbps *= cpu_bias; +  		if (gbps < 0.f)  		{ //couldn't bench, use GLVersion  	#if LL_DARWIN @@ -460,23 +467,23 @@ bool LLFeatureManager::loadGPUClass()  		{  			mGPUClass = GPU_CLASS_1;  		} -		else if (gbps <= 5.f) +		else if (gbps <= class0_gbps)  		{  			mGPUClass = GPU_CLASS_0;  		} -		else if (gbps <= 8.f) +		else if (gbps <= class0_gbps*2.f)  		{  			mGPUClass = GPU_CLASS_1;  		} -		else if (gbps <= 16.f) +		else if (gbps <= class0_gbps*4.f)  		{  			mGPUClass = GPU_CLASS_2;  		} -		else if (gbps <= 40.f) +		else if (gbps <= class0_gbps*8.f)  		{  			mGPUClass = GPU_CLASS_3;  		} -		else if (gbps <= 80.f) +		else if (gbps <= class0_gbps*16.f)  		{  			mGPUClass = GPU_CLASS_4;  		} diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp index 175f1849cf..0c8e248538 100644 --- a/indra/newview/llglsandbox.cpp +++ b/indra/newview/llglsandbox.cpp @@ -984,6 +984,7 @@ private:  //-----------------------------------------------------------------------------  // gpu_benchmark() +//  returns measured memory bandwidth of GPU in gigabytes per second  //-----------------------------------------------------------------------------  F32 gpu_benchmark()  {  | 
