diff options
| author | Todd Stinson <stinson@lindenlab.com> | 2012-04-03 11:06:33 -0700 |
|---|---|---|
| committer | Todd Stinson <stinson@lindenlab.com> | 2012-04-03 11:06:33 -0700 |
| commit | 36a0a58487063152d8aacdeb22060025fe0021c7 (patch) | |
| tree | 58a59dee2b88e1e51391987b157a37b3c8cd710b /indra/llrender/llglslshader.cpp | |
| parent | 8b5b0ace9bfb83540fbc73376b639180d6d63a3b (diff) | |
| parent | fa6add3fcd300b21142e3381f35851b3404ee02a (diff) | |
Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-development.
Diffstat (limited to 'indra/llrender/llglslshader.cpp')
| -rw-r--r-- | indra/llrender/llglslshader.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/indra/llrender/llglslshader.cpp b/indra/llrender/llglslshader.cpp index 3773568ad8..4b7e639aed 100644 --- a/indra/llrender/llglslshader.cpp +++ b/indra/llrender/llglslshader.cpp @@ -109,7 +109,12 @@ void LLGLSLShader::unload() glGetAttachedObjectsARB(mProgramObject, 1024, &count, obj); for (GLsizei i = 0; i < count; i++) { - glDeleteObjectARB(obj[i]); +#if !LL_DARWIN + if (glIsProgramARB(obj[i])) +#endif + { + glDeleteObjectARB(obj[i]); + } } glDeleteObjectARB(mProgramObject); @@ -161,8 +166,9 @@ BOOL LLGLSLShader::createShader(vector<string> * attributes, return FALSE; } - if (gGLManager.mGLVersion < 3.1f) - { //attachShaderFeatures may have set the number of indexed texture channels, so set to 1 again + if (gGLManager.mGLSLVersionMajor < 2 && gGLManager.mGLSLVersionMinor < 3) + { //indexed texture rendering requires GLSL 1.3 or later + //attachShaderFeatures may have set the number of indexed texture channels, so set to 1 again mFeatures.mIndexedTextureChannels = llmin(mFeatures.mIndexedTextureChannels, 1); } |
