From da94c0eaa2ce2711f0ae26968e87ef3e409126a9 Mon Sep 17 00:00:00 2001 From: Steven Bennetts Date: Fri, 12 Sep 2008 06:27:13 +0000 Subject: QAR-855 Viewer 1.21 RC 2 merge viewer_1-21 94770-96059 -> release --- indra/llrender/llgl.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'indra/llrender/llgl.cpp') diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp index 42beddc5c7..570a0cbed1 100644 --- a/indra/llrender/llgl.cpp +++ b/indra/llrender/llgl.cpp @@ -60,6 +60,8 @@ BOOL gClothRipple = FALSE; BOOL gNoRender = FALSE; LLMatrix4 gGLObliqueProjectionInverse; +#define LL_GL_NAME_POOLING 0 + LLGLNamePool::pool_list_t LLGLNamePool::sInstances; #if (LL_WINDOWS || LL_LINUX) && !LL_MESA_HEADLESS @@ -1627,6 +1629,7 @@ void LLGLNamePool::cleanup() GLuint LLGLNamePool::allocate() { +#if LL_GL_NAME_POOLING for (name_list_t::iterator iter = mNameList.begin(); iter != mNameList.end(); ++iter) { if (!iter->used) @@ -1642,18 +1645,33 @@ GLuint LLGLNamePool::allocate() mNameList.push_back(entry); return entry.name; +#else + return allocateName(); +#endif } void LLGLNamePool::release(GLuint name) { +#if LL_GL_NAME_POOLING for (name_list_t::iterator iter = mNameList.begin(); iter != mNameList.end(); ++iter) { if (iter->name == name) { - iter->used = FALSE; - return; + if (iter->used) + { + iter->used = FALSE; + return; + } + else + { + llerrs << "Attempted to release a pooled name that is not in use!" << llendl; + } } } + llerrs << "Attempted to release a non pooled name!" << llendl; +#else + releaseName(name); +#endif } //static -- cgit v1.2.3