Bug 602183 - Crash [@ atioglxx.dll@0x15a1d3 ] on certain site - r=joe, a=blocking2.0-b7

This commit is contained in:
Benoit Jacob 2010-10-06 16:43:21 -04:00
Родитель d2f73f0c68
Коммит 97172a9236
1 изменённых файлов: 15 добавлений и 4 удалений

Просмотреть файл

@ -451,10 +451,21 @@ WebGLContext::InitAndValidateGL()
// specifically enabled on desktop GLSL.
gl->fEnable(LOCAL_GL_VERTEX_PROGRAM_POINT_SIZE);
// gl_PointCoord is always available in ES2 GLSL and in newer desktop GLSL versions, but apparently
// not in OpenGL 2 and apparently not (due to a driver bug) on certain NVIDIA setups. See:
// http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=261472
gl->fEnable(LOCAL_GL_POINT_SPRITE);
// we don't do the following glEnable(GL_POINT_SPRITE) on ATI cards on Windows, because bug 602183 shows that it causes
// crashes in the ATI/Windows driver; and point sprites on ATI seem like a lost cause anyway, see
// http://www.gamedev.net/community/forums/topic.asp?topic_id=525643
// Also, if the ATI/Windows driver implements a recent GL spec version, this shouldn't be needed anyway.
#ifdef XP_WIN
if (gl->Vendor() != GLContext::VendorATI))
#else
if (true)
#endif
{
// gl_PointCoord is always available in ES2 GLSL and in newer desktop GLSL versions, but apparently
// not in OpenGL 2 and apparently not (due to a driver bug) on certain NVIDIA setups. See:
// http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=261472
gl->fEnable(LOCAL_GL_POINT_SPRITE);
}
}
// Check the shader validator pref