Reduced LL's leakage of program/shader objects, drastically.

Re-structured some shader loading/unloading handling.

These changes are pretty experimental. I'll be holding off of tweaking the paramater managers(among other things) until I know if this stuff is working correctly.
This commit is contained in:
Shyotl
2011-02-10 18:21:38 -06:00
parent d0feea7ed7
commit 7d3e9723c3
6 changed files with 151 additions and 216 deletions

View File

@@ -67,7 +67,7 @@ public:
SG_WATER
};
LLGLSLShader();
LLGLSLShader(S32 shader_class);
void unload();
BOOL createShader(std::vector<std::string> * attributes,
@@ -134,6 +134,7 @@ public:
std::map<GLint, LLVector4> mValue; //lookup map of uniform location to last known value
std::vector<GLint> mTexture;
S32 mActiveTextureChannels;
S32 mShaderClass;
S32 mShaderLevel;
S32 mShaderGroup;
BOOL mUniformsDirty;