diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp index be4c15a991..19d0af9f6f 100644 --- a/indra/llrender/llimagegl.cpp +++ b/indra/llrender/llimagegl.cpp @@ -1125,47 +1125,54 @@ void LLImageGL::deleteTextures(LLTexUnit::eTextureType type, U32 format, S32 mip { if (gGLManager.mInited) { - switch (format) - { - case 0: + // user-defined names was deprecated with OpenGL 3.1. Just generate/delete using OpenGL function. - // We get ARB errors in debug when attempting to use glTexImage2D with these deprecated pix formats - // - case GL_LUMINANCE8: - case GL_INTENSITY8: - case GL_ALPHA8: - glDeleteTextures(numTextures, textures); - break; + // switch (format) + // { + // case 0: + // + // // We get ARB errors in debug when attempting to use glTexImage2D with these deprecated pix formats + // // + // case GL_LUMINANCE8: + // case GL_INTENSITY8: + // case GL_ALPHA8: + // glDeleteTextures(numTextures, textures); + // break; + // + // default: + // { + // if (type == LLTexUnit::TT_CUBE_MAP || mip_levels == -1) + // { //unknown internal format or unknown number of mip levels, not safe to reuse + // glDeleteTextures(numTextures, textures); + // } + // else + // { + // for (S32 i = 0; i < numTextures; ++i) + // { //remove texture from VRAM by setting its size to zero + // + // for (S32 j = 0; j <= mip_levels; j++) + // { + // gGL.getTexUnit(0)->bindManual(type, textures[i]); + // U32 internal_type = LLTexUnit::getInternalType(type); + // glTexImage2D(internal_type, j, format, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); + // stop_glerror(); + // } + // + // llassert(std::find(sDeadTextureList[type][format].begin(), + // sDeadTextureList[type][format].end(), textures[i]) == + // sDeadTextureList[type][format].end()); + // + // sDeadTextureList[type][format].push_back(textures[i]); + // } + // } + // } + // break; + // } - default: - { - if (type == LLTexUnit::TT_CUBE_MAP || mip_levels == -1) - { //unknown internal format or unknown number of mip levels, not safe to reuse - glDeleteTextures(numTextures, textures); - } - else - { - for (S32 i = 0; i < numTextures; ++i) - { //remove texture from VRAM by setting its size to zero + glDeleteTextures(numTextures, textures); - for (S32 j = 0; j <= mip_levels; j++) - { - gGL.getTexUnit(0)->bindManual(type, textures[i]); - U32 internal_type = LLTexUnit::getInternalType(type); - glTexImage2D(internal_type, j, format, 0, 0, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); - stop_glerror(); - } + // - llassert(std::find(sDeadTextureList[type][format].begin(), - sDeadTextureList[type][format].end(), textures[i]) == - sDeadTextureList[type][format].end()); - - sDeadTextureList[type][format].push_back(textures[i]); - } - } - } - break; - } } /*if (immediate)