diff options
| -rw-r--r-- | indra/llrender/llgl.cpp | 95 | ||||
| -rw-r--r-- | indra/llrender/llgl.h | 7 | ||||
| -rw-r--r-- | indra/llrender/llimagegl.cpp | 20 | ||||
| -rw-r--r-- | indra/llrender/llimagegl.h | 5 | ||||
| -rw-r--r-- | indra/llrender/llrender2dutils.cpp | 61 | ||||
| -rw-r--r-- | indra/llrender/llshadermgr.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/app_settings/settings.xml | 11 | ||||
| -rw-r--r-- | indra/newview/featuretable.txt | 420 | ||||
| -rw-r--r-- | indra/newview/featuretable_mac.txt | 318 | ||||
| -rw-r--r-- | indra/newview/llappviewer.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/lldynamictexture.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llfeaturemanager.cpp | 55 | ||||
| -rw-r--r-- | indra/newview/llglsandbox.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llviewertexture.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llviewertexturelist.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llviewerwindow.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/pipeline.cpp | 2 | 
17 files changed, 67 insertions, 947 deletions
diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp index f24bf6ec78..64db095dec 100644 --- a/indra/llrender/llgl.cpp +++ b/indra/llrender/llgl.cpp @@ -161,7 +161,6 @@ LLMatrix4 gGLObliqueProjectionInverse;  std::list<LLGLUpdate*> LLGLUpdate::sGLQ;  #if (LL_WINDOWS || LL_LINUX)  && !LL_MESA_HEADLESS -// ATI prototypes  #if LL_WINDOWS  PFNGLGETSTRINGIPROC glGetStringi = NULL; @@ -208,21 +207,6 @@ PFNGLGETSYNCIVPROC				glGetSynciv = NULL;  PFNGLBUFFERPARAMETERIAPPLEPROC	glBufferParameteriAPPLE = NULL;  PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC glFlushMappedBufferRangeAPPLE = NULL; -// vertex object prototypes -PFNGLNEWOBJECTBUFFERATIPROC			glNewObjectBufferATI = NULL; -PFNGLISOBJECTBUFFERATIPROC			glIsObjectBufferATI = NULL; -PFNGLUPDATEOBJECTBUFFERATIPROC		glUpdateObjectBufferATI = NULL; -PFNGLGETOBJECTBUFFERFVATIPROC		glGetObjectBufferfvATI = NULL; -PFNGLGETOBJECTBUFFERIVATIPROC		glGetObjectBufferivATI = NULL; -PFNGLFREEOBJECTBUFFERATIPROC		glFreeObjectBufferATI = NULL; -PFNGLARRAYOBJECTATIPROC				glArrayObjectATI = NULL; -PFNGLVERTEXATTRIBARRAYOBJECTATIPROC	glVertexAttribArrayObjectATI = NULL; -PFNGLGETARRAYOBJECTFVATIPROC		glGetArrayObjectfvATI = NULL; -PFNGLGETARRAYOBJECTIVATIPROC		glGetArrayObjectivATI = NULL; -PFNGLVARIANTARRAYOBJECTATIPROC		glVariantObjectArrayATI = NULL; -PFNGLGETVARIANTARRAYOBJECTFVATIPROC	glGetVariantArrayObjectfvATI = NULL; -PFNGLGETVARIANTARRAYOBJECTIVATIPROC	glGetVariantArrayObjectivATI = NULL; -  // GL_ARB_occlusion_query  PFNGLGENQUERIESARBPROC glGenQueriesARB = NULL;  PFNGLDELETEQUERIESARBPROC glDeleteQueriesARB = NULL; @@ -462,14 +446,9 @@ LLGLManager::LLGLManager() :  	mHasCubeMap(FALSE),  	mHasDebugOutput(FALSE), -	mIsATI(FALSE), +	mIsAMD(FALSE),  	mIsNVIDIA(FALSE),  	mIsIntel(FALSE), -	mIsGF2or4MX(FALSE), -	mIsGF3(FALSE), -	mIsGFFX(FALSE), -	mATIOffsetVerticalLines(FALSE), -	mATIOldDriver(FALSE),  #if LL_DARWIN  	mIsMobileGF(FALSE),  #endif @@ -628,59 +607,17 @@ bool LLGLManager::initGL()  	// Trailing space necessary to keep "nVidia Corpor_ati_on" cards  	// from being recognized as ATI. +    // NOTE: AMD has been pretty good about not breaking this check, do not rename without good reason  	if (mGLVendor.substr(0,4) == "ATI ")  	{ -		mGLVendorShort = "ATI"; +		mGLVendorShort = "AMD";  		// *TODO: Fix this? -		mIsATI = TRUE; - -#if LL_WINDOWS && !LL_MESA_HEADLESS -		if (mDriverVersionRelease < 3842) -		{ -			mATIOffsetVerticalLines = TRUE; -		} -#endif // LL_WINDOWS - -#if (LL_WINDOWS || LL_LINUX) && !LL_MESA_HEADLESS -		// count any pre OpenGL 3.0 implementation as an old driver -		if (mGLVersion < 3.f)  -		{ -			mATIOldDriver = TRUE; -		} -#endif // (LL_WINDOWS || LL_LINUX) && !LL_MESA_HEADLESS +		mIsAMD = TRUE;  	}  	else if (mGLVendor.find("NVIDIA ") != std::string::npos)  	{  		mGLVendorShort = "NVIDIA";  		mIsNVIDIA = TRUE; -		if (   mGLRenderer.find("GEFORCE4 MX") != std::string::npos -			|| mGLRenderer.find("GEFORCE2") != std::string::npos -			|| mGLRenderer.find("GEFORCE 2") != std::string::npos -			|| mGLRenderer.find("GEFORCE4 460 GO") != std::string::npos -			|| mGLRenderer.find("GEFORCE4 440 GO") != std::string::npos -			|| mGLRenderer.find("GEFORCE4 420 GO") != std::string::npos) -		{ -			mIsGF2or4MX = TRUE; -		} -		else if (mGLRenderer.find("GEFORCE FX") != std::string::npos -				 || mGLRenderer.find("QUADRO FX") != std::string::npos -				 || mGLRenderer.find("NV34") != std::string::npos) -		{ -			mIsGFFX = TRUE; -		} -		else if(mGLRenderer.find("GEFORCE3") != std::string::npos) -		{ -			mIsGF3 = TRUE; -		} -#if LL_DARWIN -		else if ((mGLRenderer.find("9400M") != std::string::npos) -			  || (mGLRenderer.find("9600M") != std::string::npos) -			  || (mGLRenderer.find("9800M") != std::string::npos)) -		{ -			mIsMobileGF = TRUE; -		} -#endif -  	}  	else if (mGLVendor.find("INTEL") != std::string::npos  #if LL_LINUX @@ -834,12 +771,6 @@ bool LLGLManager::initGL()  	//HACK always disable texture multisample, use FXAA instead  	mHasTextureMultisample = FALSE;  #if LL_WINDOWS -	if (mIsATI) -	{ //using multisample textures on ATI results in black screen for some reason -		mHasTextureMultisample = FALSE; -	} - -  	if (mIsIntel && mGLVersion <= 3.f)  	{ //never try to use framebuffer objects on older intel drivers (crashy)  		mHasFramebufferObject = FALSE; @@ -1004,14 +935,9 @@ void LLGLManager::asLLSD(LLSD& info)      info["has_texture_srgb_decode"] = mHasTexturesRGBDecode;  	// Vendor-specific extensions -	info["is_ati"] = mIsATI; +	info["is_ati"] = mIsAMD;  // note, do not rename is_ati to is_amd without coordinating with DW  	info["is_nvidia"] = mIsNVIDIA;  	info["is_intel"] = mIsIntel; -	info["is_gf2or4mx"] = mIsGF2or4MX; -	info["is_gf3"] = mIsGF3; -	info["is_gf_gfx"] = mIsGFFX; -	info["ati_offset_vertical_lines"] = mATIOffsetVerticalLines; -	info["ati_old_driver"] = mATIOldDriver;  	// Other fields  	info["has_requirements"] = mHasRequirements; @@ -1138,7 +1064,7 @@ void LLGLManager::initExtensions()  	mHasDebugOutput = ExtensionExists("GL_ARB_debug_output", gGLHExts.mSysExts);  	mHasTransformFeedback = mGLVersion >= 4.f ? TRUE : FALSE;  #if !LL_DARWIN -	mHasPointParameters = !mIsATI && ExtensionExists("GL_ARB_point_parameters", gGLHExts.mSysExts); +	mHasPointParameters = ExtensionExists("GL_ARB_point_parameters", gGLHExts.mSysExts);  #endif  #endif @@ -1256,14 +1182,7 @@ void LLGLManager::initExtensions()  		LL_INFOS("RenderInit") << "Disabling mip-map generation for Intel GPUs" << LL_ENDL;  		mHasMipMapGeneration = FALSE;  	} -#if !LL_DARWIN -	if (mIsATI && mHasMipMapGeneration) -	{ -		LL_INFOS("RenderInit") << "Disabling mip-map generation for ATI GPUs (performance opt)" << LL_ENDL; -		mHasMipMapGeneration = FALSE; -	} -#endif -	 +  	// Misc  	glGetIntegerv(GL_MAX_ELEMENTS_VERTICES, (GLint*) &mGLMaxVertexRange);  	glGetIntegerv(GL_MAX_ELEMENTS_INDICES, (GLint*) &mGLMaxIndexRange); diff --git a/indra/llrender/llgl.h b/indra/llrender/llgl.h index 386d12d70a..ec97eb0faa 100644 --- a/indra/llrender/llgl.h +++ b/indra/llrender/llgl.h @@ -119,14 +119,9 @@ public:      BOOL mHasTexturesRGBDecode;  	// Vendor-specific extensions -	BOOL mIsATI; +	BOOL mIsAMD;  	BOOL mIsNVIDIA;  	BOOL mIsIntel; -	BOOL mIsGF2or4MX; -	BOOL mIsGF3; -	BOOL mIsGFFX; -	BOOL mATIOffsetVerticalLines; -	BOOL mATIOldDriver;  #if LL_DARWIN  	// Needed to distinguish problem cards on older Macs that break with Materials diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp index d3af27272b..6cdd6a3460 100644 --- a/indra/llrender/llimagegl.cpp +++ b/indra/llrender/llimagegl.cpp @@ -66,9 +66,11 @@ F32 LLImageGL::sLastFrameTime			= 0.f;  BOOL LLImageGL::sAllowReadBackRaw       = FALSE ;  LLImageGL* LLImageGL::sDefaultGLTexture = NULL ;  bool LLImageGL::sCompressTextures = false; -  std::set<LLImageGL*> LLImageGL::sImageList; + +bool LLImageGLThread::sEnabled = false; +  //****************************************************************************************************  //The below for texture auditing use only  //**************************************************************************************************** @@ -177,11 +179,15 @@ BOOL is_little_endian()  }  //static  -void LLImageGL::initClass(LLWindow* window, S32 num_catagories, BOOL skip_analyze_alpha /* = false */) +void LLImageGL::initClass(LLWindow* window, S32 num_catagories, BOOL skip_analyze_alpha /* = false */, bool multi_threaded /* = false */)  {      LL_PROFILE_ZONE_SCOPED;  	sSkipAnalyzeAlpha = skip_analyze_alpha; -    LLImageGLThread::createInstance(window); + +    if (multi_threaded) +    { +        LLImageGLThread::createInstance(window); +    }  }  //static  @@ -1511,13 +1517,6 @@ BOOL LLImageGL::createGLTexture(S32 discard_level, const U8* data_in, BOOL data_      if (mUseMipMaps)      {          mAutoGenMips = gGLManager.mHasMipMapGeneration; -#if LL_DARWIN -        // On the Mac GF2 and GF4MX drivers, auto mipmap generation doesn't work right with alpha-only textures. -        if (gGLManager.mIsGF2or4MX && (mFormatInternal == GL_ALPHA8) && (mFormatPrimary == GL_ALPHA)) -        { -            mAutoGenMips = FALSE; -        } -#endif      }      mCurrentDiscardLevel = discard_level; @@ -2272,6 +2271,7 @@ LLImageGLThread::LLImageGLThread(LLWindow* window)      , mWindow(window)  {      LL_PROFILE_ZONE_SCOPED; +    sEnabled = true;      mFinished = false;      mContext = mWindow->createSharedContext(); diff --git a/indra/llrender/llimagegl.h b/indra/llrender/llimagegl.h index 28996a554a..d6f4b13a51 100644 --- a/indra/llrender/llimagegl.h +++ b/indra/llrender/llimagegl.h @@ -278,7 +278,7 @@ public:  #endif  public: -	static void initClass(LLWindow* window, S32 num_catagories, BOOL skip_analyze_alpha = false);  +	static void initClass(LLWindow* window, S32 num_catagories, BOOL skip_analyze_alpha = false, bool multi_threaded = false);   	static void cleanupClass() ;  private: @@ -317,6 +317,9 @@ public:  class LLImageGLThread : public LLSimpleton<LLImageGLThread>, LL::ThreadPool  {  public: +    // follows gSavedSettings "RenderGLMultiThreaded" +    static bool sEnabled; +      LLImageGLThread(LLWindow* window);      // post a function to be executed on the LLImageGL background thread diff --git a/indra/llrender/llrender2dutils.cpp b/indra/llrender/llrender2dutils.cpp index ad21bd4f48..ad0c6262a4 100644 --- a/indra/llrender/llrender2dutils.cpp +++ b/indra/llrender/llrender2dutils.cpp @@ -132,40 +132,15 @@ void gl_rect_2d(S32 left, S32 top, S32 right, S32 bottom, BOOL filled )  	}  	else  	{ -		if( gGLManager.mATIOffsetVerticalLines ) -		{ -			// Work around bug in ATI driver: vertical lines are offset by (-1,-1) -			gGL.begin( LLRender::LINES ); - -				// Verticals  -				gGL.vertex2i(left + 1, top); -				gGL.vertex2i(left + 1, bottom); - -				gGL.vertex2i(right, bottom); -				gGL.vertex2i(right, top); - -				// Horizontals -				top--; -				right--; -				gGL.vertex2i(left, bottom); -				gGL.vertex2i(right, bottom); - -				gGL.vertex2i(left, top); -				gGL.vertex2i(right, top); -			gGL.end(); -		} -		else -		{ -			top--; -			right--; -			gGL.begin( LLRender::LINE_STRIP ); -				gGL.vertex2i(left, top); -				gGL.vertex2i(left, bottom); -				gGL.vertex2i(right, bottom); -				gGL.vertex2i(right, top); -				gGL.vertex2i(left, top); -			gGL.end(); -		} +		top--; +		right--; +		gGL.begin( LLRender::LINE_STRIP ); +			gGL.vertex2i(left, top); +			gGL.vertex2i(left, bottom); +			gGL.vertex2i(right, bottom); +			gGL.vertex2i(right, top); +			gGL.vertex2i(left, top); +		gGL.end();  	}  	stop_glerror();  } @@ -250,15 +225,6 @@ void gl_drop_shadow(S32 left, S32 top, S32 right, S32 bottom, const LLColor4 &st  void gl_line_2d(S32 x1, S32 y1, S32 x2, S32 y2 )  { -	// Work around bug in ATI driver: vertical lines are offset by (-1,-1) -	if( (x1 == x2) && gGLManager.mATIOffsetVerticalLines ) -	{ -		x1++; -		x2++; -		y1++; -		y2++; -	} -  	gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);  	gGL.begin(LLRender::LINES); @@ -269,15 +235,6 @@ void gl_line_2d(S32 x1, S32 y1, S32 x2, S32 y2 )  void gl_line_2d(S32 x1, S32 y1, S32 x2, S32 y2, const LLColor4 &color )  { -	// Work around bug in ATI driver: vertical lines are offset by (-1,-1) -	if( (x1 == x2) && gGLManager.mATIOffsetVerticalLines ) -	{ -		x1++; -		x2++; -		y1++; -		y2++; -	} -  	gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);  	gGL.color4fv( color.mV ); diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index 6a53662619..c100c182dd 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -782,7 +782,7 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade  		}  	} -	if( gGLManager.mIsATI ) +	if( gGLManager.mIsAMD )  	{  		extra_code_text[extra_code_count++] = strdup( "#define IS_AMD_CARD 1\n" );  	} diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 167483783e..526d898b33 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -9818,7 +9818,18 @@        <key>Type</key>        <string>Boolean</string>        <key>Value</key> +      <integer>0</integer> +    </map> +    <key>RenderGLMultiThreaded</key> +    <map> +      <key>Comment</key> +      <string>Allow OpenGL to use multiple render contexts (reduces frame stutters from loading textures, doesn't play nice with Intel drivers).</string> +      <key>Persist</key>        <integer>1</integer> +      <key>Type</key> +      <string>Boolean</string> +      <key>Value</key> +      <integer>0</integer>      </map>      <key>RenderGlow</key>      <map> diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt index bd66641db9..4e56141fde 100644 --- a/indra/newview/featuretable.txt +++ b/indra/newview/featuretable.txt @@ -1,4 +1,4 @@ -version 33 +version 34  // The version number above should be incremented IF AND ONLY IF some  // change has been made that is sufficiently important to justify  // resetting the graphics preferences of all users to the recommended @@ -71,37 +71,8 @@ RenderUseStreamVBO			1	1  RenderFSAASamples			1	16  RenderMaxTextureIndex		1	16  RenderGLCoreProfile         1   1 +RenderGLMultiThreaded       1   1 -// -// Low Graphics Settings (fixed function) -// -list LowFixedFunction -RenderAnisotropic			1	0 -RenderAvatarCloth			1	0 -RenderAvatarLODFactor		1	0 -RenderAvatarPhysicsLODFactor 1	0 -RenderAvatarMaxNonImpostors 1   3 -RenderAvatarMaxComplexity          1	25000 -RenderAvatarVP				1	0 -RenderFarClip				1	64 -RenderFlexTimeFactor		1	0 -RenderGlowResolutionPow		1	8 -RenderLocalLights			1	0 -RenderMaxPartCount			1	0 -RenderObjectBump			1	0 -RenderReflectionDetail		1	0 -RenderTerrainDetail			1	0 -RenderTerrainLODFactor		1	1 -RenderTransparentWater		1	0 -RenderTreeLODFactor			1	0 -RenderVolumeLODFactor		1	1.125 -WindLightUseAtmosShaders	1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0 -RenderUseAdvancedAtmospherics 1 0 -RenderShadowDetail			1	0 -WLSkyDetail					1	48 -RenderFSAASamples			1	0  //  // Low Graphics Settings @@ -113,7 +84,6 @@ RenderAvatarLODFactor		1	0  RenderAvatarPhysicsLODFactor 1	0  RenderAvatarMaxNonImpostors 1   3  RenderAvatarMaxComplexity          1	35000 -RenderAvatarVP				1	0  RenderFarClip				1	64  RenderFlexTimeFactor		1	0  RenderGlowResolutionPow		1	8 @@ -143,7 +113,6 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	0.5  RenderAvatarMaxComplexity   1	100000  RenderAvatarPhysicsLODFactor 1	0.75 -RenderAvatarVP				1	1  RenderFarClip				1	96  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	8 @@ -173,7 +142,6 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0  RenderAvatarMaxComplexity   1	200000  RenderAvatarPhysicsLODFactor 1	1.0 -RenderAvatarVP				1	1  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -203,7 +171,6 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0  RenderAvatarMaxComplexity   1	250000  RenderAvatarPhysicsLODFactor 1	1.0 -RenderAvatarVP				1	1  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -233,7 +200,6 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0  RenderAvatarMaxComplexity   1	300000  RenderAvatarPhysicsLODFactor 1	1.0 -RenderAvatarVP				1	1  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -263,7 +229,6 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0  RenderAvatarMaxComplexity   1	350000  RenderAvatarPhysicsLODFactor 1	1.0 -RenderAvatarVP				1	1  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -292,7 +257,6 @@ RenderAnisotropic			1	1  RenderAvatarCloth			1	1  RenderAvatarLODFactor		1	1.0  RenderAvatarPhysicsLODFactor 1	1.0 -RenderAvatarVP				1	1  RenderFarClip				1	256  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -317,415 +281,45 @@ RenderFSAASamples			1	2  // Class Unknown Hardware (unknown)  //  list Unknown -RenderVBOEnable				1	0  RenderShadowDetail			1	0  RenderDeferred				1	0  RenderDeferredSSAO			1	0  RenderUseAdvancedAtmospherics 1 0  // -// Class 0 Hardware (just old) -// -list Class0 -RenderVBOEnable				1	1 - -// -// Class 1 Hardware -// -list Class1 -RenderVBOEnable				1	1 - -// -// Class 2 Hardware -// -list Class2 -RenderVBOEnable				1	1 - -// -// Class 3 Hardware -// -list Class3 -RenderVBOEnable				1	1 - -// -// Class 4 Hardware -// -list Class4 -RenderVBOEnable				1	1 - -// -// Class 5 Hardware -// -list Class5 -RenderVBOEnable				1	1 - -//  // VRAM > 512MB  //  list VRAMGT512  RenderCompressTextures		1	0  // -// No Pixel Shaders available -// -list NoPixelShaders -RenderAvatarVP				0	0 -RenderAvatarCloth			0	0 -RenderReflectionDetail		0	0 -WindLightUseAtmosShaders	0	0 -RenderDeferred				0	0 -RenderDeferredSSAO			0	0 -RenderShadowDetail			0	0 -RenderUseAdvancedAtmospherics 0 0 - -// -// No Vertex Shaders available -// -list NoVertexShaders -RenderAvatarVP				0	0 -RenderAvatarCloth			0	0 -RenderReflectionDetail		0	0 -WindLightUseAtmosShaders	0	0 -RenderDeferred				0	0 -RenderDeferredSSAO			0	0 -RenderShadowDetail			0	0 -RenderUseAdvancedAtmospherics 0 0 - -// -// GL_ARB_map_buffer_range exists -// -list MapBufferRange -RenderVBOMappingDisable		1	1 - - -//  // "Default" setups for safe, low, medium, high  //  list safe  RenderAnisotropic			1	0  RenderAvatarCloth			0	0 -RenderAvatarVP				0	0  RenderAvatarMaxNonImpostors 1	16  RenderAvatarMaxComplexity          1	80000  RenderObjectBump			0	0  RenderLocalLights			1	0  RenderMaxPartCount			1	1024  RenderTerrainDetail 		1	0 -RenderVBOEnable				1	0  RenderReflectionDetail		0	0  WindLightUseAtmosShaders	0	0  RenderDeferred				0	0  RenderDeferredSSAO			0	0  RenderShadowDetail			0	0 -// -// CPU based feature masks -// - -// 1Ghz or less (equiv) -list CPUSlow -RenderMaxPartCount			1	1024 - -// -// RAM based feature masks -// -list RAM256MB -RenderObjectBump			0	0 - -// -// Graphics card based feature masks -// -list OpenGLPre15 -RenderVBOEnable				1	0 - -list OpenGLPre30 -RenderDeferred				0	0 -RenderMaxTextureIndex		1	1 -  list Intel  RenderAnisotropic			1	0 -RenderVBOEnable				1	0  RenderFSAASamples			1	0 +RenderGLMultiThreaded       1   0 +RenderGLCoreProfile         1   0 -list GeForce2 -RenderAnisotropic			1	0 -RenderMaxPartCount			1	2048 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	1 - -list SiS -UseOcclusion				0	0 - - -list Intel_830M -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_845G					 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_855GM				 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_865G			 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_900		 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_915GM	 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_915G					 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_945GM			 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_945G -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_950 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_965 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 -UseOcclusion				0	0 - -list Intel_G33 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_G45 -WindLightUseAtmosShaders		0	0 - -list Intel_Bear_Lake	 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_Broadwater  -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_Brookdale	 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_Eaglelake -WindLightUseAtmosShaders	0	0 - -list Intel_Montara -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_Springdale -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - - -list ATI_FireGL_5200 -RenderVBOEnable				1	0 -WindLightUseAtmosShaders	0	0 - - -list ATI_Mobility_Radeon_7xxx -RenderVBOEnable				0	0 - -list ATI_Radeon_7xxx -RenderVBOEnable				0	0 - -list ATI_All-in-Wonder_Radeon -RenderVBOEnable				0	0 - -list ATI_All-in-Wonder_7500 -RenderVBOEnable				0	0 - -list ATI_Mobility_Radeon_9600 -Disregard96DefaultDrawDistance	1	0 - - -/// tweaked ATI to 96 Draw distance - -list ATI_Radeon_9000 -Disregard96DefaultDrawDistance	1	0 -list ATI_Radeon_9200 -Disregard96DefaultDrawDistance	1	0 -list ATI_Radeon_9500 -Disregard96DefaultDrawDistance	1	0 -list ATI_Radeon_9600 -Disregard96DefaultDrawDistance	1	0 - -/// tweaked ATI to 128 draw distance - -list ATI_Radeon_X300  -Disregard128DefaultDrawDistance	1	0 -RenderVBOEnable				1	0 -list ATI_Radeon_X400  -Disregard128DefaultDrawDistance	1	0 -RenderVBOEnable				1	0 -list ATI_Radeon_X500  -Disregard128DefaultDrawDistance	1	0 -RenderVBOEnable				1	0 -list ATI_Radeon_X600  -Disregard128DefaultDrawDistance	1	0 -RenderVBOEnable				1	0 -list ATI_Radeon_X700  -Disregard128DefaultDrawDistance	1	0 -RenderVBOEnable				1	0 -list ATI_Radeon_X1300  -Disregard128DefaultDrawDistance	1	0 -RenderVBOEnable				1	0 -UseStartScreen					0	0 -list ATI_Radeon_X1400  -Disregard128DefaultDrawDistance	1	0 -RenderVBOEnable				1	0 -list ATI_Radeon_X1500  -Disregard128DefaultDrawDistance	1	0 -RenderVBOEnable				1	0 -UseStartScreen					0	0 -list ATI_Radeon_X1600  -Disregard128DefaultDrawDistance	1	0 -RenderVBOEnable				1	0 -list ATI_Radeon_X1700  -Disregard128DefaultDrawDistance	1	0 -RenderVBOEnable				1	0 -list ATI_Mobility_Radeon_X1xxx -Disregard128DefaultDrawDistance	1	0 -RenderVBOEnable				1	0 - -list ATI_Radeon_HD_2300 -Disregard128DefaultDrawDistance	1	0 -list ATI_Radeon_HD_2400 -Disregard128DefaultDrawDistance	1	0 -list ATI_ASUS_AH24xx -Disregard128DefaultDrawDistance	1	0 - - -// Avatar hardware skinning causes invisible avatars -// on various ATI chipsets on drivers before 8.2 - -list ATIOldDriver -RenderAvatarVP				0	0 -RenderAvatarCloth			0	0 -RenderVBOEnable				1	0 - -// ATI cards generally perform better when not using VBOs for streaming data -// ATI cards also prefer an OpenGL Compatibility Profile Context -list ATI +// AMD cards generally perform better when not using VBOs for streaming data +// AMD cards also prefer an OpenGL Compatibility Profile Context +list AMD  RenderUseStreamVBO			1	0  RenderGLCoreProfile         1   0 -// Disable vertex buffer objects by default for ATI cards with little video memory -list ATIVramLT256 -RenderVBOEnable				1	0 - -/// Tweaked NVIDIA - -list NVIDIA_GeForce_FX_5100 -Disregard96DefaultDrawDistance	1	0 -list NVIDIA_GeForce_FX_5200 -Disregard96DefaultDrawDistance	1	0 -list NVIDIA_GeForce_FX_5500 -Disregard96DefaultDrawDistance	1	0 -list NVIDIA_GeForce_FX_5600 -Disregard96DefaultDrawDistance	1	0 - -list NVIDIA_GeForce_FX_Go5100 -Disregard96DefaultDrawDistance	1	0 -list NVIDIA_GeForce_FX_Go5200 -Disregard96DefaultDrawDistance	1	0 -list NVIDIA_GeForce_FX_Go5300 -Disregard96DefaultDrawDistance	1	0 -list NVIDIA_GeForce_FX_Go5500 -Disregard96DefaultDrawDistance	1	0 -list NVIDIA_GeForce_FX_Go5600 -Disregard96DefaultDrawDistance	1	0 - -list NVIDIA_GeForce_6100 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_6200 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_6500 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_6600 -Disregard128DefaultDrawDistance	1	0 - -list NVIDIA_G73 -Disregard128DefaultDrawDistance	1	0 - -list NVIDIA_GeForce_Go_6100 -RenderVBOEnable				1	0 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_Go_6200 -RenderVBOEnable				1	0 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_Go_6500 -RenderVBOEnable				1	0 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_Go_6600 -RenderVBOEnable				1	0 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_Go_6700 -RenderVBOEnable				1	0 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_Go_6800 -RenderVBOEnable				1	0 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_Go_6 -RenderVBOEnable				1	0 -Disregard128DefaultDrawDistance	1	0 - -list NVIDIA_GeForce_7000 -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_7100 -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_7200 -Disregard128DefaultDrawDistance	1	0 -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_7300 -Disregard128DefaultDrawDistance	1	0 -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_7400 -Disregard128DefaultDrawDistance	1	0 -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_7500 -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_7600 -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_7700 -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_7800 -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_7900 -RenderShaderLightingMaxLevel	1	2 - -list NVIDIA_GeForce_Go_7200 -Disregard128DefaultDrawDistance	1	0 -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_Go_7300 -Disregard128DefaultDrawDistance	1	0 -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_Go_7300_LE -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_Go_7400 -Disregard128DefaultDrawDistance	1	0 -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_Go_7600 -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_Go_7700 -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_Go_7800 -RenderShaderLightingMaxLevel	1	2 -list NVIDIA_GeForce_Go_7900 -RenderShaderLightingMaxLevel	1	2 diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt index bac6fd5708..13ede23a91 100644 --- a/indra/newview/featuretable_mac.txt +++ b/indra/newview/featuretable_mac.txt @@ -1,4 +1,4 @@ -version 37 +version 38  // The version number above should be incremented IF AND ONLY IF some  // change has been made that is sufficiently important to justify  // resetting the graphics preferences of all users to the recommended @@ -70,37 +70,8 @@ RenderShadowDetail			1	2  RenderUseStreamVBO			1	1  RenderFSAASamples			1	16  RenderMaxTextureIndex		1	16 - -// -// Low Graphics Settings (fixed function) -// -list LowFixedFunction -RenderAnisotropic			1	0 -RenderAvatarCloth			1	0 -RenderAvatarLODFactor		1	0 -RenderAvatarPhysicsLODFactor 1	0 -RenderAvatarMaxNonImpostors 1   3 -RenderAvatarMaxComplexity          1	25000 -RenderAvatarVP				1	0 -RenderFarClip				1	64 -RenderFlexTimeFactor		1	0 -RenderGlowResolutionPow		1	8 -RenderLocalLights			1	0 -RenderMaxPartCount			1	0 -RenderObjectBump			1	0 -RenderReflectionDetail		1	0 -RenderTerrainDetail			1	0 -RenderTerrainLODFactor		1	1 -RenderTransparentWater		1	0 -RenderTreeLODFactor			1	0 -RenderVolumeLODFactor		1	0.5 -WindLightUseAtmosShaders	1	0 -RenderDeferred				1	0 -RenderDeferredSSAO			1	0 -RenderUseAdvancedAtmospherics 1 0 -RenderShadowDetail			1	0 -WLSkyDetail					1	48 -RenderFSAASamples			1	0 +RenderGLCoreProfile         1   0 +RenderGLMultiThreaded       1   0  //  // Low Graphics Settings @@ -112,7 +83,6 @@ RenderAvatarLODFactor		1	0  RenderAvatarPhysicsLODFactor 1	0  RenderAvatarMaxNonImpostors 1   3  RenderAvatarMaxComplexity          1	35000 -RenderAvatarVP				1	0  RenderFarClip				1	64  RenderFlexTimeFactor		1	0  RenderGlowResolutionPow		1	8 @@ -142,7 +112,6 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	0.5  RenderAvatarMaxComplexity   1	100000  RenderAvatarPhysicsLODFactor 1	0.75 -RenderAvatarVP				1	1  RenderFarClip				1	96  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	8 @@ -172,7 +141,6 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0  RenderAvatarMaxComplexity   1	200000  RenderAvatarPhysicsLODFactor 1	1.0 -RenderAvatarVP				1	1  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -202,7 +170,6 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0  RenderAvatarMaxComplexity   1	250000  RenderAvatarPhysicsLODFactor 1	1.0 -RenderAvatarVP				1	1  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -232,7 +199,6 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0  RenderAvatarMaxComplexity   1	300000  RenderAvatarPhysicsLODFactor 1	1.0 -RenderAvatarVP				1	1  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -262,7 +228,6 @@ RenderAvatarCloth			1	0  RenderAvatarLODFactor		1	1.0  RenderAvatarMaxComplexity   1	350000  RenderAvatarPhysicsLODFactor 1	1.0 -RenderAvatarVP				1	1  RenderFarClip				1	128  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -291,7 +256,6 @@ RenderAnisotropic			1	1  RenderAvatarCloth			1	1  RenderAvatarLODFactor		1	1.0  RenderAvatarPhysicsLODFactor 1	1.0 -RenderAvatarVP				1	1  RenderFarClip				1	256  RenderFlexTimeFactor		1	1.0  RenderGlowResolutionPow		1	9 @@ -316,73 +280,11 @@ RenderFSAASamples			1	2  // Class Unknown Hardware (unknown)  //  list Unknown -RenderVBOEnable				1	0  RenderShadowDetail			1	0  RenderDeferred				1	0  RenderDeferredSSAO			1	0  RenderUseAdvancedAtmospherics 1 0 -// -// Class 0 Hardware (just old) -// -list Class0 -RenderVBOEnable				1	1 - -// -// Class 1 Hardware -// -list Class1 -RenderVBOEnable				1	1 - -// -// Class 2 Hardware -// -list Class2 -RenderVBOEnable				1	1 - -// -// Class 3 Hardware -// -list Class3 -RenderVBOEnable				1	1 - -// -// Class 4 Hardware -// -list Class4 -RenderVBOEnable				1	1 - -// -// Class 5 Hardware -// -list Class5 -RenderVBOEnable				1	1 - -// -// No Pixel Shaders available -// -list NoPixelShaders -RenderAvatarVP				0	0 -RenderAvatarCloth			0	0 -RenderReflectionDetail		0	0 -WindLightUseAtmosShaders	0	0 -RenderDeferred				0	0 -RenderDeferredSSAO			0	0 -RenderUseAdvancedAtmospherics 0 0 -RenderShadowDetail			0	0 - -// -// No Vertex Shaders available -// -list NoVertexShaders -RenderAvatarVP				0	0 -RenderAvatarCloth			0	0 -RenderReflectionDetail		0	0 -WindLightUseAtmosShaders	0	0 -RenderDeferred				0	0 -RenderDeferredSSAO			0	0 -RenderUseAdvancedAtmospherics 0 0 -RenderShadowDetail			0	0  //  // VRAM > 512MB @@ -396,14 +298,12 @@ RenderCompressTextures		1	0  list safe  RenderAnisotropic			1	0  RenderAvatarCloth			0	0 -RenderAvatarVP				0	0  RenderAvatarMaxNonImpostors 1	16  RenderAvatarMaxComplexity          1	80000  RenderObjectBump			0	0  RenderLocalLights			1	0  RenderMaxPartCount			1	1024  RenderTerrainDetail 		1	0 -RenderVBOEnable				1	0  RenderReflectionDetail		0	0  WindLightUseAtmosShaders	0	0  RenderDeferred				0	0 @@ -411,31 +311,10 @@ RenderDeferredSSAO			0	0  RenderUseAdvancedAtmospherics 0 0  RenderShadowDetail			0	0 -// -// CPU based feature masks -// - -// 1Ghz or less (equiv) -list CPUSlow -RenderMaxPartCount			1	1024 - -// -// RAM based feature masks -// -list RAM256MB -RenderObjectBump			0	0 - -// -// Graphics card based feature masks -// -list OpenGLPre15 -RenderVBOEnable				1	0 - -  list TexUnit8orLess  RenderDeferredSSAO			0	0 -list ATI +list AMD  RenderDeferredSSAO			1	0  list Intel @@ -443,195 +322,6 @@ RenderAnisotropic			1	0  RenderLocalLights			1	0  RenderFSAASamples			1	0 -list GeForce2 -RenderAnisotropic			1	0 -RenderLocalLights			1	0 -RenderMaxPartCount			1	2048 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	1 - -list Intel_830M -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_845G					 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_855GM				 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_865G			 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_900		 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_915GM	 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_915G					 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_945GM			 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_945G -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_950 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 -RenderGround				1	0 - -list Intel_965 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 -UseOcclusion				0	0 - -list Intel_G33 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_Bear_Lake	 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_Broadwater  -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_Brookdale	 -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_X3100 -WindLightUseAtmosShaders	0	0 - -list Intel_Montara -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list Intel_Springdale -RenderTerrainDetail			1	0 -RenderVBOEnable				1	0 - -list ATI_Mobility_Radeon_9600 -Disregard96DefaultDrawDistance	1	0 - -list NVIDIA_GeForce_8600 -RenderTextureMemoryMultiple			1	1	 -UseOcclusion				0	0 - -/// tweaked ATI to 96 Draw distance - -list ATI_Radeon_9000 -Disregard96DefaultDrawDistance	1	0 -list ATI_Radeon_9200 -Disregard96DefaultDrawDistance	1	0 -list ATI_Radeon_9500 -Disregard96DefaultDrawDistance	1	0 -list ATI_Radeon_9600 -Disregard96DefaultDrawDistance	1	0 - -/// tweaked ATI to 128 draw distance - -list ATI_Radeon_X300  -Disregard128DefaultDrawDistance	1	0 -list ATI_Radeon_X400  -Disregard128DefaultDrawDistance	1	0 -list ATI_Radeon_X500  -Disregard128DefaultDrawDistance	1	0 -list ATI_Radeon_X600  -Disregard128DefaultDrawDistance	1	0 -list ATI_Radeon_X700  -Disregard128DefaultDrawDistance	1	0 -list ATI_Radeon_X1300  -Disregard128DefaultDrawDistance	1	0 -list ATI_Radeon_X1400  -Disregard128DefaultDrawDistance	1	0 -list ATI_Radeon_X1500  -Disregard128DefaultDrawDistance	1	0 -list ATI_Radeon_X1600  -Disregard128DefaultDrawDistance	1	0 -list ATI_Radeon_X1700  -Disregard128DefaultDrawDistance	1	0 -list ATI_Mobility_Radeon_X1xxx -Disregard128DefaultDrawDistance	1	0 - -/// Tweaked NVIDIA - -list NVIDIA_GeForce_FX_5100 -Disregard96DefaultDrawDistance	1	0 -list NVIDIA_GeForce_FX_5200 -Disregard96DefaultDrawDistance	1	0 -list NVIDIA_GeForce_FX_5500 -Disregard96DefaultDrawDistance	1	0 - -list NVIDIA_GeForce_FX_Go5100 -Disregard96DefaultDrawDistance	1	0 -list NVIDIA_GeForce_FX_Go5200 -Disregard96DefaultDrawDistance	1	0 -list NVIDIA_GeForce_FX_Go5300 -Disregard96DefaultDrawDistance	1	0 -list NVIDIA_GeForce_FX_Go5500 -Disregard96DefaultDrawDistance	1	0 -list NVIDIA_GeForce_FX_Go5600 -Disregard96DefaultDrawDistance	1	0 - -list NVIDIA_GeForce_6100 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_6200 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_6500 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_6600 -Disregard128DefaultDrawDistance	1	0 - - -list NVIDIA_GeForce_Go_6100 -RenderVBOEnable				1	0 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_Go_6200 -RenderVBOEnable				1	0 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_Go_6500 -RenderVBOEnable				1	0 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_Go_6600 -RenderVBOEnable				1	0 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_Go_6700 -RenderVBOEnable				1	0 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_Go_6800 -RenderVBOEnable				1	0 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_Go_6 -RenderVBOEnable				1	0 -Disregard128DefaultDrawDistance	1	0 - -list NVIDIA_GeForce_7200 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_7300 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_7400 -Disregard128DefaultDrawDistance	1	0 - -list NVIDIA_GeForce_Go_7200 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_Go_7300 -Disregard128DefaultDrawDistance	1	0 -list NVIDIA_GeForce_Go_7400 -Disregard128DefaultDrawDistance	1	0 -  list OSX_10_6_8  RenderDeferred 0 0 diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index a5d32ba243..22d986a27e 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1104,7 +1104,7 @@ bool LLAppViewer::init()  		{  			url = LLTrans::getString("NvidiaDriverPage");  		} -		else if (gGLManager.mIsATI) +		else if (gGLManager.mIsAMD)  		{  			url = LLTrans::getString("AMDDriverPage");  		} diff --git a/indra/newview/lldynamictexture.cpp b/indra/newview/lldynamictexture.cpp index 31ca2531ba..63e7887d81 100644 --- a/indra/newview/lldynamictexture.cpp +++ b/indra/newview/lldynamictexture.cpp @@ -125,7 +125,7 @@ void LLViewerDynamicTexture::preRender(BOOL clear_depth)  		llassert(mFullHeight <= static_cast<S32>(gPipeline.mPhysicsDisplay.getHeight()));  	} -	if (gGLManager.mHasFramebufferObject && gPipeline.mPhysicsDisplay.isComplete() && !gGLManager.mIsATI) +	if (gGLManager.mHasFramebufferObject && gPipeline.mPhysicsDisplay.isComplete() && !gGLManager.mIsAMD)  	{ //using offscreen render target, just use the bottom left corner  		mOrigin.set(0, 0);  	} @@ -212,7 +212,7 @@ BOOL LLViewerDynamicTexture::updateAllInstances()  		return TRUE;  	} -	bool use_fbo = gGLManager.mHasFramebufferObject && gPipeline.mBake.isComplete() && !gGLManager.mIsATI; +	bool use_fbo = gGLManager.mHasFramebufferObject && gPipeline.mBake.isComplete() && !gGLManager.mIsAMD;  	if (use_fbo)  	{ diff --git a/indra/newview/llfeaturemanager.cpp b/indra/newview/llfeaturemanager.cpp index 98c8531cd6..47bc666083 100644 --- a/indra/newview/llfeaturemanager.cpp +++ b/indra/newview/llfeaturemanager.cpp @@ -607,22 +607,6 @@ void LLFeatureManager::setGraphicsLevel(U32 level, bool skipFeatures)      // if we're passed an invalid level, default to "Low"      std::string features(isValidGraphicsLevel(level)? getNameForGraphicsLevel(level) : "Low"); -    if (features == "Low") -    { -#if LL_DARWIN -        // This Mac-specific change is to insure that we force 'Basic Shaders' for all Mac -        // systems which support them instead of falling back to fixed-function unnecessarily -        // MAINT-2157 -        if (gGLManager.mGLVersion < 2.1f) -#else -        // only use fixed function by default if GL version < 3.0 or this is an intel graphics chip -        if (gGLManager.mGLVersion < 3.f || gGLManager.mIsIntel) -#endif -        { -            // same as Low, but with "Basic Shaders" disabled -            features = "LowFixedFunction"; -        } -    }      maskFeatures(features); @@ -670,42 +654,18 @@ void LLFeatureManager::applyBaseMasks()  	}  	// now all those wacky ones -	if (!mGPUSupported) -	{ -		maskFeatures("NoVertexShaders"); -	}  	if (gGLManager.mIsNVIDIA)  	{  		maskFeatures("NVIDIA");  	} -	if (gGLManager.mIsGF2or4MX) -	{ -		maskFeatures("GeForce2"); -	} -	if (gGLManager.mIsATI) +	if (gGLManager.mIsAMD)  	{ -		maskFeatures("ATI"); -	} -	if (gGLManager.mHasATIMemInfo && gGLManager.mVRAM < 256) -	{ -		maskFeatures("ATIVramLT256"); -	} -	if (gGLManager.mATIOldDriver) -	{ -		maskFeatures("ATIOldDriver"); -	} -	if (gGLManager.mIsGFFX) -	{ -		maskFeatures("GeForceFX"); +		maskFeatures("AMD");  	}  	if (gGLManager.mIsIntel)  	{  		maskFeatures("Intel");  	} -	if (gGLManager.mGLVersion < 1.5f) -	{ -		maskFeatures("OpenGLPre15"); -	}  	if (gGLManager.mGLVersion < 3.f)  	{  		maskFeatures("OpenGLPre30"); @@ -745,17 +705,6 @@ void LLFeatureManager::applyBaseMasks()  	//LL_INFOS() << "Masking features from gpu table match: " << gpustr << LL_ENDL;  	maskFeatures(gpustr); -	// now mask cpu type ones -	if (gSysMemory.getPhysicalMemoryKB() <= U32Megabytes(256)) -	{ -		maskFeatures("RAM256MB"); -	} -	 -	if (gSysCPU.getMHz() < 1100) -	{ -		maskFeatures("CPUSlow"); -	} -  	if (isSafe())  	{  		maskFeatures("safe"); diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp index 0b5064c77d..175f1849cf 100644 --- a/indra/newview/llglsandbox.cpp +++ b/indra/newview/llglsandbox.cpp @@ -1115,6 +1115,7 @@ F32 gpu_benchmark()  	// ensure matched pair of bind() and unbind() calls  	ShaderBinder binder(gBenchmarkProgram); +#ifdef GL_ARB_vertex_array_object      U32 glarray = 0;      if (LLRender::sGLCoreProfile) @@ -1122,6 +1123,7 @@ F32 gpu_benchmark()          glGenVertexArrays(1, &glarray);          glBindVertexArray(glarray);      } +#endif  	buff->setBuffer(LLVertexBuffer::MAP_VERTEX);  	glFinish(); @@ -1155,11 +1157,13 @@ F32 gpu_benchmark()  		}  	} +#ifdef GL_ARB_vertex_array_object      if (LLRender::sGLCoreProfile)      {          glBindVertexArray(0);          glDeleteVertexArrays(1, &glarray);      } +#endif  	std::sort(results.begin(), results.end()); diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 37ed2e9f20..1e0dd2df51 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1633,8 +1633,7 @@ void LLViewerFetchedTexture::scheduleCreateTexture()          if (preCreateTexture())          {              mNeedsCreateTexture = TRUE; -#if LL_WINDOWS //flip to 0 to revert to single-threaded OpenGL texture uploads -            auto mainq = mMainQueue.lock(); +            auto mainq = LLImageGLThread::sEnabled ? mMainQueue.lock() : nullptr;              if (mainq)              {                  mainq->postTo( @@ -1660,7 +1659,6 @@ void LLViewerFetchedTexture::scheduleCreateTexture()                      });              }              else -#endif              {                  gTextureList.mCreateTextureList.insert(this);                  unref(); diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index fe26cd67a4..dc506d325b 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -1361,7 +1361,7 @@ S32Megabytes LLViewerTextureList::getMaxVideoRamSetting(bool get_recommended, fl  		//  - it's going to be swapping constantly regardless  		S32Megabytes max_vram(gGLManager.mVRAM); -		if(gGLManager.mIsATI) +		if(gGLManager.mIsAMD)  		{  			//shrink the availabe vram for ATI cards because some of them do not handel texture swapping well.  			max_vram = max_vram * 0.75f;  diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 6462ec019b..46204bc642 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -2022,7 +2022,7 @@ LLViewerWindow::LLViewerWindow(const Params& p)  	// Init the image list.  Must happen after GL is initialized and before the images that  	// LLViewerWindow needs are requested. -	LLImageGL::initClass(mWindow, LLViewerTexture::MAX_GL_IMAGE_CATEGORY) ; +	LLImageGL::initClass(mWindow, LLViewerTexture::MAX_GL_IMAGE_CATEGORY, false, gSavedSettings.getBOOL("RenderGLMultiThreaded"));  	gTextureList.init();  	LLViewerTextureManager::init() ;  	gBumpImageList.init(); diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index df676b30fc..d3b2443116 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -890,7 +890,7 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)  		if (!addDeferredAttachments(mDeferredScreen)) return false;  		GLuint screenFormat = GL_RGBA16; -		if (gGLManager.mIsATI) +		if (gGLManager.mIsAMD)  		{  			screenFormat = GL_RGBA12;  		}  | 
