🪰 Viewer Bug Reports

• Use concise, precise descriptions• Do not include sensitive information. • Create a support ticket at https://support.secondlife.com for individual account issues or sensitive information.
OpenGL Error in lldrawpoolwater.cpp
As an effort to chase down opengl errors while working on megapahit, i found this one among others that i could fix, but this one, i am not sure what to do with it : so this is in lldrawpoolwater.cpp, lines 209 and 210. shader->bindTexture(LLViewerShaderMgr::BUMP_MAP, tex_a); this line is binding the texture it calls a bindfast()), then the next line will set its filtering options: tex_a->setFilteringOption(filter_mode); Problem is, when transparent water is turned OFF, this call will generate an invalid_enum error in llrender.cpp : void LLTexUnit::setTextureFilteringOption(....) The reason why is, when it's called and the transparent water options is OFF, the mCurrTexType is equal to TT_NONE, which indicates the texture unit isn't active. subsequent calls to glTexParameteri(...) generate an invalid_enum error, since the target is invalid (sGLTextureType[mCurrTexType]). So it appears, for some reason shader->bindTexture(LLViewerShaderMgr::BUMP_MAP, tex_a); doesn't succeed at enabling the texture. I saw this on Mac, i can't say if it happens on other platforms. Also i didn't "explicitly" see this error in SLv, but it's most certainly present as the relative code in megapahit is identical and based on 7.1.15. This has been around for several updates ( at least 7.1.13 ), i couldn't say if older. In some cases it leads to performance drop when water transparency is OFF, but .. not always ... might depend on a combination of settings. I thought i would share this as the engineers who worked on this would certainly know better than me.
3
Ā·

tracked

Load More
→