summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2011-10-11 15:11:52 -0500
committerDave Parks <davep@lindenlab.com>2011-10-11 15:11:52 -0500
commit9a0bb3d871d476d43edc6c7a29f6bedff1c45247 (patch)
tree728116b1670efa6c257a357f320e4f6f351ff3aa /indra
parent2322c57b4dd2b4338eec2ca9db2425eff4bfd6d5 (diff)
SH-2510 Never use shaders if gl version < 2.0
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llviewershadermgr.cpp17
1 files changed, 7 insertions, 10 deletions
diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp
index 80727764c1..31ed210ae3 100644
--- a/indra/newview/llviewershadermgr.cpp
+++ b/indra/newview/llviewershadermgr.cpp
@@ -357,6 +357,7 @@ void LLViewerShaderMgr::setShaders()
LLGLSLShader::sIndexedTextureChannels = llmax(llmin(gGLManager.mNumTextureImageUnits, (S32) gSavedSettings.getU32("RenderMaxTextureIndex")), 1);
+ reentrance = true;
if (LLRender::sGLCoreProfile || gGLManager.mGLVersion >= 2.f)
{ //ALWAYS use shaders where available
@@ -364,19 +365,15 @@ void LLViewerShaderMgr::setShaders()
{ //vertex shaders MUST be enabled to use core profile
gSavedSettings.setBOOL("VertexShaderEnable", TRUE);
}
-
- if (!gSavedSettings.getBOOL("RenderTransparentWater"))
- { //non-transparent water uses fixed function
- gSavedSettings.setBOOL("RenderTransparentWater", TRUE);
- }
}
-
-
+ else if (gGLManager.mGLVersion < 2.f)
+ { //NEVER use shaders on a pre 2.0 context
+ gSavedSettings.setBOOL("VertexShaderEnable", FALSE);
+ }
+
//setup preprocessor definitions
LLShaderMgr::instance()->mDefinitions["NUM_TEX_UNITS"] = llformat("%d", gGLManager.mNumTextureImageUnits);
-
- reentrance = true;
-
+
// Make sure the compiled shader map is cleared before we recompile shaders.
mShaderObjects.clear();