Hi there, I received some crash reports on FlightGear/OSG from a user who uses nVidia 7300GT on Macs. Debugging on an iMac gave me that hardware mipmapping on its driver caused the crash. so I once made a "fix-it-only-for-this-issue" kinda patch that simply disable hardware mipmapping when the renderer is "NVIDIA GeForce 7300GT OpenGL Engine, " and that actually fixed the problem. (see http://www.mail-archive.com/[EMAIL PROTECTED]/msg18674.html for more detail on this problem and the patch.)
However, I'm wondering if users can disable hardware extensions to avoid such
problems.
I tried
OSG_GL_EXTENSION_DISABLE="GL_SGIS_generate_mipmap;GL_EXT_framebuffer_object"
but nothing happened.
Taking a look at Texture.cpp tells me you can never disable hardware extensions
if your OpenGL driver version >= 1.4 (or 2.0)
It calls isGLExtensionSupported to check if an extension is supported but these
will never called.
For example, the following code is for checking hardware mipmapping extension:
_isGenerateMipMapSupported = (strncmp((const
char*)glGetString(GL_VERSION),"1.4",3)>=0) ||
isGLExtensionSupported(contextID,"GL_SGIS_generate_mipmap");
This means that isGLExtensionSupported will never be called when GL_VERSION >=
1.4, resulting that you cannot disable it
since environment variable is evaluated in isGLExtensionSupported.
Attached is the patch to make hardware extensions disabled using the
environment variable.
I'm not so sure on the real purpose of the OR logic in the if statement above,
but it is good to give users a choice.
Can anyone test this and check if this is a right solution?
Best,
Tat
Texture_disable_extensions.diff
Description: Binary data
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

