SL-16202 Put Multi-threaded GL behind a feature flag and update featuretable (decruftify settings, compatibility pass).
parent
e7830b39f0
commit
5e5be92d79
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 );
|
||||
|
|
|
|||
|
|
@ -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" );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -1104,7 +1104,7 @@ bool LLAppViewer::init()
|
|||
{
|
||||
url = LLTrans::getString("NvidiaDriverPage");
|
||||
}
|
||||
else if (gGLManager.mIsATI)
|
||||
else if (gGLManager.mIsAMD)
|
||||
{
|
||||
url = LLTrans::getString("AMDDriverPage");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
if (gGLManager.mIsAMD)
|
||||
{
|
||||
maskFeatures("GeForce2");
|
||||
}
|
||||
if (gGLManager.mIsATI)
|
||||
{
|
||||
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");
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue